Samlet dataforberedelse, modeltræning og implementering med Amazon SageMaker Data Wrangler og Amazon SageMaker Autopilot – Del 2 PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Samlet dataforberedelse, modeltræning og implementering med Amazon SageMaker Data Wrangler og Amazon SageMaker Autopilot – Del 2

Afhængigt af kvaliteten og kompleksiteten af ​​data bruger dataforskere mellem 45-80 % af deres tid på dataforberedelsesopgaver. Dette indebærer, at dataforberedelse og -rensning tager værdifuld tid væk fra ægte datavidenskabsarbejde. Efter at en maskinlæringsmodel (ML) er trænet med forberedte data og klargjort til implementering, skal dataforskere ofte omskrive de datatransformationer, der bruges til at forberede data til ML-inferens. Dette kan strække den tid, det tager at implementere en nyttig model, der kan udlede og score data fra dens rå form og form.

I del 1 af denne serie demonstrerede vi, hvordan Data Wrangler muliggør en samlet dataforberedelse og modeltræning erfaring med Amazon SageMaker Autopilot med få klik. I denne anden og sidste del af denne serie fokuserer vi på en funktion, der inkluderer og genbruger Amazon SageMaker Data Wrangler transformationer, såsom manglende værdi-imputere, ordinære eller one-hot encodere og mere, sammen med autopilotmodellerne til ML-inferens. Denne funktion muliggør automatisk forbehandling af rådata med genbrug af Data Wrangler-funktionstransformationer på tidspunktet for slutningen, hvilket yderligere reducerer den tid, der kræves for at implementere en trænet model til produktion.

Løsningsoversigt

Data Wrangler reducerer tiden til at samle og forberede data til ML fra uger til minutter, og Autopilot bygger, træner og tuner automatisk de bedste ML-modeller baseret på dine data. Med Autopilot bevarer du stadig fuld kontrol og synlighed over dine data og model. Begge tjenester er specialbygget til at gøre ML-udøvere mere produktive og fremskynde tid til værdi.

Følgende diagram illustrerer vores løsningsarkitektur.

Forudsætninger

Fordi dette indlæg er det andet i en todelt serie, skal du sørge for, at du har læst og implementeret del 1 før du fortsætter.

Eksporter og træne modellen

I del 1, efter dataforberedelse til ML, diskuterede vi, hvordan du kan bruge den integrerede erfaring i Data Wrangler til at analysere datasæt og nemt bygge højkvalitets ML-modeller i Autopilot.

Denne gang bruger vi Autopilot-integrationen igen til at træne en model mod det samme træningsdatasæt, men i stedet for at udføre bulk-inferens, udfører vi real-time inferens mod en Amazon SageMaker slutningspunkt, der oprettes automatisk for os.

Ud over den bekvemmelighed, som automatisk slutpunktsimplementering giver, demonstrerer vi, hvordan du også kan implementere med alle Data Wrangler-funktionstransformationer som en SageMaker seriel inferenspipeline. Dette muliggør automatisk forbehandling af de rå data med genbrug af Data Wrangler-funktionstransformationer på tidspunktet for slutningen.

Bemærk, at denne funktion i øjeblikket kun understøttes for Data Wrangler-flows, der ikke bruger join-, group-by-, concatenate- og tidsserietransformationer.

Vi kan bruge den nye Data Wrangler-integration med Autopilot til direkte at træne en model fra Data Wranglers dataflow-UI.

  1. Vælg plustegnet ved siden af Skala værdier node, og vælg Tog model.
  2. Til Amazon S3 placering, angiv Amazon Simple Storage Service (Amazon S3) placering, hvor SageMaker eksporterer dine data.
    Hvis den præsenteres med en rod-bucket-sti som standard, opretter Data Wrangler en unik eksport-undermappe under den – du behøver ikke at ændre denne standard-rodsti, medmindre du vil. Autopilot bruger denne placering til automatisk at træne en model, hvilket sparer dig tid fra at skulle definere outputplaceringen af ​​Data Wrangler-flowet og derefter definere inputplaceringen for autopilottræningsdataene. Dette giver en mere problemfri oplevelse.
  3. Vælg Eksport og træne at eksportere de transformerede data til Amazon S3.
    Samlet dataforberedelse, modeltræning og implementering med Amazon SageMaker Data Wrangler og Amazon SageMaker Autopilot – Del 2 PlatoBlockchain Data Intelligence. Lodret søgning. Ai.
    Når eksporten er vellykket, bliver du omdirigeret til Opret et autopiloteksperiment side, med Indtast data S3-lokationen er allerede udfyldt for dig (den blev udfyldt fra resultaterne på den forrige side).
  4. Til Eksperimentens navn, indtast et navn (eller behold standardnavnet).
  5. Til mål, vælg Resultat som den kolonne, du vil forudsige.
  6. Vælg Næste: Træningsmetode.
    Samlet dataforberedelse, modeltræning og implementering med Amazon SageMaker Data Wrangler og Amazon SageMaker Autopilot – Del 2 PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Som beskrevet i indlægget Amazon SageMaker Autopilot er op til otte gange hurtigere med ny ensemble træningstilstand drevet af AutoGluon, kan du enten lade Autopilot vælge træningstilstanden automatisk baseret på datasætstørrelsen eller vælge træningstilstanden manuelt til enten ensembling eller hyperparameteroptimering (HPO).

