Programmering

Anmeldelse: Amazon SageMaker spiller indhentning

Da jeg gennemgik Amazon SageMaker i 2018, bemærkede jeg, at det var en meget skalerbar maskinindlæring og dyb læringstjeneste, der understøtter 11 egne algoritmer plus andre, du leverer. Hyperparameteroptimering var stadig i forhåndsvisning, og du havde brug for at lave din egen ETL og funktionsteknik.

Siden da er omfanget af SageMaker blevet udvidet og udvidet kernebærbare pc'er med IDE'er (SageMaker Studio) og automatiseret maskinindlæring (SageMaker Autopilot) og tilføjet en masse vigtige tjenester til det samlede økosystem, som vist i nedenstående diagram. Dette økosystem understøtter maskinindlæring fra forberedelse gennem modelbygning, træning og tuning til implementering og styring - med andre ord, ende til ende.

Hvad er nyt i SageMaker?

Hvad er nyt? Da jeg sidst kiggede på SageMaker lige efter at den blev frigivet, er listen ret lang, men lad os starte med de mest synlige tjenester.

  • SageMaker Studio, en IDE baseret på JupyterLab
  • SageMaker Autopilot, der automatisk bygger og træner op til 50 funktionsudviklede modeller, der kan undersøges i SageMaker Studio
  • SageMaker Ground Truth, som hjælper med at opbygge og styre træningsdatasæt
  • SageMaker Notebooks tilbyder nu elastisk beregning og deling med et enkelt klik
  • SageMaker-eksperimenter, som hjælper udviklere med at visualisere og sammenligne maskinlæringsmodel-iterationer, træningsparametre og resultater
  • SageMaker Debugger, som giver overvågning i realtid af maskinlæringsmodeller for at forbedre forudsigelig nøjagtighed, reducere træningstider og lette større forklarbarhed
  • SageMaker Model Monitor, som registrerer konceptdrift for at opdage, hvornår præstationen for en model, der kører i produktion, begynder at afvige fra den oprindelige uddannede model

Andre bemærkelsesværdige forbedringer inkluderer valgfri brug af spotforekomster til notebooks for at reducere omkostningerne; en ny type P3dn.24xl-forekomst, der inkluderer otte V100 GPU'er; en AWS-optimeret TensorFlow-ramme, som opnår tæt på lineær skalerbarhed, når man træner flere typer neurale netværk; Amazon Elastic Inference, som dramatisk kan reducere inferensomkostningerne; AWS Inferentia, som er en højtydende inferenschip til maskinindlæring; og nye algoritmer, begge indbyggede i SageMaker og tilgængelige på AWS Marketplace. Derudover kompilerer SageMaker Neo deep learning-modeller til at køre på edge-computerenheder, og SageMaker RL (ikke vist på diagrammet) giver en administreret forstærkningslæringstjeneste.

SageMaker Studio

JupyterLab er den næste generation, webbaserede brugergrænseflade til Project Jupyter. SageMaker Studio bruger JupyterLab som basis for en IDE, der er en samlet online maskinlærings- og dyb læringsarbejdsstation med samarbejdsfunktioner, eksperimentstyring, Git-integration og automatisk modelgenerering.

Skærmbilledet nedenfor viser, hvordan du installerer SageMaker-eksemplerne i en SageMaker Studio-forekomst ved hjælp af en terminalfane og Git-kommandolinjen. Instruktionerne til dette er i README for dette eksempel, som er en slags Catch-22. Du kan læse dem ved at gennemse eksemplet Kom godt i gang på GitHub eller ved at klone lageret til din egen maskine og læse det der.

Amazons Kom godt i gang-eksempel indeholder en notesbog, der hedder xgboost_customer_churn_studio.ipynb, som blev tilpasset fra et blogindlæg om forudsigelse af kundernes churn. Som Jupyter-notesbøger går, har den mange forklaringer, som du kan se i skærmbillederne nedenfor.

Eksemplet fortsætter med at køre en yderligere træning med en ekstern XGBoost-algoritme modificeret til at gemme fejlretningsoplysninger til Amazon S3 og til at påberåbe sig tre fejlretningsregler. Dette er i hvad der kaldes ramme tilstand, hvilket betyder, at det ikke er en indbygget algoritme.

Når træningerne er færdige, kan du sammenligne resultaterne i fanen Eksperimenter.

Eksemplet er derefter vært for modellen ved hjælp af dens indsætte metode og tester det implementerede slutpunkt ved hjælp af dets forudsige metode. Endelig opretter det et basislinjejob med træningsdatasættet og et planlagt overvågningsjob, der rapporterer eventuelle overtrædelser af begrænsninger.

Forresten er XGBoost kun en af ​​de mange algoritmer, der er indbygget i SageMaker. En fuld liste vises i nedenstående tabel - og du kan altid oprette din egen model.

SageMaker Autopilot

Antag, at du ikke ved, hvordan du laver funktionsteknik, og at du ikke er meget fortrolig med de forskellige algoritmer, der er tilgængelige for de forskellige maskinlæringsopgaver. Du kan stadig bruge SageMaker - lad det bare køre på autopilot. SageMaker Autopilot er i stand til at håndtere datasæt op til 5 GB.

