Amazon SageMaker JumpStart mudelid ja algoritmid on nüüd saadaval API PlatoBlockchain Data Intelligence kaudu. Vertikaalne otsing. Ai.

Amazon SageMaker JumpStart mudelid ja algoritmid on nüüd saadaval API kaudu

Detsembris 2020, AWS teatas üldisest saadavusest of Amazon SageMaker JumpStart, võime Amazon SageMaker mis aitab teil masinõppega (ML) kiiresti ja lihtsalt alustada. JumpStart pakub ühe klõpsuga peenhäälestamist ja paljude eelkoolitatud mudelite juurutamist populaarsete ML-ülesannete jaoks, samuti valikut täislahendusi, mis lahendavad levinud äriprobleeme. Need funktsioonid eemaldavad ML-protsessi iga etapi raskused, muutes kvaliteetsete mudelite väljatöötamise lihtsamaks ja lühendades kasutuselevõtuks kuluvat aega.

Varem oli kogu KiirStardi sisu saadaval ainult läbi Amazon SageMaker Studio, mis annab a kasutajasõbralik graafiline liides funktsiooniga suhtlemiseks. Täna teatame rõõmuga hõlpsasti kasutatava rakenduse turuletoomisest KiirStardi API-d SageMaker Python SDK laiendusena. Need API-d võimaldavad teil programmiliselt juurutada ja viimistleda suurt valikut JumpStarti toetatud eelkoolitatud mudeleid teie enda andmekogumites. See käivitamine avab JumpStarti võimaluste kasutamise teie koodi töövoogudes, MLOps-i torustikes ja kõikjal mujal, kus SageMakeriga SDK kaudu suhtlete.

Selles postituses pakume värskendust JumpStarti võimaluste hetkeseisu kohta ja juhendame teid JumpStart API kasutusvoos koos näidiskasutusjuhtumiga.

KiirStardi ülevaade

JumpStart on mitmekülgne toode, mis sisaldab erinevaid võimalusi, mis aitavad teil SageMakeris ML-iga kiiresti alustada. Kirjutamise ajal võimaldab JumpStart teha järgmist.

  • Kasutage tavaliste ML-ülesannete jaoks eelkoolitatud mudeleid – JumpStart võimaldab teil lahendada levinumaid ML-ülesandeid ilma arendustegevuseta, pakkudes avalikult kättesaadavatel suurtel andmekogudel eelkoolitatud mudelite hõlpsat juurutamist. ML-i teadlaskond on teinud palju pingutusi, et muuta enamik hiljuti välja töötatud mudeleid kasutamiseks avalikult kättesaadavaks. JumpStart majutab enam kui 300 mudelit, mis hõlmab 15 kõige populaarsemat ML-ülesannet, nagu objektide tuvastamine, teksti klassifitseerimine ja teksti genereerimine, muutes algajatele nende kasutamise lihtsaks. Need mudelid on koostatud populaarsetest mudelijaoturitest, nagu TensorFlow, PyTorch, Hugging Face ja MXNet Hub.
  • Eelkoolitatud mudelite peenhäälestus - JumpStart võimaldab teil eelkoolitatud mudeleid peenhäälestada, ilma et oleks vaja oma treeningalgoritmi kirjutada. ML-is nimetatakse võimalust ühest valdkonnast õpitud teadmisi teise valdkonda üle kanda ülekandmisõpe. Saate kasutada ülekandeõpet, et luua oma väiksemate andmekogumite põhjal täpseid mudeleid, mille koolituskulud on palju väiksemad kui algmudeli nullist väljaõpetamisel. JumpStart sisaldab ka populaarseid LightGBM-il, CatBoostil, XGBoostil ja Scikit-learnil põhinevaid treeningalgoritme, mida saate nullist treenida andmete tabeli regressiooni ja klassifitseerimise jaoks.
  • Kasutage valmislahendusi - KiirStart pakub komplekti 17 eelehitatud lahendust tavaliste ML kasutusjuhtude jaoks, nagu nõudluse prognoosimine ning tööstus- ja finantsrakendused, mida saate juurutada vaid mõne klõpsuga. Lahendused on täielikud ML-rakendused, mis ühendavad erinevaid AWS-teenuseid konkreetse ärilise kasutusjuhtumi lahendamiseks. Nad kasutavad AWS CloudFormation malle ja viitearhitektuure kiireks juurutamiseks, mis tähendab, et need on täielikult kohandatavad.
  • Kasutage SageMakeri algoritmide jaoks märkmiku näiteid - SageMaker pakub komplekti sisseehitatud algoritmid et aidata andmeteadlastel ja ML-i praktikutel ML-mudelite koolitamist ja kasutuselevõttu kiiresti alustada. JumpStart pakub näidismärkmikke, mida saate nende algoritmide kiireks kasutamiseks kasutada.
  • Kasutage koolitusvideoid ja blogisid – JumpStart pakub ka arvukalt ajaveebipostitusi ja videoid, mis õpetavad kasutama SageMakeri erinevaid funktsioone.