Detaljerne for hver mulighed er som følger:

  • Auto – Autopilot vælger automatisk enten ensembling eller HPO-tilstand baseret på din datasætstørrelse. Hvis dit datasæt er større end 100 MB, vælger Autopilot HPO; ellers vælger den ensembling.
  • Ensembling – Autopiloten bruger AutoGluon ensembling teknik til at træne flere basismodeller og kombinerer deres forudsigelser ved hjælp af modelstabling til en optimal prædiktiv model.
  • Hyperparameter optimering – Autopilot finder den bedste version af en model ved at tune hyperparametre ved hjælp af Bayesiansk optimeringsteknik og køre træningsjob på dit datasæt. HPO vælger de algoritmer, der er mest relevante for dit datasæt og vælger det bedste udvalg af hyperparametre til at tune modellerne. For vores eksempel forlader vi standardvalget på Auto.
  1. Vælg Næste: Implementering og avancerede indstillinger at fortsætte.
    Samlet dataforberedelse, modeltræning og implementering med Amazon SageMaker Data Wrangler og Amazon SageMaker Autopilot – Del 2 PlatoBlockchain Data Intelligence. Lodret søgning. Ai.
  2. Implementering og avancerede indstillinger side, skal du vælge en implementeringsindstilling.
    Det er vigtigt at forstå implementeringsmulighederne mere detaljeret; det, vi vælger, vil påvirke, om de transformationer, vi lavede tidligere i Data Wrangler, vil blive inkluderet i slutningspipelinen:
    • Implementer den bedste model automatisk med transformationer fra Data Wrangler – Med denne implementeringsmulighed, når du forbereder data i Data Wrangler og træner en model ved at påkalde autopilot, implementeres den trænede model sammen med alle Data Wrangler-funktionerne som en SageMaker seriel inferens pipeline. Dette muliggør automatisk forbehandling af de rå data med genbrug af Data Wrangler-funktionstransformationer på tidspunktet for slutningen. Bemærk, at inferensslutpunktet forventer, at formatet på dine data er i samme format, som når det importeres til Data Wrangler-flowet.
    • Implementer den bedste model automatisk uden transformationer fra Data Wrangler – Denne mulighed implementerer et slutpunkt i realtid, der ikke bruger Data Wrangler-transformationer. I dette tilfælde skal du anvende de transformationer, der er defineret i dit Data Wrangler-flow, på dine data før slutningen.
    • Implementer ikke den bedste model automatisk – Du bør bruge denne mulighed, når du slet ikke ønsker at oprette et inferensslutpunkt. Det er nyttigt, hvis du ønsker at generere en bedste model til senere brug, såsom lokalt kørt bulk-inferens. (Dette er den implementeringsmulighed, vi valgte i del 1 af serien.) Bemærk, at når du vælger denne mulighed, inkluderer den oprettede model (fra Autopilots bedste kandidat via SageMaker SDK) Data Wrangler-funktionen transformeres som en SageMaker seriel inferenspipeline.

    Til dette indlæg bruger vi Implementer den bedste model automatisk med transformationer fra Data Wrangler valgmulighed.

  3. Til Implementeringsmulighed, Vælg Implementer den bedste model automatisk med transformationer fra Data Wrangler.
  4. Lad de andre indstillinger være standard.
  5. Vælg Næste: Gennemgå og opret at fortsætte.
    Gennemgå og opret side, ser vi en oversigt over de indstillinger, der er valgt til vores autopiloteksperiment.
  6. Vælg Opret eksperiment for at begynde modeloprettelsesprocessen.
    Samlet dataforberedelse, modeltræning og implementering med Amazon SageMaker Data Wrangler og Amazon SageMaker Autopilot – Del 2 PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Du bliver omdirigeret til siden med autopilotens jobbeskrivelse. Modellerne viser på Modeller fanen, efterhånden som de genereres. For at bekræfte, at processen er fuldført, skal du gå til Jobprofil fanen og se efter en Completed værdi for Status felt.

