Start Amazon SageMaker Autopilot-eksperimenter direkte fra Amazon SageMaker Pipelines for nemt at automatisere MLOps-arbejdsgange PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Start Amazon SageMaker Autopilot-eksperimenter direkte fra Amazon SageMaker Pipelines for nemt at automatisere MLOps-arbejdsgange

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 af ProcessingStep.
  • Registrer ML-modellen til SageMaker modelregistrering ved brug af ModelStep, hvis den tidligere opnåede evalueringsmetrik overstiger en foruddefineret tærskel i ConditionStep.
  • 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.

Start Amazon SageMaker Autopilot-eksperimenter direkte fra Amazon SageMaker Pipelines for nemt at automatisere MLOps-arbejdsgange PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

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.

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,
)

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:

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)

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:

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,
)

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.

Start Amazon SageMaker Autopilot-eksperimenter direkte fra Amazon SageMaker Pipelines for nemt at automatisere MLOps-arbejdsgange PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Du kan se forklaringsrapporten på Forklarlighed fanen for at forstå din models forudsigelser.

Start Amazon SageMaker Autopilot-eksperimenter direkte fra Amazon SageMaker Pipelines for nemt at automatisere MLOps-arbejdsgange PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

For at se det underliggende autopiloteksperiment for alle modeller, der er oprettet i AutoMLStep, navigere til AutoML side og vælg jobnavnet.

Start Amazon SageMaker Autopilot-eksperimenter direkte fra Amazon SageMaker Pipelines for nemt at automatisere MLOps-arbejdsgange PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

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

Start Amazon SageMaker Autopilot-eksperimenter direkte fra Amazon SageMaker Pipelines for nemt at automatisere MLOps-arbejdsgange PlatoBlockchain Data Intelligence. Lodret søgning. Ai.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.

Start Amazon SageMaker Autopilot-eksperimenter direkte fra Amazon SageMaker Pipelines for nemt at automatisere MLOps-arbejdsgange PlatoBlockchain Data Intelligence. Lodret søgning. Ai.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.

Start Amazon SageMaker Autopilot-eksperimenter direkte fra Amazon SageMaker Pipelines for nemt at automatisere MLOps-arbejdsgange PlatoBlockchain Data Intelligence. Lodret søgning. Ai.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.

Start Amazon SageMaker Autopilot-eksperimenter direkte fra Amazon SageMaker Pipelines for nemt at automatisere MLOps-arbejdsgange PlatoBlockchain Data Intelligence. Lodret søgning. Ai.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.

Tidsstempel:

Mere fra AWS maskinindlæring