JumpStart aktsepteerib kohandatud VPC-sätteid ja KMS-i krüpteerimisvõtmeid, et saaksite saadaolevaid mudeleid ja lahendusi oma ettevõtte keskkonnas turvaliselt kasutada. Saate oma turvaseaded edastada JumpStartile SageMaker Studio või SageMaker Python SDK kaudu.

KiirStardi toetatud ML-ülesanded ja API-näidismärkmikud

KiirStart toetab praegu 15 kõige populaarsemat ML-ülesannet; Neist 13 on visiooni- ja NLP-põhised ülesanded, millest 8 toetab koodita peenhäälestust. Samuti toetab see nelja populaarset tabeliandmete modelleerimise algoritmi. Ülesanded ja nende näidismärkmike lingid on kokku võetud järgmises tabelis.

Ülesanne Järeldus eelkoolitatud mudelite põhjal Kohandatud andmestiku koolitus Toetatud raamistikud Näidismärkmikud
Piltide klassifikatsioon jah jah PyTorch, TensorFlow JumpStarti sissejuhatus – piltide klassifitseerimine
Objekti tuvastamine jah jah PyTorch, TensorFlow, MXNet KiirStardi sissejuhatus – objektide tuvastamine
Semantiline segmenteerimine jah jah MX Net KiirStardi sissejuhatus – semantiline segmenteerimine
Eksemplari segmentimine jah ei MX Net KiirStardi sissejuhatus – eksemplaride segmenteerimine
Pildi manustamine jah ei TensorFlow, MXNet KiirStardi sissejuhatus – pildi manustamine
Teksti liigitus jah jah TensorFlow KiirStardi sissejuhatus – teksti klassifitseerimine
Lausepaaride klassifikatsioon jah jah TensorFlow, kallistav nägu KiirStardi sissejuhatus – lausepaaride klassifikatsioon
Küsimusele vastamine jah jah PyTorch KiirStardi sissejuhatus – küsimustele vastamine
Nimega üksuse tunnustamine jah ei Kallistav nägu KiirStardi sissejuhatus – nimega olemi tuvastamine
Teksti kokkuvõte jah ei Kallistav nägu KiirStardi sissejuhatus – teksti kokkuvõte
Teksti genereerimine jah ei Kallistav nägu KiirStardi sissejuhatus – teksti genereerimine
Masintõlge jah ei Kallistav nägu JumpStart – masintõlke tutvustus
Teksti manustamine jah ei TensorFlow, MXNet KiirStardi sissejuhatus – teksti manustamine
Tabeliline klassifikatsioon jah jah LightGBM, CatBoost, XGBoost, lineaarne õppija JumpStarti sissejuhatus – tabeliklassifikatsioon – LightGBM, CatBoost
JumpStarti sissejuhatus – tabeliline klassifikatsioon – XGBoost, lineaarne õppija
Tabeliline regressioon jah jah LightGBM, CatBoost, XGBoost, lineaarne õppija JumpStarti sissejuhatus – tabeliregressioon – LightGBM, CatBoost
KiirStardi sissejuhatus – tabeliregressioon – XGBoost, lineaarne õppija