Du kan vende tilbage til denne Autopilot jobbeskrivelsesside når som helst fra kl Amazon SageMaker Studio:

  1. Vælg Eksperimenter og forsøg på den SageMaker ressourcer Drop down menu.
  2. Vælg navnet på det autopilotjob, du oprettede.
  3. Vælg (højreklik) eksperimentet og vælg Beskriv AutoML Job.

Se træningen og implementeringen

Når autopilot afslutter eksperimentet, kan vi se træningsresultaterne og udforske den bedste model fra autopilotens jobbeskrivelsesside.

Vælg (højreklik) den mærkede model Bedste model, og vælg Åbn i modeldetaljer.

Samlet dataforberedelse, modeltræning og implementering med Amazon SageMaker Data Wrangler og Amazon SageMaker Autopilot – Del 2 PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Performance (Præstation) fanen viser flere modelmålingstest, inklusive en forvirringsmatrix, området under præcisions-/genkaldelseskurven (AUCPR) og området under modtagerens driftskarakteristikkurve (ROC). Disse illustrerer modellens overordnede valideringsydelse, men de fortæller os ikke, om modellen vil generalisere godt. Vi mangler stadig at køre evalueringer på usete testdata for at se, hvor nøjagtigt modellen giver forudsigelser (for dette eksempel forudsiger vi, om en person vil have diabetes).

Udfør inferens mod realtidsendepunktet

Opret en ny SageMaker notesbog for at udføre realtidsslutning for at vurdere modellens ydeevne. Indtast følgende kode i en notesbog for at køre realtidsslutning til validering:

import boto3

### Define required boto3 clients

sm_client = boto3.client(service_name="sagemaker")
runtime_sm_client = boto3.client(service_name="sagemaker-runtime")

### Define endpoint name

endpoint_name = ""

### Define input data

payload_str = '5,166.0,72.0,19.0,175.0,25.8,0.587,51'
payload = payload_str.encode()
response = runtime_sm_client.invoke_endpoint(
    EndpointName=endpoint_name,
    ContentType="text/csv",
    Body=payload,
)

response["Body"].read()

Når du har konfigureret koden til at køre i din notesbog, skal du konfigurere to variable:

  • endpoint_name
  • payload_str

Konfigurer endpoint_name

endpoint_name repræsenterer navnet på det slutpunkt i realtid, som implementeringen automatisk oprettede for os. Før vi indstiller den, skal vi finde dens navn.

  1. Vælg Endpoints på den SageMaker ressourcer Drop down menu.
  2. Find navnet på det endepunkt, der har navnet på det autopilotjob, du oprettede med en tilfældig streng tilføjet.
  3. Vælg (højreklik) eksperimentet, og vælg Beskriv slutpunkt.
    Samlet dataforberedelse, modeltræning og implementering med Amazon SageMaker Data Wrangler og Amazon SageMaker Autopilot – Del 2 PlatoBlockchain Data Intelligence. Lodret søgning. Ai.
    Endpoint detaljer siden vises.
  4. Fremhæv det fulde slutpunkts navn, og tryk på Ctrl + C for at kopiere det til udklipsholderen.
    Samlet dataforberedelse, modeltræning og implementering med Amazon SageMaker Data Wrangler og Amazon SageMaker Autopilot – Del 2 PlatoBlockchain Data Intelligence. Lodret søgning. Ai.
  5. Indtast denne værdi (sørg for, at den er anført) for endpoint_name i slutningsnotesbogen.
    Samlet dataforberedelse, modeltræning og implementering med Amazon SageMaker Data Wrangler og Amazon SageMaker Autopilot – Del 2 PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Konfigurer nyttelast_str

Notebook'en leveres med en standard nyttelaststreng payload_str som du kan bruge til at teste dit slutpunkt, men du er velkommen til at eksperimentere med forskellige værdier, såsom dem fra dit testdatasæt.

