Start Amazon SageMaker Autopilot-eksperimenter direkte fra Amazon SageMaker Pipelines for enkelt å automatisere MLOps-arbeidsflyter PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Start Amazon SageMaker Autopilot-eksperimenter direkte fra Amazon SageMaker Pipelines for enkelt å automatisere MLOps-arbeidsflyter

Amazon SageMaker Autopilot, en lavkode maskinlæringstjeneste (ML) som automatisk bygger, trener og justerer de beste ML-modellene basert på tabelldata, er nå integrert med Amazon SageMaker-rørledninger, den første spesialbygde tjenesten for kontinuerlig integrasjon og kontinuerlig levering (CI/CD) for ML. Dette muliggjør automatisering av en ende-til-ende-flyt av å bygge ML-modeller ved hjelp av autopilot og integrering av modeller i påfølgende CI/CD-trinn.

Så langt, for å starte et Autopilot-eksperiment i Pipelines, må du bygge en modellbyggende arbeidsflyt ved å skrive tilpasset integrasjonskode med Pipelines Lambda or i prosess trinn. For mer informasjon, se Flytt Amazon SageMaker Autopilot ML-modeller fra eksperimentering til produksjon ved hjelp av Amazon SageMaker Pipelines.

Med støtte for Autopilot som et naturlig trinn i Pipelines, kan du nå legge til et automatisert treningstrinn (AutoMLStep) i Pipelines og påkalle et autopiloteksperiment med Ensembling av treningsmodus. Hvis du for eksempel bygger en trenings- og evaluerings-ML-arbeidsflyt for et brukstilfelle for svindeldeteksjon med Pipelines, kan du nå starte et autopilot-eksperiment ved å bruke AutoML-trinnet, som automatisk kjører flere forsøk for å finne den beste modellen på et gitt input-datasett . Etter at den beste modellen er laget ved hjelp av Modelltrinn, kan ytelsen evalueres på testdata ved å bruke Transformeringstrinn og en Behandlingstrinn for et tilpasset evalueringsskript i Pipelines. Etter hvert kan modellen registreres i SageMaker-modellregisteret ved å bruke Modelltrinn i kombinasjon med a Tilstandstrinn.

I dette innlegget viser vi hvordan du oppretter en ende-til-ende ML-arbeidsflyt for å trene og evaluere en SageMaker-generert ML-modell ved å bruke det nylig lanserte AutoML-trinnet i Pipelines og registrere det med SageMaker-modellregisteret. ML-modellen med best ytelse kan distribueres til et SageMaker-endepunkt.

Datasettoversikt

Vi bruker det offentlig tilgjengelige UCI Adult 1994 Census Income datasett å forutsi om en person har en årlig inntekt på mer enn $50,000 50 per år. Dette er et binært klassifiseringsproblem; alternativene for inntektsmålvariabelen er enten XNUMXK.

Datasettet inneholder 32,561 16,281 rader for opplæring og validering og 15 XNUMX rader for testing med XNUMX kolonner hver. Dette inkluderer demografisk informasjon om enkeltpersoner og class som målkolonnen som angir inntektsklassen.

Kolonnenavn Beskrivelse
alder Kontinuerlig
arbeidsklasse Privat, Self-emp-not-inc, Self-emp-inc, Federal-gov, Local-gov, State-gov, Uten lønn, Aldri jobbet
fnlwgt Kontinuerlig
utdanning Bachelor, Some-college, 11., HS-grad, Prof-skole, Assoc-acdm, Assoc-voc, 9., 7.-8., 12., Master, 1.-4., 10., Doktorgrad, 5.-6., Førskole
utdannings-num Kontinuerlig
sivilstatus Gift-borger-ektefelle, Skilt, Aldri-gift, Separert, Enke, Gift-ektefelle-fraværende, Gift-AF-ektefelle
okkupasjon Teknisk støtte, håndverksreparasjoner, annen service, salg, leder, proff-spesialitet, håndtører-rensere, maskinkontroll, kontorist, oppdrettsfiske, transport-flytting, privat-hus-serv, Beskyttelsestjeneste, Forsvaret
forholdet Kone, Eget barn, Ektemann, Ikke-i-familien, Andre-slektninger, Ugift
rase Hvit, Asian-Pac-Islander, Amer-Indian-Eskimo, Annet, Svart
kjønn Kvinne mann
kapitalgevinst Kontinuerlig
kapitaltap Kontinuerlig
timer per uke Kontinuerlig
hjemland USA, Kambodsja, England, Puerto-Rico, Canada, Tyskland, utkant-USA (Guam-USVI-etc), India, Japan, Hellas, Sør, Kina, Cuba, Iran, Honduras, Filippinene, Italia, Polen, Jamaica , Vietnam, Mexico, Portugal, Irland, Frankrike, Den dominikanske republikk, Laos, Ecuador, Taiwan, Haiti, Columbia, Ungarn, Guatemala, Nicaragua, Skottland, Thailand, Jugoslavia, El-Salvador, Trinadad og Tobago, Peru, Hong, Holand-Nederland
klasse Inntektsklasse, enten 50K

Løsningsoversikt

