Programiranje

Pregled: Amazon SageMaker igra dohitevanje

Ko sem leta 2018 pregledoval Amazon SageMaker, sem ugotovil, da gre za zelo razširljivo storitev strojnega učenja in globokega učenja, ki podpira 11 lastnih algoritmov in druge, ki jih dobavljate. Optimizacija hiperparametrov je bila še vedno v predogledu in morali ste narediti lasten ETL in inženiring funkcij.

Od takrat se je področje uporabe SageMakerja razširilo, povečalo je osnovne zvezke z IDE-ji (SageMaker Studio) in avtomatiziranim strojnim učenjem (SageMaker Autopilot) ter v celoten ekosistem dodal kup pomembnih storitev, kot je prikazano na spodnjem diagramu. Ta ekosistem podpira strojno učenje od priprave prek izdelave modelov, usposabljanja in uglaševanja do uvajanja in upravljanja - z drugimi besedami, od konca do konca.

Kaj je novega v SageMakerju?

Kaj je novega? Glede na to, da sem SageMaker nazadnje pogledal takoj po izidu, je seznam precej dolg, a začnimo z najvidnejšimi storitvami.

  • SageMaker Studio, IDE, ki temelji na JupyterLab
  • SageMaker Autopilot, ki samodejno izdela in usposobi do 50 modelov, zasnovanih po značilnostih, ki jih je mogoče pregledati v SageMaker Studio
  • SageMaker Ground Truth, ki pomaga zgraditi in upravljati nabore podatkov o vadbi
  • Prenosni računalniki SageMaker zdaj ponujajo elastično skupno rabo in skupno rabo
  • SageMaker Experiments, ki razvijalcem pomaga vizualizirati in primerjati ponovitve modelov strojnega učenja, parametre usposabljanja in rezultate
  • SageMaker Debugger, ki omogoča sprotno spremljanje modelov strojnega učenja za izboljšanje natančnosti napovedi, skrajšanje časa treninga in lažjo razložljivost
  • SageMaker Model Monitor, ki zazna premik koncepta, da odkrije, kdaj zmogljivost modela, ki deluje v proizvodnji, začne odstopati od prvotno usposobljenega modela

Druge pomembne izboljšave vključujejo neobvezno uporabo primerkov za prenosnike za zmanjšanje stroškov; nov tip primerka P3dn.24xl, ki vključuje osem grafičnih procesorjev V100; okvir TensorFlow, optimiziran za AWS, ki dosega skoraj linearno razširljivost pri usposabljanju več vrst nevronskih mrež; Amazon Elastic Inference, ki lahko drastično zmanjša stroške sklepanja; AWS Inferentia, ki je visoko zmogljiv čip za sklepanje strojnega učenja; in novi algoritmi, vgrajeni v SageMaker in na voljo na AWS Marketplace. Poleg tega SageMaker Neo sestavlja modele globokega učenja za zagon na robnih računalniških napravah, SageMaker RL (ki ni prikazan na diagramu) pa nudi storitev upravljanja z ojačitvijo.

SageMaker Studio

JupyterLab je spletni generirani uporabniški vmesnik za Project Jupyter. SageMaker Studio uporablja JupyterLab kot osnovo za IDE, ki je enotno spletno strojno učenje in delovna postaja za globoko učenje s funkcijami sodelovanja, upravljanjem eksperimentov, integracijo Git in samodejnim generiranjem modelov.

Spodnji posnetek zaslona prikazuje, kako namestiti primere SageMaker v primerek SageMaker Studio s pomočjo zavihka terminala in ukazne vrstice Git. Navodila za to so v README za ta primer, ki je nekakšen Catch-22. Preberete jih lahko tako, da poiščete primer Uvod v GitHub ali pa klonirate repozitorij na svoj računalnik in ga tam preberete.

Amazonov primer Uvod vsebuje zvezek z imenom xgboost_customer_churn_studio.ipynb, ki je bil prilagojen iz objave v spletnem dnevniku o napovedovanju odliva strank. Kot je razvidno iz zvezkov Jupyter, ima veliko razlag, kot lahko vidite na spodnjih posnetkih zaslona.

Primer nadaljuje z dodatnim usposabljanjem z zunanjim algoritmom XGBoost, spremenjenim za shranjevanje informacij o odpravljanju napak na Amazon S3 in za sklicevanje na tri pravila za odpravljanje napak. To je v tem, kar se imenuje okvir način, kar pomeni, da ne gre za vgrajen algoritem.

Ko so treningi končani, lahko rezultate primerjate na zavihku Eksperimenti.

Primer nato gosti model z uporabo njegovega razporediti in preizkusi razmeščeno končno točko z uporabo napovedovati metoda. Nazadnje ustvari osnovno opravilo z naborom podatkov o usposabljanju in načrtovano opravilo spremljanja, ki poroča o morebitnih kršitvah omejitev.

Mimogrede, XGBoost je le eden izmed mnogih algoritmov, vgrajenih v SageMaker. Celoten seznam je prikazan v spodnji tabeli - in vedno lahko ustvarite svoj model.

SageMaker Autopilot

Recimo, da ne veste, kako se ukvarjati s tehničnim inženiringom, in ne poznate dobro različnih algoritmov, ki so na voljo za različne naloge strojnega učenja. Še vedno lahko uporabljate SageMaker - samo pustite, da deluje na avtopilotu. SageMaker Autopilot je zmožen obdelati nabore podatkov do 5 GB.