For at hente værdier fra testdatasættet skal du følge instruktionerne i del 1 at eksportere testdatasættet til Amazon S3. Så på Amazon S3-konsollen kan du downloade den og vælge rækkerne for at bruge filen fra Amazon S3.

Hver række i dit testdatasæt har ni kolonner, hvor den sidste kolonne er outcome værdi. For denne notebook-kode skal du sørge for, at du kun bruger en enkelt datarække (aldrig en CSV-header) til payload_str. Sørg også for, at du kun sender en payload_str med otte kolonner, hvor du har fjernet udfaldsværdien.

For eksempel, hvis dine testdatasætfiler ser ud som følgende kode, og vi ønsker at udføre realtidsslutning af den første række:

Pregnancies,Glucose,BloodPressure,SkinThickness,Insulin,BMI,DiabetesPedigreeFunction,Age,Outcome 
10,115,0,0,0,35.3,0.134,29,0 
10,168,74,0,0,38.0,0.537,34,1 
1,103,30,38,83,43.3,0.183,33,0

Vi sætter payload_str til 10,115,0,0,0,35.3,0.134,29. Bemærk, hvordan vi har udeladt outcome værdi af 0 i slutningen.

Hvis målværdien for dit datasæt tilfældigvis ikke er den første eller sidste værdi, skal du blot fjerne værdien med kommastrukturen intakt. Antag for eksempel, at vi forudsiger bar, og vores datasæt ser ud som følgende kode:

foo,bar,foobar
85,17,20

I dette tilfælde sætter vi payload_str til 85,,20.

Når den bærbare computer køres med den korrekt konfigurerede payload_str , endpoint_name værdier, får du et CSV-svar tilbage i formatet som outcome (0 eller 1), confidence (0-1).

Gøre rent

For at sikre dig, at du ikke pådrager dig selvstudierelaterede gebyrer efter at have gennemført denne selvstudie, skal du sørge for at lukke Data Wrangler-appen (https://docs.aws.amazon.com/sagemaker/latest/dg/data-wrangler-shut-down.html), samt alle notebook-forekomster, der bruges til at udføre slutningsopgaver. De konklusioner, der er oprettet via Auto Pilot-implementeringen, bør slettes for også at forhindre yderligere gebyrer.

Konklusion

I dette indlæg demonstrerede vi, hvordan du integrerer din databehandling, med teknik og modelbygning ved hjælp af Data Wrangler og Autopilot. Med udgangspunkt i del 1 i serien fremhævede vi, hvordan du nemt kan træne, tune og implementere en model til et slutpunkt i realtid med Autopilot direkte fra Data Wrangler-brugergrænsefladen. Ud over den bekvemmelighed, som automatisk slutpunktsimplementering giver, demonstrerede vi, hvordan du også kan implementere med alle Data Wrangler-funktionstransformationer som en SageMaker seriel inferenspipeline, der sørger for automatisk forbehandling af rådataene med genbrug af Data Wrangler-funktionstransformationer kl. tidspunktet for slutningen.

Lavkode- og AutoML-løsninger som Data Wrangler og Autopilot fjerner behovet for at have dyb kodningsviden for at bygge robuste ML-modeller. Kom godt i gang med at bruge Data Wrangler i dag for at opleve, hvor nemt det er at bygge ML-modeller ved hjælp af Autopilot.


Om forfatterne

Samlet dataforberedelse, modeltræning og implementering med Amazon SageMaker Data Wrangler og Amazon SageMaker Autopilot – Del 2 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.

Samlet dataforberedelse, modeltræning og implementering med Amazon SageMaker Data Wrangler og Amazon SageMaker Autopilot – Del 2 PlatoBlockchain Data Intelligence. Lodret søgning. Ai.Pradeep Reddy er en Senior Product Manager i SageMaker Low/No Code ML-teamet, som omfatter SageMaker Autopilot, SageMaker Automatic Model Tuner. Uden for arbejdet nyder Pradeep at læse, løbe og nørde med computere i palmestørrelse som raspberry pi og anden hjemmeautomatiseringsteknologi.

Samlet dataforberedelse, modeltræning og implementering med Amazon SageMaker Data Wrangler og Amazon SageMaker Autopilot – Del 2 PlatoBlockchain Data Intelligence. Lodret søgning. Ai.Dr. John He er senior softwareudviklingsingeniør hos Amazon AI, hvor han fokuserer på machine learning og distribueret computing. Han har en ph.d.-grad fra CMU.

Tidsstempel:

Mere fra AWS maskinindlæring