I nedenstående skærmbillede kører vi eksemplet med direkte markedsføring med Amazon SageMaker Autopilot. Det starter med at downloade dataene, pakke det ud, uploade det til en S3-spand og starte et Autopilot-job ved at ringe til create_auto_ml_job API. Derefter sporer vi fremdriften af ​​jobbet, når det analyserer dataene, har ingeniørfag og foretager modeljustering som vist nedenfor.

Eksemplet vælger derefter den bedste model, bruger den til at oprette og være vært for et slutpunkt og kører et transform-job for at tilføje model forudsigelser til en kopi af testdataene. Endelig finder den de to notesbøger oprettet af Autopilot-jobbet.

Der er en brugergrænseflade til Autopilot-resultaterne, selvom det ikke er indlysende. Hvis du højreklikker på automatiske eksperimentet, kan du se alle forsøg med deres objektive værdier, som vist nedenfor.

SageMaker jorden sandhed

Hvis du er heldig, bliver alle dine data mærket eller på anden måde kommenteret og klar til at blive brugt som et træningsdatasæt. Hvis ikke, kan du kommentere dataene manuelt (standardvittigheden er, at du giver opgaven til dine studerende), eller du kan bruge en semi-overvåget læringsproces, der kombinerer menneskelige kommentarer med automatiske kommentarer. SageMaker Ground Truth er sådan en mærkningsproces.

Som du kan se i diagrammet nedenfor, kan Ground Truth anvendes på en række forskellige opgaver. Med Ground Truth kan du bruge arbejdere fra enten Amazon Mechanical Turk eller et leverandørfirma, du vælger, eller en intern, privat arbejdsstyrke sammen med maskinindlæring, så du kan oprette et mærket datasæt.

Amazon leverer syv gennemgange, der demonstrerer forskellige måder at bruge SageMaker Ground Truth på.

SageMaker Neo

Indtil for nylig har det været svært at implementere uddannede modeller på edge-enheder - f.eks. Smartphones og IoT-enheder. Der har været specifikke løsninger, såsom TensorFlow Lite til TensorFlow-modeller og TensorRT til Nvidia-enheder, men SageMaker Neo kompilerer og optimerer automatisk TensorFlow-, Apache MXNet-, PyTorch-, ONNX- og XGBoost-modeller til implementering på ARM-, Intel- og Nvidia-processorer samt som Qualcomm-, Cadence- og Xilinx-enheder.

Ifølge AWS kan Neo fordoble modellernes ydeevne og krympe dem nok til at køre på edge-enheder med begrænsede mængder hukommelse.

Indstillinger for implementering af SageMaker-slutninger

Med hensyn til beregning, opbevaring, netværksoverførsel osv. Udgør implementering af modeller til produktionsinferens ofte 90 procent af omkostningerne ved dyb læring, mens uddannelsen kun tegner sig for 10 procent af omkostningerne. AWS tilbyder mange måder at reducere omkostningerne ved slutning.

En af disse er elastisk slutning. AWS siger, at elastisk inferens kan fremskynde kapaciteten og mindske latenstiden til at få realtidsinferenser fra dine dybe læringsmodeller, der er implementeret som Amazon SageMaker-hostede modeller, men til en brøkdel af prisen for at bruge en GPU-instans til dit slutpunkt. Elastic Inference accelererer inferens ved at tillade dig at vedhæfte fraktionerede GPU'er til enhver Amazon SageMaker-forekomst.

Elastic Inference understøttes i Elastic Inference-aktiverede versioner af TensorFlow, Apache MXNet og PyTorch. Hvis du vil bruge andre deep learning-rammer, skal du eksportere din model ved hjælp af ONNX og derefter importere din model til MXNet.

Hvis du har brug for mere end 32 TFLOPS pr. Accelerator, du kan få fra Elastic Inference, kan du bruge EC2 G4-forekomster, som har Nvidia T4 GPU'er eller EC2 Inf1-forekomster, som har AWS Inferentia tilpassede acceleratorchips. Hvis du har brug for hastigheden på Inferentia-chips, kan du bruge AWS Neuron SDK til at kompilere din dyb læringsmodel i et Neuron Executable File Format (NEFF), som igen indlæses af Neuron runtime-driveren til at udføre inferensinputanmodninger på Inferentia chips.

På dette tidspunkt er forhåndsvisning af Amazon SageMaker Studio god nok til at bruge til end-to-end maskinindlæring og dyb læring: dataforberedelse, modeluddannelse, modelinstallation og modelovervågning. Mens brugeroplevelsen stadig lader et par ting tilbage at ønske, såsom bedre opdagelse af funktionalitet, er Amazon SageMaker nu konkurrencedygtig med de maskinlæringsmiljøer, der er tilgængelige i andre skyer.

Koste: $ 0,0464 til $ 34,272 pr. Instans time til beregning, afhængigt af antallet af CPU'er og GPU'er; SSD-lagring: $ 0,14 pr. GB-måned; Dataoverførsel: $ 0,016 pr. GB ind eller ud.

Platform: Hostet på Amazon Web Services.

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