Na spodnjem posnetku zaslona izvajamo primer neposrednega trženja z Amazon SageMaker Autopilot. Začne se s prenosom podatkov, razpakiranjem, nalaganjem v vedro S3 in zagonom opravila Autopilot s klicem API-ja create_auto_ml_job. Nato sledimo napredku opravila, ko analizira podatke, izvaja inženiring funkcij in prilagajanje modelov, kot je prikazano spodaj.

Nato primer izbere najboljši model, ga uporabi za ustvarjanje in gostovanje končne točke in zažene preoblikovalno opravilo, da doda napovedi modela v kopijo testnih podatkov. Na koncu najde še dva zvezka, ustvarjena z delom avtopilota.

Za rezultate Autopilota obstaja uporabniški vmesnik, čeprav to ni očitno. Če z desno miškino tipko kliknete preizkus automl, si lahko ogledate vse preskuse z njihovimi objektivnimi vrednostmi, kot je prikazano spodaj.

SageMaker Ground Truth

Če imate srečo, bodo vsi vaši podatki označeni ali drugače označeni in pripravljeni za uporabo kot nabor podatkov o vadbi. V nasprotnem primeru lahko podatke pripišete ročno (običajna šala je, da nalogo daste svojim študentom) ali pa uporabite polnadzorovan učni postopek, ki združuje človeške pripise s samodejnimi pripisi. SageMaker Ground Truth je tak postopek označevanja.

Kot lahko vidite na spodnjem diagramu, se Ground Truth lahko uporablja za številne različne naloge. Z Ground Truth lahko za izdelavo označenega nabora podatkov uporabite delavce iz podjetja Amazon Mechanical Turk ali izbranega podjetja dobavitelja ali notranje zasebne delovne sile skupaj s strojnim učenjem.

Amazon ponuja sedem korakov, ki prikazujejo različne načine uporabe SageMaker Ground Truth.

SageMaker Neo

Do nedavnega je bilo uvajanje usposobljenih modelov na robnih napravah - na primer pametnih telefonih in napravah IoT - težko. Obstajajo posebne rešitve, kot sta TensorFlow Lite za modele TensorFlow in TensorRT za naprave Nvidia, vendar SageMaker Neo sestavi in ​​samodejno optimizira modele TensorFlow, Apache MXNet, PyTorch, ONNX in XGBoost za uvajanje v procesorje ARM, Intel in Nvidia. kot naprave Qualcomm, Cadence in Xilinx.

Po navedbah AWS lahko Neo podvoji zmogljivost modelov in jih tako skrči, da deluje na robnih napravah z omejeno količino pomnilnika.

Možnosti uvajanja sklepanja SageMaker

Kar zadeva računalništvo, shranjevanje, prenos omrežja itd., Uvajanje modelov za sklepanje o proizvodnji pogosto predstavlja 90 odstotkov stroškov poglobljenega učenja, medtem ko usposabljanje predstavlja le 10 odstotkov stroškov. AWS ponuja številne načine za zmanjšanje stroškov sklepanja.

Eno od teh je Elastično sklepanje. AWS pravi, da lahko Elastic Inference pospeši prepustnost in zmanjša zakasnitev pridobivanja sklepov v realnem času iz vaših modelov globokega učenja, ki so nameščeni kot modeli, ki jih gosti Amazon SageMaker, vendar le za del stroškov uporabe primerka GPU za vašo končno točko. Elastic Inference pospeši sklepanje, tako da vam omogoča, da delce grafičnih procesorjev pritrdite na kateri koli primerek Amazon SageMaker.

Elastic Inference je podprt v različicah TensorFlow, Apache MXNet in PyTorch, ki podpirajo Elastic Inference. Če želite uporabiti kateri koli drug okvir globokega učenja, izvozite svoj model s pomočjo ONNX in nato uvozite svoj model v MXNet.

Če potrebujete več kot 32 TFLOPS na pospeševalnik, ki jih lahko dobite od Elastic Inference, lahko uporabite primerke EC2 G4, ki imajo grafične procesorje Nvidia T4, ali primerke EC2 Inf1, ki imajo pospeševalne čipe AWS Inferentia. Če potrebujete hitrost čipov Inferentia, lahko s pomočjo AWS Neuron SDK sestavite svoj model globokega učenja v Neuron Executable File Format (NEFF), ki ga nato izvajalni gonilnik Neuron naloži na vhodne zahteve za sklepanje na Inferencii. čips.

Na tej točki je predogled Amazon SageMaker Studio dovolj dober za uporabo za celovito strojno učenje in globoko učenje: priprava podatkov, usposabljanje modelov, uvajanje modelov in spremljanje modelov. Medtem ko uporabniška izkušnja še vedno pušča nekaj zaželenega, na primer boljše odkrivanje funkcionalnosti, je Amazon SageMaker zdaj konkurenčen okoljem strojnega učenja, ki so na voljo v drugih oblakih.

Stroški: 0,0464 do 34,272 USD na primerno uro za izračun, odvisno od števila CPU-jev in GPU-jev; SSD pomnilnik: 0,14 USD na GB na mesec; Prenos podatkov: 0,016 USD na GB vhod ali izhod.

Platforma: Gostuje na Amazon Web Services.

$config[zx-auto] not found$config[zx-overlay] not found