Programmering

Gjennomgang: Amazon SageMaker spiller innhenting

Da jeg gjennomgikk Amazon SageMaker i 2018, la jeg merke til at det var en svært skalerbar maskinlæring og dyplæringstjeneste som støtter 11 egne algoritmer, pluss alle andre du leverer. Hyperparameteroptimalisering var fortsatt i forhåndsvisning, og du trengte å gjøre din egen ETL og funksjonsteknikk.

Siden da har omfanget av SageMaker utvidet seg, utvidet kjernebærbare PC-er med IDE (SageMaker Studio) og automatisert maskinlæring (SageMaker Autopilot) og lagt til en rekke viktige tjenester til det generelle økosystemet, som vist i diagrammet nedenfor. Dette økosystemet støtter maskinlæring fra forberedelse gjennom modellbygging, opplæring og tuning til distribusjon og administrasjon - med andre ord, slutt til slutt.

Hva er nytt i SageMaker?

Hva er nytt? Gitt at jeg sist så på SageMaker like etter at den ble utgitt, er listen ganske lang, men la oss starte med de mest synlige tjenestene.

  • SageMaker Studio, en IDE basert på JupyterLab
  • SageMaker Autopilot, som automatisk bygger og trener opptil 50 funksjonsutviklede modeller som kan undersøkes i SageMaker Studio
  • SageMaker Ground Truth, som hjelper til med å bygge og administrere treningsdatasett
  • SageMaker Notebooks tilbyr nå elastisk beregning og deling med ett klikk
  • SageMaker Experiments, som hjelper utviklere med å visualisere og sammenligne iterasjoner av maskinlæringsmodell, opplæringsparametere og resultater
  • SageMaker Debugger, som gir sanntidsovervåking av maskinlæringsmodeller for å forbedre prediktiv nøyaktighet, redusere treningstider og gjøre det lettere å forklare
  • SageMaker Model Monitor, som oppdager konseptdrift for å oppdage når ytelsen til en modell som kjører i produksjon begynner å avvike fra den opprinnelige trenede modellen

Andre bemerkelsesverdige forbedringer inkluderer valgfri bruk av spotforekomster for bærbare datamaskiner for å redusere kostnadene. en ny forekomststype P3dn.24xl som inkluderer åtte V100 GPUer; et AWS-optimalisert TensorFlow-rammeverk, som oppnår nær lineær skalerbarhet når du trener flere typer nevrale nettverk; Amazon Elastic Inference, som dramatisk kan redusere inferenskostnadene; AWS Inferentia, som er en høyytelses maskininlæringsinferensbrikke; og nye algoritmer, begge innebygd i SageMaker og tilgjengelig på AWS Marketplace. I tillegg samler SageMaker Neo dyplæringsmodeller for å kjøre på edge computing-enheter, og SageMaker RL (ikke vist på diagrammet) gir en administrert forsterkningslæringstjeneste.

SageMaker Studio

JupyterLab er neste generasjons, nettbaserte brukergrensesnitt for Project Jupyter. SageMaker Studio bruker JupyterLab som grunnlag for en IDE som er en enhetlig online maskinlærings- og dyplæringsstasjon med samarbeidsfunksjoner, eksperimentadministrasjon, Git-integrasjon og automatisk generering av modeller.

Skjermbildet nedenfor viser hvordan du installerer SageMaker-eksemplene i en SageMaker Studio-forekomst, ved hjelp av en terminalfane og Git-kommandolinjen. Instruksjonene for å gjøre dette er i README for dette eksemplet, som er en slags Catch-22. Du kan lese dem ved å bla til Kom i gang-eksemplet på GitHub, eller ved å klone depotet til din egen maskin og lese det der.

Amazons Getting Started-eksempel inneholder en notatbok kalt xgboost_customer_churn_studio.ipynb, som ble tilpasset fra et blogginnlegg om å forutsi kundeslag. Når Jupyter-notatbøker går, har den mange forklaringer, som du kan se på skjermbildene nedenfor.

Eksemplet fortsetter med å kjøre en tilleggsopplæring med en ekstern XGBoost-algoritme modifisert for å lagre feilsøkingsinformasjon til Amazon S3 og for å påkalle tre feilsøkingsregler. Dette er i det som kalles rammeverk modus, noe som betyr at det ikke er en innebygd algoritme.

Når opplæringen er fullført, kan du sammenligne resultatene i Eksperiment-fanen.

Eksemplet vert deretter modellen ved hjelp av sin utplassere metode og tester det distribuerte endepunktet ved hjelp av spå metode. Til slutt oppretter den en grunnleggende jobb med opplæringsdatasettet og en planlagt overvåkingsjobb som rapporterer eventuelle begrensningsbrudd.

For øvrig er XGBoost bare en av de mange algoritmene som er innebygd i SageMaker. En full liste vises i tabellen nedenfor - og du kan alltid lage din egen modell.

SageMaker Autopilot

Anta at du ikke vet hvordan du skal gjøre funksjonsteknikk, og at du ikke er veldig kjent med de forskjellige algoritmene som er tilgjengelige for de forskjellige maskinlæringsoppgavene. Du kan fortsatt bruke SageMaker - bare la den kjøre på autopilot. SageMaker Autopilot er i stand til å håndtere datasett opptil 5 GB.