Vi bruker Pipelines til å orkestrere forskjellig rørledningstrinn kreves for å trene en autopilotmodell. Vi lager og driver en Autopiloteksperiment som en del av et AutoML-trinn som beskrevet i denne opplæringen.

Følgende trinn kreves for denne ende-til-ende autopilotopplæringsprosessen:

  • Opprett og overvåk en autopilottreningsjobb ved å bruke AutoMLStep.
  • Lag en SageMaker-modell ved hjelp av ModelStep. Dette trinnet henter den beste modellens metadata og artefakter gjengitt av autopilot i forrige trinn.
  • Evaluer den trente autopilotmodellen på et testdatasett ved hjelp av TransformStep.
  • Sammenlign resultatet fra forrige kjøring TransformStep med de faktiske måletikettene ved hjelp av ProcessingStep.
  • Registrer ML-modellen til SageMaker modellregister ved hjelp av ModelStep, hvis den tidligere oppnådde evalueringsmetrikken overskrider en forhåndsdefinert terskel i ConditionStep.
  • Distribuer ML-modellen som et SageMaker-endepunkt for testformål.

arkitektur

Arkitekturdiagrammet nedenfor illustrerer de forskjellige pipeline-trinnene som er nødvendige for å pakke alle trinnene i en reproduserbar, automatisert og skalerbar SageMaker Autopilot-treningspipeline. Datafilene leses fra S3-bøtten og pipeline-trinnene kalles sekvensielt.

walkthrough

Dette innlegget gir en detaljert forklaring av pipeline-trinnene. Vi gjennomgår koden og diskuterer komponentene i hvert trinn. For å distribuere løsningen, se eksempel notisbok, som gir trinnvise instruksjoner for implementering av en autopilot MLOps arbeidsflyt ved bruk av pipelines.

Forutsetninger

Fullfør følgende forutsetninger:

Når datasettet er klart til bruk, må vi sette opp Pipelines for å etablere en repeterbar prosess for automatisk å bygge og trene ML-modeller ved hjelp av autopilot. Vi bruker SageMaker SDK å programmere definere, kjøre og spore en ende-til-ende ML-treningspipeline.

Rørledningstrinn

I de følgende delene går vi gjennom de forskjellige trinnene i SageMaker-pipelinen, inkludert AutoML-opplæring, modelloppretting, batch-slutning, evaluering og betinget registrering av den beste modellen. Følgende diagram illustrerer hele rørledningsstrømmen.

Start Amazon SageMaker Autopilot-eksperimenter direkte fra Amazon SageMaker Pipelines for enkelt å automatisere MLOps-arbeidsflyter PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

AutoML treningstrinn

An AutoML-objekt brukes til å definere autopilot-opplæringsjobben og kan legges til SageMaker-rørledningen ved å bruke AutoMLStep klasse, som vist i følgende kode. Ensembling-treningsmodusen må spesifiseres, men andre parametere kan justeres etter behov. For eksempel, i stedet for å la AutoML-jobben automatisk utlede ML problemtype og objektiv metrikk, kan disse hardkodes ved å spesifisere problem_type og job_objective parametere som sendes til AutoML-objektet.

automl = AutoML(
    role=execution_role,
    target_attribute_name=target_attribute_name,
    sagemaker_session=pipeline_session,
    total_job_runtime_in_seconds=max_automl_runtime,
    mode="ENSEMBLING",
)
train_args = automl.fit(
    inputs=[
        AutoMLInput(
            inputs=s3_train_val,
            target_attribute_name=target_attribute_name,
            channel_type="training",
        )
    ]
)
step_auto_ml_training = AutoMLStep(
    name="AutoMLTrainingStep",
    step_args=train_args,
)

Trinn for å lage modell

AutoML-trinnet tar seg av å generere ulike ML-modellkandidater, kombinere dem og skaffe den beste ML-modellen. Modellartefakter og metadata lagres automatisk og kan fås ved å ringe get_best_auto_ml_model() metode på AutoML-treningstrinnet. Disse kan deretter brukes til å lage en SageMaker-modell som en del av modelltrinnet:

best_auto_ml_model = step_auto_ml_training.get_best_auto_ml_model(
    execution_role, sagemaker_session=pipeline_session
)
step_args_create_model = best_auto_ml_model.create(instance_type=instance_type)
step_create_model = ModelStep(name="ModelCreationStep", step_args=step_args_create_model)

Batchtransformasjon og evalueringstrinn

Vi bruker Transformatorobjekt forum batch-slutning på testdatasettet, som deretter kan brukes til evalueringsformål. Utgangsspådommene sammenlignes med de faktiske eller grunnsannhetsetikettene ved hjelp av en Scikit-learn-metrikkfunksjon. Vi evaluerer resultatene våre basert på F1-poengsum. Ytelsesberegningene lagres i en JSON-fil, som det refereres til når modellen registreres i det påfølgende trinnet.

Betingede registreringstrinn

I dette trinnet registrerer vi vår nye autopilotmodell til SageMaker-modellregisteret, hvis den overskrider den forhåndsdefinerte evalueringsmetriske terskelen.

Opprett og kjør rørledningen