Sõltuvalt ülesandest võivad eelmises tabelis lingitud näidismärkmikud teid juhendada kõigi järgmiste protsesside või nende alamhulga puhul.

  • Valige oma konkreetse ülesande jaoks JumpStarti toetatud eelkoolitatud mudel.
  • Hostige eelkoolitatud mudel, hankige sellest reaalajas ennustusi ja kuvage tulemusi adekvaatselt.
  • Viimistlege eelkoolitatud mudelit oma hüperparameetrite valikuga ja juurutage see järelduste tegemiseks.

Täpsustage ja juurutage objekti tuvastamise mudel JumpStart API-dega

Järgmistes jaotistes anname samm-sammult ülevaate uute JumpStart API-de kasutamisest objektide tuvastamise tüüpilises ülesandes. Näitame, kuidas kasutada eelkoolitatud objektituvastusmudelit, et identifitseerida objektid eelmääratletud klasside komplektist pildil piirdekastidega. Lõpuks näitame, kuidas peenhäälestada oma andmestikul eelkoolitatud mudelit, et tuvastada piltidelt objekte, mis vastavad teie ettevõtte vajadustele, tuues lihtsalt oma andmed. Pakume an kaasas olev märkmik selle ülevaate jaoks.

Läbime järgmised kõrgetasemelised sammud:

  1. Tehke eelkoolitatud mudeli põhjal järeldused.
    1. Tooge JumpStarti artefaktid ja juurutage lõpp-punkt.
    2. Esitage päring lõpp-punkti kohta, sõeluge vastust ja kuvage mudeli ennustused.
  2. Viimistlege eelkoolitatud mudelit oma andmestiku põhjal.
    1. Treeningute artefaktide hankimine.
    2. Jooksu treening.

Tehke eelkoolitatud mudeli põhjal järeldused

Selles jaotises valime JumpStartis sobiva eelkoolitatud mudeli, juurutame selle mudeli SageMakeri lõpp-punktis ja näitame, kuidas juurutatud lõpp-punktist järeldusi teha. Kõik sammud on saadaval aadressil kaasas olev Jupyteri märkmik.

Tooge JumpStarti artefaktid ja juurutage lõpp-punkt

SageMaker on Dockeri konteineritel põhinev platvorm. KiirStart kasutab saadaolevat raamistikupõhist SageMakeri süvaõppekonteinerid (DLC-d). Toome kõik lisapaketid ja skriptid valitud ülesande treenimiseks ja järelduste tegemiseks. Lõpuks tuuakse eelkoolitatud mudeliartefaktid eraldi model_uris, mis pakub platvormile paindlikkust. Saate ühe koolituse või järeldusskriptiga kasutada mis tahes arvu mudeleid, mis on sama ülesande jaoks eelnevalt koolitatud. Vaadake järgmist koodi:

infer_model_id, infer_model_version = "pytorch-od-nvidia-ssd", "*" # Retrieve the inference docker container uri. This is the base container PyTorch image for the model selected above. deploy_image_uri = image_uris.retrieve(region=None, framework=None, image_scope="inference",model_id=infer_model_id, model_version=infer_model_version, instance_type=inference_instance_type) # Retrieve the inference script uri. This includes all dependencies and scripts for model loading, inference handling etc.
deploy_source_uri = script_uris.retrieve(model_id=infer_model_id, model_version=infer_model_version, script_scope="inference") # Retrieve the base model uri. This includes the pre-trained nvidia-ssd model and parameters.
base_model_uri = model_uris.retrieve(model_id=infer_model_id, model_version=infer_model_version, model_scope="inference")

Järgmisena söötame ressursid a SageMakeri mudel eksemplar ja juurutage lõpp-punkt:

