Att köra experiment med maskininlärning (ML) i molnet kan sträcka sig över många tjänster och komponenter. Förmågan att strukturera, automatisera och spåra ML-experiment är avgörande för att möjliggöra snabb utveckling av ML-modeller. Med de senaste framstegen inom området för automatiserad maskininlärning (AutoML), nämligen området för ML som är dedikerat till automatisering av ML-processer, kan du bygga exakta beslutsfattande modeller utan att behöva djup ML-kunskap. I det här inlägget tittar vi på AutoGluon, ett AutoML-ramverk med öppen källkod som låter dig bygga exakta ML-modeller med bara några rader Python.
AWS erbjuder ett brett utbud av tjänster för att hantera och köra ML-arbetsflöden, så att du kan välja en lösning baserat på dina kunskaper och applikationer. Till exempel om du redan använder AWS stegfunktioner för att orkestrera komponenterna i distribuerade applikationer kan du använda samma tjänst för att bygga och automatisera dina ML-arbetsflöden. Andra MLOps-verktyg som erbjuds av AWS inkluderar Amazon SageMaker-rörledningar, som gör att du kan bygga in ML-modeller Amazon SageMaker Studio med MLOps-funktioner (som CI/CD-kompatibilitet, modellövervakning och modellgodkännanden). Verktyg med öppen källkod, som t.ex Apache luftflöde—tillgänglig på AWS genom Amazon Managed Workflows för Apache Airflow-och KubeFlow, såväl som hybridlösningar, stöds också. Till exempel kan du hantera dataintag och bearbetning med Step Functions medan du tränar och distribuerar dina ML-modeller med SageMaker Pipelines.
I det här inlägget visar vi hur även utvecklare utan ML-expertis enkelt kan bygga och underhålla toppmoderna ML-modeller med AutoGluon på Amazon SageMaker och stegfunktioner för att orkestrera arbetsflödeskomponenter.
Efter en översikt över AutoGluon-algoritmen presenterar vi arbetsflödesdefinitionerna tillsammans med exempel och en kod handledning som du kan tillämpa på dina egna uppgifter.
AutoGluon
AutoGluon är ett AutoML-ramverk med öppen källkod som påskyndar införandet av ML genom att träna korrekta ML-modeller med bara några rader Python-kod. Även om det här inlägget fokuserar på tabelldata låter AutoGluon dig också träna toppmoderna modeller för bildklassificering, objektdetektering och textklassificering. AutoGluon tabular skapar och kombinerar olika modeller för att hitta den optimala lösningen.
AutoGluon-teamet på AWS släppte en papper som presenterar principerna som strukturerar biblioteket:
- Enkelhet – Du kan skapa klassificerings- och regressionsmodeller direkt från rådata utan att behöva analysera data eller utföra funktionsteknik
- Robusthet – Den övergripande utbildningsprocessen ska lyckas även om några av de enskilda modellerna misslyckas
- Förutsägbar timing – Du kan få optimala resultat inom den tid du vill investera för träning
- Feltolerans – Du kan stoppa träningen och återuppta den när som helst, vilket optimerar kostnaderna om processen körs på punktbilder i molnet
För mer information om algoritmen, se papper släppt av AutoGluon-teamet på AWS.
När du har installerat AutoGluon-paket och dess beroenden är det lika enkelt att träna en modell som att skriva tre rader kod:
AutoGluon-teamet bevisade styrkan i ramverket genom att nå topp 10 topplistor i flera Kaggle-tävlingar.
Lösningsöversikt
Vi använder Step Functions för att implementera ett ML-arbetsflöde som täcker utbildning, utvärdering och implementering. Pipelinedesignen möjliggör snabba och konfigurerbara experiment genom att modifiera indataparametrarna som du matar in i pipelinen vid körning.
Du kan konfigurera pipeline för att implementera olika arbetsflöden, till exempel följande:
- Träna en ny ML-modell och lagra den i SageMaker-modellregistret, om ingen distribution behövs vid denna tidpunkt
- Implementera en förutbildad ML-modell, antingen för online (SageMaker slutpunkt) eller offline (SageMaker batch-transformation) slutledning
- Kör en komplett pipeline för att träna, utvärdera och distribuera en ML-modell från grunden
Lösningarna består av en generell statsmaskin (se följande diagram) som orkestrerar uppsättningen av åtgärder som ska köras baserat på en uppsättning indataparametrar.
Stegen för tillståndsmaskinen är som följer:
- Det första steget
IsTraining
avgör om vi använder en förtränad modell eller tränar en modell från grunden. Om du använder en förtränad modell hoppar tillståndsmaskinen till steg 7. - När en ny ML-modell krävs,
TrainSteps
triggar en andra tillståndsmaskin som utför alla nödvändiga åtgärder och returnerar resultatet till den aktuella tillståndsmaskinen. Vi går in mer i detalj på träningstillståndsmaskinen i nästa avsnitt. - När träningen är klar,
PassModelName
lagrar utbildningsjobbnamnet på en specificerad plats i tillståndsmaskinkontexten för att återanvändas i följande tillstånd. - Om en utvärderingsfas väljs,
IsEvaluation
omdirigerar tillståndsmaskinen mot utvärderingsgrenen. Annars hoppar den till steg 7. - Utvärderingsfasen implementeras sedan med hjälp av en AWS Lambda funktion som anropas av
ModelValidation
steg. Lambdafunktionen hämtar modellprestanda på en testset och jämför den med en användarkonfigurerbar tröskel som anges i ingångsparametrarna. Följande kod är ett exempel på utvärderingsresultat: - Om modellutvärderingen kl
EvaluationResults
är framgångsrik, fortsätter tillståndsmaskinen med eventuella implementeringssteg. Om modellen presterar under ett användardefinierat kriterium, stannar tillståndsmaskinen och distributionen hoppas över. - Om distribution väljs,
IsDeploy
startar en tredje tillståndsmaskin igenomDeploySteps
, som vi beskriver senare i detta inlägg. Om driftsättning inte behövs stannar tillståndsmaskinen här.
En uppsättning ingångsparametersampler finns tillgängliga på GitHub repo.
Träningstillståndsmaskin
Tillståndsmaskinen för att träna en ny ML-modell med AutoGluon består av två steg, som illustreras i följande diagram. Det första steget är ett SageMaker-utbildningsjobb som skapar modellen. Den andra sparar posterna i SageMaker-modellregistret.
Du kan köra dessa steg antingen automatiskt som en del av huvudtillståndsmaskinen eller som en fristående process.
Driftstillståndsmaskin
Låt oss nu titta på tillståndsmaskinen dedikerad till distributionsfasen (se följande diagram). Som nämnts tidigare stöder arkitekturen både online- och offlinedistribution. Den förra består av att distribuera en SageMaker-slutpunkt, medan den senare kör ett SageMaker-batchtransformeringsjobb.
Implementeringsstegen är följande:
ChoiceDeploymentMode
undersöker ingångsparametrarna för att definiera vilket distributionsläge som behövs och dirigerar tillståndsmaskinen mot motsvarande gren.- Om en slutpunkt väljs,
EndpointConfig
steg definierar dess konfiguration, medanCreateEndpoint
startar processen med att allokera de nödvändiga datorresurserna. Denna tilldelning kan ta flera minuter, så tillståndsmaskinen pausar klWaitForEndpoint
och använder en lambdafunktion för att polla slutpunktens status. - Medan slutpunkten konfigureras,
ChoiceEndpointStatus
återgår tillWaitForEndpoint
stat, annars fortsätter det att antingenDeploymentFailed
orDeploymentSucceeded
. - Om offline-distribution väljs kör tillståndsmaskinen ett SageMaker batchtransformeringsjobb, varefter tillståndsmaskinen stoppar.
Slutsats
Det här inlägget presenterar en lättanvänd pipeline för att orkestrera AutoML-arbetsflöden och möjliggöra snabba experiment i molnet, vilket möjliggör korrekta ML-lösningar utan att kräva avancerad ML-kunskap.
Vi tillhandahåller en allmän pipeline samt två modulära sådana som gör att du kan utföra utbildning och driftsättning separat om det behövs. Dessutom är lösningen helt integrerad med SageMaker och drar nytta av dess funktioner och beräkningsresurser.
Kom igång med detta nu kod handledning för att distribuera resurserna som presenteras i det här inlägget i ditt AWS-konto och köra dina första AutoML-experiment.
Om författarna
Federico Piccinini är en Deep Learning Architect för Amazon Machine Learning Solutions Lab. Han brinner för maskininlärning, förklarlig AI och MLOps. Han fokuserar på att designa ML-pipelines för AWS-kunder. Utanför jobbet gillar han sport och pizza.
Paolo Irrera är en dataforskare vid Amazon Machine Learning Solutions Lab, där han hjälper kunder att ta itu med affärsproblem med ML och molnfunktioner. Han har en doktorsexamen i datorseende från Telecom ParisTech, Paris.
- Myntsmart. Europas bästa bitcoin- och kryptobörs.
- Platoblockchain. Web3 Metaverse Intelligence. Kunskap förstärkt. FRI TILLGÅNG.
- CryptoHawk. Altcoin radar. Gratis provperiod.
- Källa: https://aws.amazon.com/blogs/machine-learning/manage-automl-workflows-with-aws-step-functions-and-autogluon-on-amazon-sagemaker/
- "
- 10
- 100
- 7
- a
- förmåga
- Om Oss
- Konto
- exakt
- tvärs
- åtgärder
- adress
- Antagande
- avancerat
- framsteg
- AI
- algoritm
- Alla
- fördelning
- tillåta
- tillåter
- redan
- Även
- amason
- analysera
- Ansökan
- tillämpningar
- Ansök
- arkitektur
- OMRÅDE
- automatisera
- Automatiserad
- automatiskt
- Automation
- tillgänglig
- AWS
- Där vi får lov att vara utan att konstant prestera,
- nedan
- SLUTRESULTAT
- företag
- Kan få
- kapacitet
- valda
- klassificering
- cloud
- koda
- kompatibilitet
- Tävlingar
- fullborda
- komponenter
- dator
- databehandling
- konfiguration
- fortsätter
- Motsvarande
- Kostar
- skapa
- skapar
- kriterier
- Aktuella
- Nuvarande tillstånd
- Kunder
- datum
- datavetare
- dedicerad
- djup
- distribuera
- utplacera
- utplacering
- beskriva
- Designa
- design
- detalj
- detaljer
- Detektering
- utvecklare
- Utveckling
- olika
- direkt
- distribueras
- lätt
- LÄTTANVÄND
- möjliggöra
- möjliggör
- Slutpunkt
- väsentlig
- utvärdera
- utvärdering
- exempel
- exempel
- expertis
- SNABB
- Leverans
- Funktioner
- Förnamn
- fokuserar
- efter
- följer
- Ramverk
- från
- fungera
- funktioner
- Allmänt
- har
- hjälper
- här.
- innehar
- Hur ser din drömresa ut
- HTTPS
- Hybrid
- bild
- bilder
- genomföra
- genomförande
- genomföras
- innefattar
- individuellt
- ingång
- installera
- integrerade
- IT
- Jobb
- kunskap
- lab
- senaste
- inlärning
- Bibliotek
- rader
- läge
- se
- Maskinen
- maskininlärning
- bibehålla
- hantera
- förvaltade
- nämnts
- ML
- modell
- modeller
- modulära
- övervakning
- mer
- multipel
- nämligen
- nödvändigt för
- behöver
- Nästa
- erbjuds
- Erbjudanden
- offline
- nätet
- Övriga
- annat
- övergripande
- egen
- paris
- del
- brinner
- föreställningar
- utför
- fas
- Pizza
- enkät
- presentera
- presenterar
- problem
- process
- processer
- bearbetning
- ge
- område
- Raw
- frigörs
- Obligatorisk
- Resurser
- Resultat
- Fortsätt
- återgår
- Körning
- Samma
- Forskare
- vald
- service
- Tjänster
- in
- flera
- show
- färdigheter
- So
- lösning
- Lösningar
- några
- Sporter
- Spot
- fristående
- igång
- startar
- Ange
- state-of-the-art
- Stater
- status
- lagra
- lagrar
- hållfasthet
- framgångsrik
- Som stöds
- Stöder
- grupp
- telecom
- testa
- Smakämnen
- tre
- tröskelvärde
- Genom
- tid
- verktyg
- topp
- mot
- spår
- Tåg
- Utbildning
- Förvandla
- användning
- syn
- om
- medan
- inom
- utan
- Arbete
- arbetsflöden
- skrivning
- Din