Samlet dataforberedelse, modellopplæring og distribusjon med Amazon SageMaker Data Wrangler og Amazon SageMaker Autopilot – Del 2 PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Samlet dataforberedelse, modellopplæring og distribusjon med Amazon SageMaker Data Wrangler og Amazon SageMaker Autopilot – Del 2

Avhengig av kvaliteten og kompleksiteten til data, bruker dataforskere mellom 45–80 % av tiden sin på dataforberedelsesoppgaver. Dette innebærer at dataforberedelse og -rensing tar verdifull tid unna ekte datavitenskapelig arbeid. Etter at en maskinlæringsmodell (ML) er trent med forberedte data og klargjort for distribusjon, må dataforskere ofte omskrive datatransformasjonene som brukes til å forberede data for ML-slutning. Dette kan strekke tiden det tar å distribuere en nyttig modell som kan konkludere og score dataene fra dens rå form og form.

I del 1 av denne serien demonstrerte vi hvordan Data Wrangler muliggjør en enhetlig dataforberedelse og modelltrening erfaring med Amazon SageMaker Autopilot med bare noen få klikk. I denne andre og siste delen av denne serien fokuserer vi på en funksjon som inkluderer og gjenbruker Amazon SageMaker Data Wrangler transformasjoner, for eksempel manglende verdi-imputere, ordinære eller one-hot-kodere og mer, sammen med Autopilot-modellene for ML-inferens. Denne funksjonen muliggjør automatisk forhåndsbehandling av rådataene med gjenbruk av Data Wrangler-funksjonstransformasjoner på slutningstidspunktet, noe som ytterligere reduserer tiden som kreves for å distribuere en opplært modell til produksjon.

Løsningsoversikt

Data Wrangler reduserer tiden for å samle og forberede data for ML fra uker til minutter, og Autopilot bygger, trener og justerer automatisk de beste ML-modellene basert på dataene dine. Med autopilot beholder du fortsatt full kontroll og synlighet over data og modell. Begge tjenestene er spesialbygd for å gjøre ML-utøvere mer produktive og akselerere tiden til verdi.

Følgende diagram illustrerer løsningsarkitekturen.

Forutsetninger

Fordi dette innlegget er det andre i en todelt serie, sørg for at du har lest og implementert Del 1 før du fortsetter.

Eksporter og tren modellen

I del 1, etter dataforberedelse for ML, diskuterte vi hvordan du kan bruke den integrerte erfaringen i Data Wrangler til å analysere datasett og enkelt bygge høykvalitets ML-modeller i Autopilot.

Denne gangen bruker vi Autopilot-integrasjonen igjen for å trene en modell mot det samme treningsdatasettet, men i stedet for å utføre bulk-inferens, utfører vi sanntidsslutning mot en Amazon SageMaker sluttpunkt som opprettes automatisk for oss.

I tillegg til bekvemmeligheten som tilbys av automatisk endepunktdistribusjon, demonstrerer vi hvordan du også kan distribuere med alle Data Wrangler-funksjonstransformasjonene som en SageMaker serie-inferenspipeline. Dette muliggjør automatisk forhåndsbehandling av rådataene med gjenbruk av Data Wrangler-funksjonstransformasjoner på slutningstidspunktet.

Vær oppmerksom på at denne funksjonen for øyeblikket bare støttes for Data Wrangler-flyter som ikke bruker transformasjoner med join, group by, concatenate og tidsserier.