# Create the SageMaker model instance
model = Model(image_uri=deploy_image_uri, source_dir=deploy_source_uri, model_data=base_model_uri, entry_point="inference.py", role=aws_role, predictor_cls=Predictor, name=endpoint_name) # deploy the Model. Note that we need to pass Predictor class when we deploy model through Model class for being able to run inference through the sagemaker API.
base_model_predictor = model.deploy(initial_instance_count=1, instance_type=inference_instance_type, predictor_cls=Predictor, endpoint_name=endpoint_name)

Lõpp-punkti juurutamise lõpuleviimiseks võib kuluda mõni minut.

Esitage lõpp-punkti päring, sõeluge vastust ja kuvage ennustused

Juurutatud mudeli põhjal järelduste tegemiseks tuleb sisendkujutis esitada binaarvormingus koos aktsepteerimistüübiga. KiirStartis saate määrata tagastatavate piirdekastide arvu. Järgmises koodilõigul ennustame lisamise teel kümmet piirdekasti pildi kohta ;n_predictions=10 et Accept. Xx-kasti ennustamiseks saate selle muuta ;n_predictions=xx või hankige kõik ennustatud kastid väljajättes ;n_predictions=xx täielikult.

def query(model_predictor, image_file_name): with open(image_file_name, "rb") as file: input_img_rb = file.read() return model_predictor.predict(input_img_rb,{ "ContentType": "application/x-image", "Accept": "application/json;verbose;n_predictions=10"}) query_response = query(base_model_predictor, Naxos_Taverna)

Järgmine koodilõik annab teile ülevaate sellest, kuidas objekti tuvastamine välja näeb. Iga objektiklassi jaoks ennustatud tõenäosus visualiseeritakse koos selle piirdekastiga. Me kasutame parse_response ja display_predictions abifunktsioonid, mis on määratletud kaasasolevas märkmik.

normalized_boxes, classes_names, confidences = parse_response(query_response)
display_predictions(Naxos_Taverna, normalized_boxes, classes_names, confidences)

Järgmine ekraanipilt näitab ennustussiltide ja piirdekastidega pildi väljundit.

Amazon SageMaker JumpStart mudelid ja algoritmid on nüüd saadaval API PlatoBlockchain Data Intelligence kaudu. Vertikaalne otsing. Ai.

Viimistlege eelnevalt koolitatud mudelit oma andmestiku põhjal

JumpStarti olemasolevad objektituvastusmudelid on eelnevalt koolitatud kas COCO või VOC andmekogumite osas. Kui teil on aga vaja tuvastada objektiklassid, mida algses koolituseelses andmekogumis ei eksisteeri, peate mudelit täpsustama uues andmestikus, mis sisaldab neid uusi objektitüüpe. Näiteks kui teil on vaja tuvastada köögiriistad ja teha järeldusi juurutatud eelkoolitatud SSD-mudeli kohta, ei tuvasta mudel uute pilditüüpide omadusi ja seetõttu on väljund vale.

Selles jaotises näitame, kui lihtne on eelkoolitatud mudelit viimistleda uute objektiklasside tuvastamiseks JumpStart API-de abil. Koodi täielik näide koos üksikasjadega on saadaval aadressil kaasas olev märkmik.

Treeningute artefaktide hankimine

Koolitusartefaktid on sarnased eelmises jaotises käsitletud järelduste artefaktidega. Koolituse jaoks on vaja Dockeri baaskonteinerit, nimelt MXNeti konteinerit järgmises näitekoodis. Kõik koolituseks vajalikud lisapaketid on lisatud koolitusskriptidele train_sourcer_uri. Eelkoolitatud mudel ja selle parameetrid on pakendatud eraldi.

