At køre maskinlæringseksperimenter (ML) i skyen kan spænde over mange tjenester og komponenter. Evnen til at strukturere, automatisere og spore ML-eksperimenter er afgørende for at muliggøre hurtig udvikling af ML-modeller. Med de seneste fremskridt inden for automatiseret maskinlæring (AutoML), nemlig området for ML dedikeret til automatisering af ML-processer, kan du bygge nøjagtige beslutningsmodeller uden at have brug for dyb ML-viden. I dette indlæg ser vi på AutoGluon, en open source AutoML-ramme, der giver dig mulighed for at bygge nøjagtige ML-modeller med blot et par linjer Python.
AWS tilbyder en bred vifte af tjenester til at administrere og køre ML-arbejdsgange, så du kan vælge en løsning baseret på dine færdigheder og applikation. For eksempel hvis du allerede bruger AWS-trinfunktioner for at orkestrere komponenterne i distribuerede applikationer, kan du bruge den samme service til at bygge og automatisere dine ML-arbejdsgange. Andre MLOps-værktøjer, der tilbydes af AWS, inkluderer Amazon SageMaker Pipelines, som giver dig mulighed for at bygge ML-modeller ind Amazon SageMaker Studio med MLOps-funktioner (såsom CI/CD-kompatibilitet, modelovervågning og modelgodkendelser). Open source værktøjer, som f.eks Apache luftstrøm— tilgængelig på AWS gennem Amazon administrerede arbejdsgange til Apache Airflow-og KubeFlow, såvel som hybridløsninger, understøttes også. For eksempel kan du administrere dataindtagelse og -behandling med Step Functions, mens du træner og implementerer dine ML-modeller med SageMaker Pipelines.
I dette indlæg viser vi, hvordan selv udviklere uden ML-ekspertise nemt kan bygge og vedligeholde state-of-the-art ML-modeller ved hjælp af AutoGluon på Amazon SageMaker og trinfunktioner til at orkestrere workflow-komponenter.
Efter en oversigt over AutoGluon-algoritmen præsenterer vi arbejdsflowdefinitionerne sammen med eksempler og en kode tutorial som du kan anvende på dine egne data.
AutoGluon
AutoGluon er en open source AutoML-ramme, der accelererer overtagelsen af ML ved at træne nøjagtige ML-modeller med blot et par linjer Python-kode. Selvom dette indlæg fokuserer på tabeldata, giver AutoGluon dig også mulighed for at træne state-of-the-art modeller til billedklassificering, objektgenkendelse og tekstklassificering. AutoGluon tabular skaber og kombinerer forskellige modeller for at finde den optimale løsning.
AutoGluon-teamet hos AWS udgav en papir der præsenterer de principper, der strukturerer biblioteket:
- Enkelhed – Du kan oprette klassifikations- og regressionsmodeller direkte fra rådata uden at skulle analysere dataene eller udføre funktionsudvikling
- Robusthed – Det overordnede træningsforløb skal lykkes, selvom nogle af de enkelte modeller fejler
- Forudsigelig timing – Du kan opnå optimale resultater inden for den tid, du ønsker at investere i træning
- Fejltolerance – Du kan stoppe træningen og genoptage den til enhver tid, hvilket optimerer omkostningerne, hvis processen kører på spotbilleder i skyen
For flere detaljer om algoritmen, se papir udgivet af AutoGluon-teamet hos AWS.
Efter du har installeret AutoGluon pakke og dens afhængigheder er det lige så nemt at træne en model som at skrive tre linjer kode:
AutoGluon-teamet beviste styrken af rammerne ved at nå top 10-ranglisten i flere Kaggle-konkurrencer.
Løsningsoversigt
Vi bruger Step Functions til at implementere et ML-workflow, der dækker træning, evaluering og implementering. Pipeline-designet muliggør hurtige og konfigurerbare eksperimenter ved at ændre de inputparametre, som du indlæser i pipelinen under kørsel.
Du kan konfigurere pipelinen til at implementere forskellige arbejdsgange, såsom følgende:
- Træn en ny ML-model og gem den i SageMaker-modelregistret, hvis der ikke er behov for implementering på dette tidspunkt
- Implementer en præ-trænet ML-model, enten til online (SageMaker slutpunkt) eller offline (SageMaker batch transformation) slutning
- Kør en komplet pipeline for at træne, evaluere og implementere en ML-model fra bunden
Løsningerne består af en generel tilstand maskine (se følgende diagram), der orkestrerer det sæt af handlinger, der skal køres, baseret på et sæt inputparametre.
Trinene i tilstandsmaskinen er som følger:
- Det første skridt
IsTraining
bestemmer, om vi bruger en fortrænet model eller træner en model fra bunden. Hvis du bruger en fortrænet model, springer tilstandsmaskinen til trin 7. - Når en ny ML-model er påkrævet,
TrainSteps
udløser en anden tilstandsmaskine, der udfører alle de nødvendige handlinger og returnerer resultatet til den aktuelle tilstandsmaskine. Vi går mere i detaljer om træningstilstandsmaskinen i næste afsnit. - Når træningen er færdig,
PassModelName
gemmer træningsjobnavnet på en specificeret placering af tilstandsmaskinens kontekst for at blive genbrugt i følgende tilstande. - Hvis en evalueringsfase vælges,
IsEvaluation
omdirigerer statsmaskinen mod evalueringsgrenen. Ellers springer den til trin 7. - Evalueringsfasen implementeres derefter ved hjælp af en AWS Lambda funktion påberåbt af
ModelValidation
trin. Lambda-funktionen henter modellens ydeevne på et testsæt og sammenligner den med en brugerkonfigurerbar tærskel, der er angivet i inputparametrene. Følgende kode er et eksempel på evalueringsresultater: - Hvis modelevalueringen kl
EvaluationResults
er vellykket, fortsætter tilstandsmaskinen med eventuelle implementeringstrin. Hvis modellen yder under et brugerdefineret kriterium, stopper tilstandsmaskinen, og implementeringen springes over. - Hvis implementering er valgt,
IsDeploy
starter en tredjestatsmaskine igennemDeploySteps
, som vi beskriver senere i dette indlæg. Hvis implementering ikke er nødvendig, stopper tilstandsmaskinen her.
Et sæt inputparametereksempler er tilgængeligt på GitHub repo.
Træningsstatsmaskine
Tilstandsmaskinen til træning af en ny ML-model ved hjælp af AutoGluon består af to trin, som illustreret i det følgende diagram. Det første skridt er et SageMaker træningsjob, der skaber modellen. Den anden gemmer indtastningerne i SageMaker-modelregistret.
Du kan køre disse trin enten automatisk som en del af hovedtilstandsmaskinen eller som en selvstændig proces.
Implementeringstilstandsmaskine
Lad os nu se på tilstandsmaskinen dedikeret til implementeringsfasen (se følgende diagram). Som tidligere nævnt understøtter arkitekturen både online og offline implementering. Førstnævnte består i at implementere et SageMaker-slutpunkt, hvorimod sidstnævnte kører et SageMaker-batchtransformationsjob.
Implementeringstrinene er som følger:
ChoiceDeploymentMode
ser på inputparametrene for at definere, hvilken implementeringstilstand der er nødvendig og dirigerer tilstandsmaskinen mod den tilsvarende gren.- Hvis et slutpunkt vælges,
EndpointConfig
trin definerer dens konfiguration, mensCreateEndpoint
starter processen med at allokere de nødvendige computerressourcer. Denne tildeling kan tage flere minutter, så statsmaskinen holder pause klWaitForEndpoint
og bruger en Lambda-funktion til at polle endepunktets status. - Mens slutpunktet konfigureres,
ChoiceEndpointStatus
vender tilbage tilWaitForEndpoint
stat, ellers fortsætter det med at entenDeploymentFailed
orDeploymentSucceeded
. - Hvis offline-implementering er valgt, kører tilstandsmaskinen et SageMaker batchtransformationsjob, hvorefter tilstandsmaskinen stopper.
Konklusion
Dette indlæg præsenterer en brugervenlig pipeline til at orkestrere AutoML-arbejdsgange og muliggøre hurtige eksperimenter i skyen, hvilket giver mulighed for nøjagtige ML-løsninger uden at kræve avanceret ML-viden.
Vi leverer en generel pipeline samt to modulære, der giver dig mulighed for at udføre træning og implementering separat, hvis det er nødvendigt. Desuden er løsningen fuldt integreret med SageMaker og drager fordel af dens funktioner og beregningsressourcer.
Kom i gang nu med dette kode tutorial at implementere ressourcerne præsenteret i dette indlæg på din AWS-konto og køre dine første AutoML-eksperimenter.
Om forfatterne
Federico Piccinini er en Deep Learning Architect for Amazon Machine Learning Solutions Lab. Han er passioneret omkring maskinlæring, forklarlig AI og MLOps. Han fokuserer på at designe ML-pipelines til AWS-kunder. Uden for arbejdet holder han af sport og pizza.
Paolo Irrera er dataforsker ved Amazon Machine Learning Solutions Lab, hvor han hjælper kunder med at løse forretningsproblemer med ML- og cloud-funktioner. Han har en PhD i Computer Vision fra Telecom ParisTech, Paris.
- Coinsmart. Europas bedste Bitcoin og Crypto Exchange.
- Platoblokkæde. Web3 Metaverse Intelligence. Viden forstærket. FRI ADGANG.
- CryptoHawk. Altcoin radar. Gratis prøveversion.
- 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
- Konto
- præcis
- tværs
- aktioner
- adresse
- Vedtagelse
- fremskreden
- fremskridt
- AI
- algoritme
- Alle
- allokering
- tillade
- tillader
- allerede
- Skønt
- Amazon
- analysere
- Anvendelse
- applikationer
- Indløs
- arkitektur
- OMRÅDE
- automatisere
- Automatiseret
- automatisk
- Automation
- til rådighed
- AWS
- være
- jf. nedenstående
- bygge
- virksomhed
- Kan få
- kapaciteter
- valgt
- klassificering
- Cloud
- kode
- kompatibilitet
- Konkurrencer
- fuldføre
- komponenter
- computer
- computing
- Konfiguration
- fortsætter
- Tilsvarende
- Omkostninger
- skabe
- skaber
- kriterier
- Nuværende
- Nuværende tilstand
- Kunder
- data
- dataforsker
- dedikeret
- dyb
- indsætte
- implementering
- implementering
- beskrive
- Design
- designe
- detail
- detaljer
- Detektion
- udviklere
- Udvikling
- forskellige
- direkte
- distribueret
- nemt
- nem at bruge
- muliggøre
- muliggør
- Endpoint
- væsentlig
- evaluere
- evaluering
- eksempel
- eksempler
- ekspertise
- FAST
- Feature
- Funktionalitet
- Fornavn
- fokuserer
- efter
- følger
- Framework
- fra
- funktion
- funktioner
- Generelt
- have
- hjælper
- link.
- besidder
- Hvordan
- HTTPS
- Hybrid
- billede
- billeder
- gennemføre
- implementering
- implementeret
- omfatter
- individuel
- indgang
- installere
- integreret
- IT
- Job
- viden
- lab
- seneste
- læring
- Bibliotek
- linjer
- placering
- Se
- maskine
- machine learning
- vedligeholde
- administrere
- lykkedes
- nævnte
- ML
- model
- modeller
- modulær
- overvågning
- mere
- flere
- nemlig
- nødvendig
- behøve
- næste
- tilbydes
- Tilbud
- offline
- online
- Andet
- Ellers
- samlet
- egen
- Paris
- del
- lidenskabelige
- forestillinger
- udfører
- fase
- Pizza
- afstemning
- præsentere
- gaver
- problemer
- behandle
- Processer
- forarbejdning
- give
- rækkevidde
- Raw
- frigivet
- påkrævet
- Ressourcer
- Resultater
- Genoptag
- afkast
- Kør
- samme
- Videnskabsmand
- valgt
- tjeneste
- Tjenester
- sæt
- flere
- Vis
- færdigheder
- So
- løsninger
- Løsninger
- nogle
- Sport
- Spot
- standalone
- påbegyndt
- starter
- Tilstand
- state-of-the-art
- Stater
- Status
- butik
- forhandler
- styrke
- vellykket
- Understøttet
- Understøtter
- hold
- telecom
- prøve
- tre
- tærskel
- Gennem
- tid
- værktøjer
- top
- mod
- spor
- Tog
- Kurser
- Transform
- brug
- vision
- hvorvidt
- mens
- inden for
- uden
- Arbejde
- arbejdsgange
- skrivning
- Din