I skjermbildet nedenfor kjører vi eksempelet Direct Marketing with Amazon SageMaker Autopilot. Det starter med å laste ned dataene, pakke det ut, laste det opp til en S3-bøtte og starte en Autopilot-jobb ved å ringe create_auto_ml_job API. Deretter sporer vi fremdriften i jobben når den analyserer dataene, har funksjonsteknikk og gjør modelljustering, som vist nedenfor.

Eksemplet velger deretter den beste modellen, bruker den til å opprette og være vert for et endepunkt, og kjører en transformeringsjobb for å legge til modellspådommer i en kopi av testdataene. Til slutt finner den de to notatbøkene opprettet av Autopilot-jobben.

Autopilot-resultatene har et brukergrensesnitt, selv om det ikke er opplagt. Hvis du høyreklikker på automatiske eksperimentet, kan du se alle forsøkene med deres objektive verdier, som vist nedenfor.

SageMaker Ground Truth

Hvis du er heldig, blir alle dataene dine merket, eller på annen måte kommentert, og klare til å brukes som et treningsdatasett. Hvis ikke, kan du kommentere dataene manuelt (standard vitsen er at du gir oppgaven til dine studenter), eller du kan bruke en semi-veiledet læringsprosess som kombinerer menneskelige kommentarer med automatiske kommentarer. SageMaker Ground Truth er en slik merkingsprosess.

Som du kan se i diagrammet nedenfor, kan Ground Truth brukes på en rekke forskjellige oppgaver. Med Ground Truth kan du bruke arbeidstakere fra enten Amazon Mechanical Turk, eller et leverandørselskap du velger, eller en intern, privat arbeidsstyrke sammen med maskinlæring for å gjøre det mulig å lage et merket datasett.

Amazon gir syv gjennomganger som viser forskjellige måter å bruke SageMaker Ground Truth på.

SageMaker Neo

Inntil nylig har det vært vanskelig å distribuere trente modeller på edge-enheter - for eksempel smarttelefoner og IoT-enheter. Det har vært spesifikke løsninger, for eksempel TensorFlow Lite for TensorFlow-modeller og TensorRT for Nvidia-enheter, men SageMaker Neo kompilerer og optimaliserer automatisk TensorFlow, Apache MXNet, PyTorch, ONNX og XGBoost-modeller for distribusjon på ARM-, Intel- og Nvidia-prosessorer. som Qualcomm-, Cadence- og Xilinx-enheter.

I følge AWS kan Neo doble ytelsen til modeller og krympe dem nok til å kjøre på enheter med begrenset mengde minne.

SageMaker distribusjonsalternativer for inferens

Når det gjelder beregning, lagring, nettverksoverføring osv., Utgjør distribusjonsmodeller for produksjonsinferanse ofte 90 prosent av kostnadene for dyp læring, mens opplæringen kun står for 10 prosent av kostnadene. AWS tilbyr mange måter å redusere kostnadene ved slutning.

En av disse er Elastic Inference. AWS sier at elastisk inferens kan øke hastigheten og redusere ventetiden for å få sanntidsledninger fra de dype læringsmodellene dine som er distribuert som Amazon SageMaker-vertsmodeller, men til en brøkdel av kostnadene ved å bruke en GPU-forekomst for ditt endepunkt. Elastic Inference akselererer inferens ved å tillate deg å knytte brøkdelte GPUer til en hvilken som helst Amazon SageMaker-forekomst.

Elastic Inference støttes i Elastic Inference-aktiverte versjoner av TensorFlow, Apache MXNet og PyTorch. Hvis du vil bruke andre dype læringsrammer, eksporterer du modellen ved å bruke ONNX, og importerer deretter modellen til MXNet.

Hvis du trenger mer enn 32 TFLOPS per akselerator du kan få fra Elastic Inference, kan du bruke EC2 G4-forekomster, som har Nvidia T4 GPUer, eller EC2 Inf1-forekomster, som har AWS Inferentia tilpassede akseleratorbrikker. Hvis du trenger hastigheten på Inferentia-brikkene, kan du bruke AWS Neuron SDK til å kompilere din dype læringsmodell til et Neuron Executable File Format (NEFF), som i sin tur lastes av Neuron runtime-driveren for å utføre inferensinngangsforespørsler på Inferentia chips.

På dette punktet er forhåndsvisning av Amazon SageMaker Studio god nok til å bruke for end-to-end maskinlæring og dyp læring: forberedelse av data, modellopplæring, modellutplassering og modellovervåking. Mens brukeropplevelsen fortsatt lar noen få ting å være ønsket, for eksempel bedre oppdagelse av funksjonalitet, er Amazon SageMaker nå konkurransedyktig med maskinlæringsmiljøene som er tilgjengelige i andre skyer.

Koste: $ 0,0464 til $ 34,272 per time for beregning, avhengig av antall CPUer og GPUer; SSD-lagring: $ 0,14 per GB-måned; Dataoverføring: $ 0,016 per GB inn eller ut.

Plattform: Vert på Amazon Web Services.

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