train_model_id, train_model_version, train_scope = "mxnet-od-ssd-512-vgg16-atrous-coco","*","training"
training_instance_type = "ml.p2.xlarge" # Retrieve the docker image. This is the base container MXNet image for the model selected above. train_image_uri = image_uris.retrieve(region=None, framework=None, model_id=train_model_id, model_version=train_model_version, image_scope=train_scope,instance_type=training_instance_type) # Retrieve the training script and dependencies. This contains all the necessary files including data processing, model training etc.
train_source_uri = script_uris.retrieve(model_id=train_model_id, model_version=train_model_version, script_scope=train_scope) # Retrieve the pre-trained model tarball to further fine-tune
train_model_uri = model_uris.retrieve(
model_id=train_model_id, model_version=train_model_version, model_scope=train_scope)

Jooksu treening

Treeningu läbiviimiseks söödame lihtsalt vajalikud artefaktid koos mõne lisaparameetriga a-le SageMakeri hindaja ja helistage .fit funktsioon:

# Create SageMaker Estimator instance
od_estimator = Estimator( role=aws_role, image_uri=train_image_uri, source_dir=train_source_uri, model_uri=train_model_uri, entry_point="transfer_learning.py", # Entry-point file in source_dir and present in train_source_uri. instance_count=1, instance_type=training_instance_type, max_run=360000, hyperparameters=hyperparameters, output_path=s3_output_location,
) # Launch a SageMaker Training job by passing s3 path of the training data
od_estimator.fit({"training": training_dataset_s3_path}, logs=True)

Algoritmi treenimise ajal saate jälgida selle edenemist kas SageMakeri sülearvutis, kus te koodi kasutate, või Amazon CloudWatch. Kui koolitus on lõppenud, laaditakse peenhäälestatud mudeliartefaktid üles Amazoni lihtne salvestusteenus (Amazon S3) treeningkonfiguratsioonis määratud väljundi asukoht. Nüüd saate mudeli juurutada samal viisil kui eelkoolitatud mudelit. Ülejäänud protsessi saate jälgida jaotises kaasas olev märkmik.

Järeldus

Selles postituses kirjeldasime äsja välja antud JumpStart API-de väärtust ja nende kasutamist. Esitasime lingid 17-le näidismärkmikule JumpStartis toetatud erinevate ML-ülesannete jaoks ja juhatasime teid läbi objektituvastuse märkmiku.

Ootame huviga teie vastust KiirStardi katsetamisel.


Autoritest

Amazon SageMaker JumpStart mudelid ja algoritmid on nüüd saadaval API PlatoBlockchain Data Intelligence kaudu. Vertikaalne otsing. Ai.Dr Vivek Madan on Amazon SageMaker JumpStart meeskonna rakendusteadlane. Ta sai doktorikraadi Illinoisi ülikoolist Urbana-Champaignis ja oli Georgia Techi järeldoktor. Ta on aktiivne masinõppe ja algoritmide kujundamise uurija ning avaldanud ettekandeid EMNLP, ICLR, COLT, FOCS ja SODA konverentsidel.

Amazon SageMaker JumpStart mudelid ja algoritmid on nüüd saadaval API PlatoBlockchain Data Intelligence kaudu. Vertikaalne otsing. Ai.João Moura on AI/ML spetsialistilahenduste arhitekt ettevõttes Amazon Web Services. Ta keskendub peamiselt NLP kasutusjuhtudele ja aitab klientidel optimeerida süvaõppe mudeli koolitust ja juurutamist.

Amazon SageMaker JumpStart mudelid ja algoritmid on nüüd saadaval API PlatoBlockchain Data Intelligence kaudu. Vertikaalne otsing. Ai.Dr Ashish Khetan on vanemrakendusteadlane Amazon SageMaker JumpStart ja Amazon SageMakeri sisseehitatud algoritmid ja aitab välja töötada masinõppe algoritme. Ta on aktiivne masinõppe ja statistiliste järelduste uurija ning avaldanud palju artikleid NeurIPS-i, ICML-i, ICLR-i, JMLR-i ja ACL-i konverentsidel.

Ajatempel:

Veel alates AWS-i masinõpe