Vi kan bruke den nye Data Wrangler-integrasjonen med Autopilot til å trene en modell direkte fra Data Wrangler-dataflyt-UI.

  1. Velg plusstegnet ved siden av Skala verdier node, og velg Togmodell.
  2. Til Amazon S3 plassering, spesifiser Amazon enkel lagringstjeneste (Amazon S3) sted der SageMaker eksporterer dataene dine.
    Hvis presentert med en rotbøttebane som standard, oppretter Data Wrangler en unik eksportunderkatalog under den – du trenger ikke å endre denne standard rotbanen med mindre du vil. Autopilot bruker denne plasseringen til å trene en modell automatisk, og sparer deg tid fra å måtte definere utgangsplasseringen for Data Wrangler-flyten og deretter definere inngangsplasseringen til autopilotens treningsdata. Dette gir en mer sømløs opplevelse.
  3. Velg Eksporter og trener for å eksportere de transformerte dataene til Amazon S3.
    Samlet dataforberedelse, modellopplæring og distribusjon med Amazon SageMaker Data Wrangler og Amazon SageMaker Autopilot – Del 2 PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.
    Når eksporten er vellykket, blir du omdirigert til Lag et autopiloteksperiment side, med Inndata S3-posisjonen er allerede fylt ut for deg (den ble fylt ut fra resultatene fra forrige side).
  4. Til Eksperimentens navn, skriv inn et navn (eller behold standardnavnet).
  5. Til Target, velg Utfallet som kolonnen du vil forutsi.
  6. Velg Neste: Treningsmetode.
    Samlet dataforberedelse, modellopplæring og distribusjon med Amazon SageMaker Data Wrangler og Amazon SageMaker Autopilot – Del 2 PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Som beskrevet i innlegget Amazon SageMaker Autopilot er opptil åtte ganger raskere med ny ensembletreningsmodus drevet av AutoGluon, kan du enten la autopilot velge treningsmodus automatisk basert på datasettstørrelsen, eller velge treningsmodus manuelt for enten ensembling eller hyperparameteroptimalisering (HPO).

Detaljene for hvert alternativ er som følger:

  • Auto – Autopilot velger automatisk enten ensembling eller HPO-modus basert på datasettstørrelsen din. Hvis datasettet ditt er større enn 100 MB, velger Autopilot HPO; ellers velger den ensembling.
  • Ensemblering – Autopiloten bruker AutoGluon ensembling teknikk for å trene flere basismodeller og kombinerer deres spådommer ved å bruke modellstabling til en optimal prediktiv modell.
  • Optimalisering av hyperparameter – Autopilot finner den beste versjonen av en modell ved å justere hyperparametere ved å bruke den Bayesianske optimaliseringsteknikken og kjøre treningsjobber på datasettet ditt. HPO velger algoritmene som er mest relevante for datasettet ditt og velger det beste utvalget av hyperparametre for å justere modellene. For vårt eksempel lar vi standardvalget være Auto.
  1. Velg Neste: Implementering og avanserte innstillinger å fortsette.
    Samlet dataforberedelse, modellopplæring og distribusjon med Amazon SageMaker Data Wrangler og Amazon SageMaker Autopilot – Del 2 PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.
  2. Implementering og avanserte innstillinger siden, velg et distribusjonsalternativ.
    Det er viktig å forstå distribusjonsalternativene mer detaljert; hva vi velger vil påvirke hvorvidt transformasjonene vi gjorde tidligere i Data Wrangler vil bli inkludert i slutningspipelinen:
    • Autodistribuer beste modell med transformasjoner fra Data Wrangler – Med dette distribusjonsalternativet, når du klargjør data i Data Wrangler og trener en modell ved å påkalle autopilot, distribueres den trente modellen sammen med alle Data Wrangler-funksjonen som en SageMaker seriell inferensrørledning. Dette muliggjør automatisk forhåndsbehandling av rådataene med gjenbruk av Data Wrangler-funksjonstransformasjoner på slutningstidspunktet. Merk at slutningspunktet forventer at formatet på dataene dine er i samme format som når de importeres til Data Wrangler-flyten.
    • Distribuer den beste modellen automatisk uten transformasjoner fra Data Wrangler – Dette alternativet distribuerer et sanntidsendepunkt som ikke bruker Data Wrangler-transformasjoner. I dette tilfellet må du bruke transformasjonene som er definert i Data Wrangler-flyten din på dataene dine før konklusjon.
    • Ikke bruk den beste modellen automatisk – Du bør bruke dette alternativet når du ikke vil opprette et slutningsendepunkt i det hele tatt. Det er nyttig hvis du vil generere en beste modell for senere bruk, for eksempel lokalt drevet bulk-slutning. (Dette er distribusjonsalternativet vi valgte i del 1 av serien.) Legg merke til at når du velger dette alternativet, inkluderer modellen som er opprettet (fra Autopilotens beste kandidat via SageMaker SDK) Data Wrangler-funksjonen transformeres som en SageMaker serie-inferenspipeline.

    For dette innlegget bruker vi Autodistribuer beste modell med transformasjoner fra Data Wrangler alternativet.

  3. Til Implementeringsalternativ, plukke ut Autodistribuer beste modell med transformasjoner fra Data Wrangler.
  4. La de andre innstillingene være standard.
  5. Velg Neste: Se gjennom og opprett å fortsette.
    Gjennomgå og opprett side, ser vi et sammendrag av innstillingene som er valgt for autopiloteksperimentet vårt.
  6. Velg Lag eksperiment for å starte modellskapingsprosessen.
    Samlet dataforberedelse, modellopplæring og distribusjon med Amazon SageMaker Data Wrangler og Amazon SageMaker Autopilot – Del 2 PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Du blir omdirigert til Autopilot-jobbbeskrivelsessiden. Modellene vises på Modeller fanen etter hvert som de genereres. For å bekrefte at prosessen er fullført, gå til Jobbprofil fanen og se etter en Completed verdi for status feltet.

