Å kjøre eksperimenter med maskinlæring (ML) i skyen kan spenne over mange tjenester og komponenter. Evnen til å strukturere, automatisere og spore ML-eksperimenter er avgjørende for å muliggjøre rask utvikling av ML-modeller. Med de siste fremskrittene innen automatisert maskinlæring (AutoML), nemlig området ML dedikert til automatisering av ML-prosesser, kan du bygge nøyaktige beslutningsmodeller uten å trenge dyp ML-kunnskap. I dette innlegget ser vi på AutoGluon, et AutoML-rammeverk med åpen kildekode som lar deg bygge nøyaktige ML-modeller med bare noen få linjer med Python.
AWS tilbyr et bredt spekter av tjenester for å administrere og kjøre ML-arbeidsflyter, slik at du kan velge en løsning basert på dine ferdigheter og applikasjoner. For eksempel hvis du allerede bruker AWS trinnfunksjoner for å orkestrere komponentene i distribuerte applikasjoner, kan du bruke den samme tjenesten til å bygge og automatisere ML-arbeidsflytene dine. Andre MLOps-verktøy som tilbys av AWS inkluderer Amazon SageMaker-rørledninger, som lar deg bygge ML-modeller inn Amazon SageMaker Studio med MLOps-funksjoner (som CI/CD-kompatibilitet, modellovervåking og modellgodkjenninger). Åpen kildekode-verktøy, som f.eks Apache luftstrøm— tilgjengelig på AWS gjennom Amazon administrerte arbeidsflyter for Apache Airflow-og KubeFlow, så vel som hybridløsninger, støttes også. For eksempel kan du administrere datainntak og prosessering med Step Functions mens du trener og distribuerer ML-modellene dine med SageMaker Pipelines.
I dette innlegget viser vi hvordan selv utviklere uten ML-ekspertise enkelt kan bygge og vedlikeholde toppmoderne ML-modeller ved å bruke AutoGluon på Amazon SageMaker og trinnfunksjoner for å orkestrere arbeidsflytkomponenter.
Etter en oversikt over AutoGluon-algoritmen presenterer vi arbeidsflytdefinisjonene sammen med eksempler og en kodeopplæring som du kan bruke på dine egne data.
AutoGluon
AutoGluon er et AutoML-rammeverk med åpen kildekode som akselererer bruken av ML ved å trene nøyaktige ML-modeller med bare noen få linjer med Python-kode. Selv om dette innlegget fokuserer på tabelldata, lar AutoGluon deg også trene toppmoderne modeller for bildeklassifisering, objektgjenkjenning og tekstklassifisering. AutoGluon tabular lager og kombinerer ulike modeller for å finne den optimale løsningen.
AutoGluon-teamet hos AWS ga ut en papir som presenterer prinsippene som strukturerer biblioteket:
- Enkelhet – Du kan lage klassifiserings- og regresjonsmodeller direkte fra rådata uten å måtte analysere dataene eller utføre funksjonsutvikling
- Robusthet – Den totale opplæringsprosessen skal lykkes selv om noen av de enkelte modellene mislykkes
- Forutsigbar timing – Du kan få optimale resultater innenfor den tiden du ønsker å investere for trening
- Feiltoleranse – Du kan stoppe treningen og gjenoppta den når som helst, noe som optimerer kostnadene hvis prosessen kjører på punktbilder i skyen
For mer informasjon om algoritmen, se papir utgitt av AutoGluon-teamet på AWS.
Etter at du har installert AutoGluon-pakke og dens avhengigheter, trening av en modell er like enkelt som å skrive tre linjer med kode:
AutoGluon-teamet beviste styrken til rammeverket ved å nå topp 10 ledertavlen i flere Kaggle-konkurranser.
Løsningsoversikt
Vi bruker Step Functions for å implementere en ML-arbeidsflyt som dekker opplæring, evaluering og distribusjon. Rørledningsdesignet muliggjør raske og konfigurerbare eksperimenter ved å endre inngangsparameterne som du mater inn i rørledningen ved kjøring.
Du kan konfigurere rørledningen til å implementere forskjellige arbeidsflyter, for eksempel følgende:
- Tren opp en ny ML-modell og lagre den i SageMaker-modellregisteret, hvis ingen distribusjon er nødvendig på dette tidspunktet
- Distribuer en forhåndsopplært ML-modell, enten for online (SageMaker endepunkt) eller offline (SageMaker batch-transformasjon) slutning
- Kjør en komplett pipeline for å trene, evaluere og distribuere en ML-modell fra bunnen av
Løsningene består av en generell statsmaskin (se følgende diagram) som orkestrerer settet med handlinger som skal kjøres basert på et sett med inngangsparametere.
Trinnene til statsmaskinen er som følger:
- Det første trinnet
IsTraining
bestemmer om vi bruker en forhåndstrent modell eller trener en modell fra bunnen av. Hvis du bruker en forhåndstrent modell, hopper tilstandsmaskinen til trinn 7. - Når en ny ML-modell kreves,
TrainSteps
utløser en andre tilstandsmaskin som utfører alle nødvendige handlinger og returnerer resultatet til gjeldende tilstandsmaskin. Vi går nærmere inn på treningstilstandsmaskinen i neste avsnitt. - Når treningen er ferdig,
PassModelName
lagrer treningsjobbnavnet på et spesifisert sted i tilstandsmaskinkonteksten for å bli gjenbrukt i følgende tilstander. - Hvis en evalueringsfase velges,
IsEvaluation
omdirigerer statsmaskinen mot evalueringsgrenen. Ellers hopper den til trinn 7. - Evalueringsfasen implementeres deretter ved hjelp av en AWS Lambda funksjonen påkalt av
ModelValidation
steg. Lambda-funksjonen henter modellytelser på et testsett og sammenligner det med en brukerkonfigurerbar terskel spesifisert i inngangsparameterne. Følgende kode er et eksempel på evalueringsresultater: - Dersom modellevalueringen kl
EvaluationResults
er vellykket, fortsetter tilstandsmaskinen med eventuelle distribusjonstrinn. Hvis modellen presterer under et brukerdefinert kriterium, stopper tilstandsmaskinen og distribusjonen hoppes over. - Hvis distribusjon er valgt,
IsDeploy
starter en tredjestatsmaskin gjennomDeploySteps
, som vi beskriver senere i dette innlegget. Hvis distribusjon ikke er nødvendig, stopper tilstandsmaskinen her.
Et sett med inndataparametereksempler er tilgjengelig på GitHub repo.
Treningsstatsmaskin
Tilstandsmaskinen for opplæring av en ny ML-modell ved bruk av AutoGluon består av to trinn, som illustrert i følgende diagram. Det første trinnet er en SageMaker-treningsjobb som skaper modellen. Den andre lagrer oppføringene i SageMaker-modellregisteret.
Du kan kjøre disse trinnene enten automatisk som en del av hovedtilstandsmaskinen, eller som en frittstående prosess.
Distribusjonstilstandsmaskin
La oss nå se på tilstandsmaskinen dedikert til distribusjonsfasen (se følgende diagram). Som nevnt tidligere støtter arkitekturen både online og offline distribusjon. Førstnevnte består av å distribuere et SageMaker-endepunkt, mens sistnevnte kjører en SageMaker batch-transformeringsjobb.
Implementeringstrinnene er som følger:
ChoiceDeploymentMode
ser på inngangsparametrene for å definere hvilken distribusjonsmodus som er nødvendig og dirigerer tilstandsmaskinen mot den tilsvarende grenen.- Hvis et endepunkt er valgt, vil
EndpointConfig
trinn definerer konfigurasjonen, mensCreateEndpoint
starter prosessen med å tildele de nødvendige dataressursene. Denne tildelingen kan ta flere minutter, så statsmaskinen stopper klWaitForEndpoint
og bruker en Lambda-funksjon for å polle endepunktstatusen. - Mens endepunktet konfigureres,
ChoiceEndpointStatus
går tilbake tilWaitForEndpoint
stat, ellers fortsetter det hellerDeploymentFailed
orDeploymentSucceeded
. - Hvis frakoblet distribusjon er valgt, kjører tilstandsmaskinen en SageMaker batch-transformeringsjobb, hvoretter tilstandsmaskinen stopper.
konklusjonen
Dette innlegget presenterer en brukervennlig pipeline for å orkestrere AutoML-arbeidsflyter og muliggjøre raske eksperimenter i skyen, noe som muliggjør nøyaktige ML-løsninger uten å kreve avansert ML-kunnskap.
Vi tilbyr en generell pipeline samt to modulære som lar deg utføre opplæring og distribusjon separat om nødvendig. Dessuten er løsningen fullt integrert med SageMaker, og drar nytte av funksjonene og beregningsressursene.
Kom i gang med dette nå kodeopplæring å distribuere ressursene som presenteres i dette innlegget i AWS-kontoen din og kjøre dine første AutoML-eksperimenter.
Om forfatterne
Federico Piccinini er en Deep Learning Architect for Amazon Machine Learning Solutions Lab. Han er lidenskapelig opptatt av maskinlæring, forklarbar AI og MLOps. Han fokuserer på å designe ML-rørledninger for AWS-kunder. Utenom jobben liker han sport og pizza.
Paolo Irrera er dataforsker ved Amazon Machine Learning Solutions Lab, hvor han hjelper kunder med å løse forretningsproblemer med ML- og skyfunksjoner. Han har en doktorgrad i datasyn fra Telecom ParisTech, Paris.
- Myntsmart. Europas beste Bitcoin og Crypto Exchange.
- Platoblokkkjede. Web3 Metaverse Intelligence. Kunnskap forsterket. FRI TILGANG.
- CryptoHawk. Altcoin Radar. Gratis prøveperiode.
- Kilde: https://aws.amazon.com/blogs/machine-learning/manage-automl-workflows-with-aws-step-functions-and-autogluon-on-amazon-sagemaker/
- "
- 10
- 100
- 7
- a
- evne
- Om oss
- Logg inn
- nøyaktig
- tvers
- handlinger
- adresse
- Adopsjon
- avansert
- fremskritt
- AI
- algoritme
- Alle
- allokering
- tillate
- tillater
- allerede
- Selv
- Amazon
- analysere
- Søknad
- søknader
- Påfør
- arkitektur
- AREA
- automatisere
- Automatisert
- automatisk
- Automatisering
- tilgjengelig
- AWS
- være
- under
- bygge
- virksomhet
- Kan få
- evner
- valgt ut
- klassifisering
- Cloud
- kode
- kompatibilitet
- Konkurranser
- fullføre
- komponenter
- datamaskin
- databehandling
- Konfigurasjon
- fortsetter
- Tilsvarende
- Kostnader
- skape
- skaper
- kriterier
- Gjeldende
- Nåværende situasjon
- Kunder
- dato
- dataforsker
- dedikert
- dyp
- utplassere
- utplasserings
- distribusjon
- beskrive
- utforming
- utforme
- detalj
- detaljer
- Gjenkjenning
- utviklere
- Utvikling
- forskjellig
- direkte
- distribueres
- lett
- lett-å-bruke
- muliggjøre
- muliggjør
- Endpoint
- avgjørende
- evaluere
- evaluering
- eksempel
- eksempler
- ekspertise
- FAST
- Trekk
- Egenskaper
- Først
- fokuserer
- etter
- følger
- Rammeverk
- fra
- funksjon
- funksjoner
- general
- å ha
- hjelper
- her.
- holder
- Hvordan
- HTTPS
- Hybrid
- bilde
- bilder
- iverksette
- gjennomføring
- implementert
- inkludere
- individuelt
- inngang
- installere
- integrert
- IT
- Jobb
- kunnskap
- lab
- siste
- læring
- Bibliotek
- linjer
- plassering
- Se
- maskin
- maskinlæring
- vedlikeholde
- administrer
- fikk til
- nevnt
- ML
- modell
- modeller
- modulære
- overvåking
- mer
- flere
- nemlig
- nødvendig
- trenger
- neste
- tilbudt
- Tilbud
- offline
- på nett
- Annen
- ellers
- samlet
- egen
- paris
- del
- lidenskapelig
- forestillinger
- utfører
- fase
- Pizza
- avstemning
- presentere
- gaver
- problemer
- prosess
- Prosesser
- prosessering
- gi
- område
- Raw
- utgitt
- påkrevd
- Ressurser
- Resultater
- gjenoppta
- avkastning
- Kjør
- samme
- Forsker
- valgt
- tjeneste
- Tjenester
- sett
- flere
- Vis
- ferdigheter
- So
- løsning
- Solutions
- noen
- Sports
- Spot
- stående
- startet
- starter
- Tilstand
- state-of-the-art
- Stater
- status
- oppbevare
- butikker
- styrke
- vellykket
- Støttes
- Støtter
- lag
- telekom
- test
- De
- tre
- terskel
- Gjennom
- tid
- verktøy
- topp
- mot
- spor
- Tog
- Kurs
- Transform
- bruke
- syn
- om
- mens
- innenfor
- uten
- Arbeid
- arbeidsflyt
- skriving
- Din