Etter at vi har definert trinnene, kombinerer vi dem til en SageMaker-pipeline:

pipeline = Pipeline(
    name="AutoMLTrainingPipeline",
    parameters=[
        instance_count,
        instance_type,
        max_automl_runtime,
        model_approval_status,
        model_package_group_name,
        model_registration_metric_threshold,
        s3_bucket,
        target_attribute_name,
    ],
    steps=[
        step_auto_ml_training,
        step_create_model,
        step_batch_transform,
        step_evaluation,
        step_conditional_registration,
    ],
    sagemaker_session=pipeline_session,
)

Trinnene kjøres i sekvensiell rekkefølge. Rørledningen kjører alle trinnene for en AutoML-jobb ved å bruke Autopilot og Pipelines for opplæring, modellevaluering og modellregistrering.

Du kan se den nye modellen ved å navigere til modellregisteret på Studio-konsollen og åpne AutoMLModelPackageGroup. Velg en hvilken som helst versjon av en treningsjobb for å se objektive beregninger på Modellkvalitet fanen.

Start Amazon SageMaker Autopilot-eksperimenter direkte fra Amazon SageMaker Pipelines for enkelt å automatisere MLOps-arbeidsflyter PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Du kan se forklaringsrapporten på Forklarbarhet for å forstå modellens spådommer.

Start Amazon SageMaker Autopilot-eksperimenter direkte fra Amazon SageMaker Pipelines for enkelt å automatisere MLOps-arbeidsflyter PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

For å se det underliggende autopiloteksperimentet for alle modellene som er opprettet i AutoMLStep, naviger til AutoML side og velg jobbnavnet.

Start Amazon SageMaker Autopilot-eksperimenter direkte fra Amazon SageMaker Pipelines for enkelt å automatisere MLOps-arbeidsflyter PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Distribuer modellen

Etter at vi har gjennomgått ML-modellens ytelse manuelt, kan vi distribuere vår nyopprettede modell til et SageMaker-endepunkt. For dette kan vi kjøre cellene i notatboken som lager modellendepunktet ved å bruke modellkonfigurasjonen som er lagret i SageMaker-modellregisteret.

Merk at dette skriptet er delt for demonstrasjonsformål, men det anbefales å følge en mer robust CI/CD-pipeline for produksjonsdistribusjon for ML-slutning. For mer informasjon, se Bygge, automatisere, administrere og skalere ML-arbeidsflyter ved hjelp av Amazon SageMaker Pipelines.

Oppsummering

Dette innlegget beskriver en brukervennlig ML-pipeline-tilnærming for automatisk å trene tabellformede ML-modeller (AutoML) ved hjelp av Autopilot, Pipelines og Studio. AutoML forbedrer ML-utøvernes effektivitet, og akselererer veien fra ML-eksperimentering til produksjon uten behov for omfattende ML-ekspertise. Vi skisserer de respektive pipeline-trinnene som trengs for opprettelse, evaluering og registrering av ML-modeller. Kom i gang ved å prøve eksempel notisbok for å trene og distribuere dine egne tilpassede AutoML-modeller.

For mer informasjon om autopilot og rørledninger, se Automatiser modellutvikling med Amazon SageMaker Autopilot og Amazon SageMaker-rørledninger.

En spesiell takk til alle som bidro til lanseringen: Shenghua Yue, John He, Ao Guo, Xinlu Tu, Tian Qin, Yanda Hu, Zhankui Lu og Dewen Qi.


Om forfatterne

Start Amazon SageMaker Autopilot-eksperimenter direkte fra Amazon SageMaker Pipelines for enkelt å automatisere MLOps-arbeidsflyter PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Janisha Anand er senior produktsjef i SageMaker Low/No Code ML-teamet, som inkluderer SageMaker Autopilot. Hun liker kaffe, holder seg aktiv og tilbringer tid med familien.

Start Amazon SageMaker Autopilot-eksperimenter direkte fra Amazon SageMaker Pipelines for enkelt å automatisere MLOps-arbeidsflyter PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Marcelo Aberle er ML-ingeniør ved AWS AI. Han hjelper Amazon ML Solutions Lab kunder bygger skalerbare ML(-Ops)-systemer og rammeverk. På fritiden liker han å gå og sykle i San Francisco Bay Area.

Start Amazon SageMaker Autopilot-eksperimenter direkte fra Amazon SageMaker Pipelines for enkelt å automatisere MLOps-arbeidsflyter PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Geremy Cohen er løsningsarkitekt med AWS hvor han hjelper kunder med å bygge banebrytende, skybaserte løsninger. På fritiden liker han korte turer på stranden, utforske buktområdet med familien, fikse ting rundt huset, bryte ting rundt huset og grille.

Start Amazon SageMaker Autopilot-eksperimenter direkte fra Amazon SageMaker Pipelines for enkelt å automatisere MLOps-arbeidsflyter PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Shenghua Yue er programvareutviklingsingeniør hos Amazon SageMaker. Hun fokuserer på å bygge ML-verktøy og produkter for kunder. Utenom jobben liker hun friluftsliv, yoga og fotturer.

Tidstempel:

Mer fra AWS maskinlæring