Du kan gå tilbake til denne Autopilot-jobbbeskrivelsessiden når som helst fra kl Amazon SageMaker Studio:

  1. Velg Eksperimenter og forsøkSageMaker-ressurser nedtrekksmenyen.
  2. Velg navnet på autopilotjobben du opprettet.
  3. Velg (høyreklikk) eksperimentet og velg Beskriv AutoML-jobb.

Se opplæringen og distribusjonen

Når autopiloten fullfører eksperimentet, kan vi se treningsresultatene og utforske den beste modellen fra autopilotens jobbbeskrivelsesside.

Velg (høyreklikk) modellen som er merket Beste modellen, og velg Åpne i modelldetaljer.

Samlet dataforberedelse, modellopplæring og distribusjon med Amazon SageMaker Data Wrangler og Amazon SageMaker Autopilot – Del 2 PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

De Ytelse fanen viser flere modellmålingstester, inkludert en forvirringsmatrise, området under presisjons-/gjenkallingskurven (AUCPR) og området under mottakerdriftskarakteristikken (ROC). Disse illustrerer den generelle valideringsytelsen til modellen, men de forteller oss ikke om modellen vil generalisere godt. Vi må fortsatt kjøre evalueringer på usynlige testdata for å se hvor nøyaktig modellen gir spådommer (for dette eksempelet forutsier vi om en person vil ha diabetes).

Utfør slutning mot sanntidsendepunktet

Lag en ny SageMaker-notisbok for å utføre sanntidsslutning for å vurdere modellytelsen. Skriv inn følgende kode i en notatbok for å kjøre sanntidsslutning for 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()

Etter at du har konfigurert koden til å kjøre i den bærbare datamaskinen, må du konfigurere to variabler:

  • endpoint_name
  • payload_str

Konfigurer endepunktnavn

endpoint_name representerer navnet på sanntidsslutningsendepunktet som distribusjonen automatisk opprettet for oss. Før vi setter den, må vi finne navnet.

  1. Velg endepunkterSageMaker-ressurser nedtrekksmenyen.
  2. Finn navnet på endepunktet som har navnet på autopilotjobben du opprettet med en tilfeldig streng lagt til.
  3. Velg (høyreklikk) eksperimentet, og velg Beskriv endepunkt.
    Samlet dataforberedelse, modellopplæring og distribusjon med Amazon SageMaker Data Wrangler og Amazon SageMaker Autopilot – Del 2 PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.
    De Endepunktdetaljer siden vises.
  4. Marker hele endepunktnavnet, og trykk Ctrl + C for å kopiere det til utklippstavlen.
    Samlet dataforberedelse, modellopplæring og distribusjon med Amazon SageMaker Data Wrangler og Amazon SageMaker Autopilot – Del 2 PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.
  5. Skriv inn denne verdien (sørg for at den er angitt) for endpoint_name i slutningsnotatboken.
    Samlet dataforberedelse, modellopplæring og distribusjon med Amazon SageMaker Data Wrangler og Amazon SageMaker Autopilot – Del 2 PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Konfigurer nyttelast_str

Den bærbare datamaskinen leveres med en standard nyttelaststreng payload_str som du kan bruke til å teste endepunktet ditt, men eksperimenter gjerne med forskjellige verdier, for eksempel de fra testdatasettet ditt.

