Amazon SageMaker Autopilot, en lavkode maskinlæringstjeneste (ML), der automatisk bygger, træner og tuner de bedste ML-modeller baseret på tabeldata, er nu integreret med Amazon SageMaker Pipelines, den første specialbyggede kontinuerlig integration og kontinuerlig levering (CI/CD) service til ML. Dette muliggør automatisering af et end-to-end flow af bygning af ML-modeller ved hjælp af Autopilot og integration af modeller i efterfølgende CI/CD-trin.
Indtil videre, for at starte et autopilot-eksperiment inden for Pipelines, skal du bygge en modelbyggende arbejdsgang ved at skrive tilpasset integrationskode med Pipelines Lambda or Behandles trin. For mere information, se Flyt Amazon SageMaker Autopilot ML-modeller fra eksperimentering til produktion ved hjælp af Amazon SageMaker Pipelines.
Med understøttelsen af Autopilot som et indbygget trin i Pipelines, kan du nu tilføje et automatiseret træningstrin (AutoMLStep) i Pipelines og påberåbe et Autopilot-eksperiment med Ensembling af træningstilstand. Hvis du f.eks. opbygger et trænings- og evaluerings-ML-workflow til et tilfælde af svindeldetektering med Pipelines, kan du nu starte et autopilot-eksperiment ved hjælp af AutoML-trinnet, som automatisk kører flere forsøg for at finde den bedste model på et givet inputdatasæt . Efter den bedste model er oprettet ved hjælp af Model trin, kan dens ydeevne evalueres på testdata ved hjælp af Transform trin og en Bearbejdningstrin for et tilpasset evalueringsscript i Pipelines. Til sidst kan modellen registreres i SageMaker-modelregistret ved hjælp af Model trin i kombination med en Tilstandstrin.
I dette indlæg viser vi, hvordan man opretter et end-to-end ML-workflow for at træne og evaluere en SageMaker-genereret ML-model ved hjælp af det nyligt lancerede AutoML-trin i Pipelines og registrere det med SageMaker-modelregistret. ML-modellen med den bedste ydeevne kan implementeres til et SageMaker-slutpunkt.
Datasæt oversigt
Vi bruger det offentligt tilgængelige UCI Adult 1994 Census Income datasæt at forudsige, om en person har en årlig indkomst på mere end $50,000 om året. Dette er et binært klassifikationsproblem; mulighederne for indkomstmålvariablen er enten 50K.
Datasættet indeholder 32,561 rækker til træning og validering og 16,281 rækker til test med hver 15 kolonner. Dette omfatter demografiske oplysninger om enkeltpersoner og class
som målkolonnen, der angiver indkomstklassen.
Kolonnenavn | Beskrivelse |
alder | Kontinuerlig |
arbejdsklasse | Privat, Self-emp-not-inc, Self-emp-inc, Federal-gov, Local-gov, State-gov, Uden løn, Aldrig arbejdet |
fnlwgt | Kontinuerlig |
uddannelse | Bachelor, Some-college, 11., HS-grad, Prof-skole, Assoc-acdm, Assoc-voc, 9., 7.-8., 12., Master, 1.-4., 10., Doktorgrad, 5.-6. |
uddannelses-num | Kontinuerlig |
Civilstand | Gift-civ-ægtefælle, Skilt, Aldrig gift, Separeret, Enke, Gift-ægtefælle-fraværende, Gift-AF-ægtefælle |
besættelse | Teknisk support, Håndværksreparation, Anden-service, Salg, Executive-ledelse, Prof-special, Håndtere-rensere, Machine-op-inspct, Adm-kontor, Farming-fishing, Transport-flytning, Priv-house-serv, Beskyttelsestjeneste, væbnede styrker |
forhold | Hustru, Eget barn, Mand, Ikke-i-familie, Anden-slægtning, Ugift |
løb | Hvid, Asiatisk-Pac-Islander, Amer-Indisk-Eskimo, Andet, Sort |
køn | Kvinde mand |
kapitalgevinst | Kontinuerlig |
kapitaltab | Kontinuerlig |
timer om ugen | Kontinuerlig |
oprindelses land | USA, Cambodia, England, Puerto-Rico, Canada, Tyskland, Udkant-USA (Guam-USVI-etc), Indien, Japan, Grækenland, Syd, Kina, Cuba, Iran, Honduras, Filippinerne, Italien, Polen, Jamaica , Vietnam, Mexico, Portugal, Irland, Frankrig, Den Dominikanske Republik, Laos, Ecuador, Taiwan, Haiti, Columbia, Ungarn, Guatemala, Nicaragua, Skotland, Thailand, Jugoslavien, El-Salvador, Trinadad&Tobago, Peru, Hong, Holland-Holland |
klasse | Indkomstklasse, enten 50K |
Løsningsoversigt
Vi bruger Pipelines til at orkestrere forskelligt pipeline trin kræves for at træne en autopilotmodel. Vi skaber og driver en Autopilot eksperiment som en del af et AutoML-trin som beskrevet i denne øvelse.
Følgende trin er nødvendige for denne ende-til-ende autopilottræningsproces:
- Opret og overvåg et autopilottræningsjob ved hjælp af
AutoMLStep
. - Opret en SageMaker-model vha
ModelStep
. Dette trin henter den bedste models metadata og artefakter gengivet af Autopilot i det forrige trin. - Evaluer den trænede autopilotmodel på et testdatasæt vha
TransformStep
. - Sammenlign output fra den tidligere kørsel
TransformStep
med de faktiske måletiketter ved hjælp afProcessingStep
. - Registrer ML-modellen til SageMaker modelregistrering ved brug af
ModelStep
, hvis den tidligere opnåede evalueringsmetrik overstiger en foruddefineret tærskel iConditionStep
. - Implementer ML-modellen som et SageMaker-slutpunkt til testformål.
arkitektur
Arkitekturdiagrammet nedenfor illustrerer de forskellige pipeline-trin, der er nødvendige for at pakke alle trinene i en reproducerbar, automatiseret og skalerbar SageMaker Autopilot-træningspipeline. Datafilerne læses fra S3-bøtten, og pipeline-trinene kaldes sekventielt.
Går igennem
Dette indlæg giver en detaljeret forklaring af pipeline-trinene. Vi gennemgår koden og diskuterer komponenterne i hvert trin. For at implementere løsningen, se eksempel notesbog, som giver trin-for-trin instruktioner til implementering af en autopilot MLOps arbejdsgang ved hjælp af Pipelines.
Forudsætninger
Fuldfør følgende forudsætninger:
Når datasættet er klar til brug, skal vi konfigurere Pipelines for at etablere en gentagelig proces til automatisk at bygge og træne ML-modeller ved hjælp af Autopilot. Vi bruger SageMaker SDK at programmere definere, køre og spore en end-to-end ML træningspipeline.
Rørledningstrin
I de følgende afsnit gennemgår vi de forskellige trin i SageMaker-pipelinen, herunder AutoML-træning, modeloprettelse, batch-inferens, evaluering og betinget registrering af den bedste model. Følgende diagram illustrerer hele rørledningens flow.
AutoML træningstrin
An AutoML objekt bruges til at definere autopilotens træningsjob og kan føjes til SageMaker-pipelinen ved at bruge AutoMLStep
klasse, som vist i følgende kode. Ensemblingstræningstilstanden skal specificeres, men andre parametre kan justeres efter behov. For eksempel i stedet for at lade AutoML-jobbet automatisk udlede ML problemtype , objektiv metrik, kan disse hardkodes ved at specificere problem_type
, job_objective
parametre sendt til AutoML-objektet.
Trin til oprettelse af model
AutoML-trinnet sørger for at generere forskellige ML-modelkandidater, kombinere dem og opnå den bedste ML-model. Modelartefakter og metadata gemmes automatisk og kan fås ved at ringe til get_best_auto_ml_model()
metode på AutoML-træningstrinnet. Disse kan derefter bruges til at oprette en SageMaker-model som en del af Model-trinnet:
Batchtransformation og evalueringstrin
Vi bruger Transformer objekt forum batch slutning på testdatasættet, som derefter kan bruges til evalueringsformål. Output-forudsigelserne sammenlignes med de faktiske eller jordede sandhedsetiketter ved hjælp af en Scikit-learn metrics-funktion. Vi evaluerer vores resultater ud fra f1 score. Ydeevnemålingerne gemmes i en JSON-fil, som der refereres til, når modellen registreres i det efterfølgende trin.
Betingede registreringstrin
I dette trin registrerer vi vores nye autopilotmodel til SageMaker-modelregistret, hvis den overskrider den foruddefinerede evalueringsmetriske tærskel.
Opret og kør pipelinen
Når vi har defineret trinene, kombinerer vi dem til en SageMaker-pipeline:
Trinene køres i sekventiel rækkefølge. Pipelinen kører alle trinene for et AutoML-job ved hjælp af Autopilot og Pipelines til træning, modelevaluering og modelregistrering.
Du kan se den nye model ved at navigere til modelregistret på Studio-konsollen og åbne AutoMLModelPackageGroup
. Vælg en hvilken som helst version af et træningsjob for at se de objektive målinger på Model kvalitet fane.
Du kan se forklaringsrapporten på Forklarlighed fanen for at forstå din models forudsigelser.
For at se det underliggende autopiloteksperiment for alle modeller, der er oprettet i AutoMLStep
, navigere til AutoML side og vælg jobnavnet.
Implementer modellen
Efter at vi manuelt har gennemgået ML-modellens ydeevne, kan vi implementere vores nyoprettede model til et SageMaker-slutpunkt. Til dette kan vi køre cellerne i notesbogen, der skaber modelslutpunktet ved hjælp af modelkonfigurationen, der er gemt i SageMaker-modelregistret.
Bemærk, at dette script deles til demonstrationsformål, men det anbefales at følge en mere robust CI/CD-pipeline til produktionsimplementering til ML-inferens. For mere information, se Opbygning, automatisering, styring og skalering af ML-arbejdsgange ved hjælp af Amazon SageMaker Pipelines.
Resumé
Dette indlæg beskriver en letanvendelig ML-pipeline-tilgang til automatisk at træne tabelformede ML-modeller (AutoML) ved hjælp af Autopilot, Pipelines og Studio. AutoML forbedrer ML-praktikeres effektivitet og accelererer vejen fra ML-eksperimentering til produktion uden behov for omfattende ML-ekspertise. Vi skitserer de respektive pipeline-trin, der er nødvendige for oprettelse, evaluering og registrering af ML-modeller. Kom i gang ved at prøve eksempel notesbog at træne og implementere dine egne brugerdefinerede AutoML-modeller.
For mere information om autopilot og rørledninger, se Automatiser modeludvikling med Amazon SageMaker Autopilot , Amazon SageMaker Pipelines.
En særlig tak til alle, der har bidraget til lanceringen: Shenghua Yue, John He, Ao Guo, Xinlu Tu, Tian Qin, Yanda Hu, Zhankui Lu og Dewen Qi.
Om forfatterne
Janisha Anand er Senior Product Manager i SageMaker Low/No Code ML-teamet, som omfatter SageMaker Autopilot. Hun nyder kaffe, at holde sig aktiv og tilbringe tid med sin familie.
Marcelo Aberle er ML-ingeniør hos AWS AI. Han hjælper Amazon ML Solutions Lab kunder bygger skalerbare ML(-Ops) systemer og rammer. I sin fritid nyder han at vandre og cykle i San Francisco Bay Area.
Geremy Cohen er Solutions Architect hos AWS, hvor han hjælper kunder med at bygge banebrydende, cloud-baserede løsninger. I sin fritid nyder han korte gåture på stranden, udforske bugten med sin familie, ordne ting omkring huset, bryde ting rundt i huset og grille.
Shenghua Yue er softwareudviklingsingeniør hos Amazon SageMaker. Hun fokuserer på at bygge ML værktøjer og produkter til kunder. Uden for arbejdet nyder hun at være udendørs, yoga og vandreture.
- Avanceret (300)
- AI
- ai kunst
- ai kunst generator
- en robot
- Amazon SageMaker
- Amazon SageMaker Autopilot
- Amazon SageMaker Pipelines
- kunstig intelligens
- certificering af kunstig intelligens
- kunstig intelligens i banksektoren
- kunstig intelligens robot
- kunstig intelligens robotter
- software til kunstig intelligens
- AWS maskinindlæring
- blockchain
- blockchain konference ai
- coingenius
- samtale kunstig intelligens
- kryptokonference ai
- dalls
- dyb læring
- du har google
- machine learning
- MLOps
- plato
- platon ai
- Platon Data Intelligence
- Platon spil
- PlatoData
- platogaming
- skala ai
- syntaks
- zephyrnet