For å hente verdier fra testdatasettet, følg instruksjonene i Del 1 for å eksportere testdatasettet til Amazon S3. Så på Amazon S3-konsollen kan du laste den ned og velge radene for å bruke filen fra Amazon S3.

Hver rad i testdatasettet ditt har ni kolonner, der den siste kolonnen er outcome verdi. For denne notatbokkoden, sørg for at du bare bruker en enkelt datarad (aldri en CSV-overskrift) for payload_str. Pass også på at du bare sender en payload_str med åtte kolonner, hvor du har fjernet utfallsverdien.

For eksempel, hvis testdatasettet dine ser ut som følgende kode, og vi ønsker å utføre sanntidsslutning av den første raden:

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 setter payload_str til 10,115,0,0,0,35.3,0.134,29. Legg merke til hvordan vi utelot outcome Verdien av 0 på slutten.

Hvis målverdien til datasettet tilfeldigvis ikke er den første eller siste verdien, fjerner du verdien med kommastrukturen intakt. Anta for eksempel at vi forutsier bar, og datasettet vårt ser ut som følgende kode:

foo,bar,foobar
85,17,20

I dette tilfellet setter vi payload_str til 85,,20.

Når den bærbare datamaskinen kjøres med riktig konfigurert payload_str og endpoint_name verdier, får du et CSV-svar tilbake i formatet outcome (0 eller 1), confidence (0-1).

Rydder opp

For å være sikker på at du ikke pådrar deg opplæringsrelaterte kostnader etter å ha fullført denne opplæringen, sørg for å slå av Data Wrangler-appen (https://docs.aws.amazon.com/sagemaker/latest/dg/data-wrangler-shut-down.html), samt alle notatbokforekomster som brukes til å utføre slutningsoppgaver. Sluttpunktene som er opprettet via Auto Pilot-utplasseringen, bør slettes for å forhindre ekstra kostnader også.

konklusjonen

I dette innlegget demonstrerte vi hvordan du integrerer databehandlingen din, med konstruksjon og modellbygging ved hjelp av Data Wrangler og Autopilot. Med utgangspunkt i del 1 i serien, fremhevet vi hvordan du enkelt kan trene, stille inn og distribuere en modell til et endepunkt i sanntid med autopilot direkte fra Data Wrangler-brukergrensesnittet. I tillegg til bekvemmeligheten som tilbys av automatisk endepunktdistribusjon, demonstrerte vi hvordan du også kan distribuere med alle Data Wrangler-funksjonstransformasjonene som en SageMaker serie-inferenspipeline, som sørger for automatisk forhåndsbehandling av rådataene, med gjenbruk av Data Wrangler-funksjonstransformasjoner på tidspunktet for slutningen.

Lavkode- og AutoML-løsninger som Data Wrangler og Autopilot fjerner behovet for å ha dyp kodingskunnskap for å bygge robuste ML-modeller. Kom i gang med Data Wrangler i dag for å oppleve hvor enkelt det er å bygge ML-modeller med autopilot.


Om forfatterne

Samlet dataforberedelse, modellopplæring og distribusjon med Amazon SageMaker Data Wrangler og Amazon SageMaker Autopilot – Del 2 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.

Samlet dataforberedelse, modellopplæring og distribusjon med Amazon SageMaker Data Wrangler og Amazon SageMaker Autopilot – Del 2 PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Pradeep Reddy er senior produktsjef i SageMaker Low/No Code ML-teamet, som inkluderer SageMaker Autopilot, SageMaker Automatic Model Tuner. Utenom jobben liker Pradeep å lese, løpe og nørde med datamaskiner i palmestørrelse som raspberry pi og annen hjemmeautomatiseringsteknologi.

Samlet dataforberedelse, modellopplæring og distribusjon med Amazon SageMaker Data Wrangler og Amazon SageMaker Autopilot – Del 2 PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Dr. John He er en senior programvareutviklingsingeniør med Amazon AI, hvor han fokuserer på maskinlæring og distribuert databehandling. Han har en doktorgrad fra CMU.

Tidstempel:

Mer fra AWS maskinlæring