Enhetlig dataförberedelse, modellutbildning och implementering med Amazon SageMaker Data Wrangler och Amazon SageMaker Autopilot – Del 2 PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Enhetlig dataförberedelse, modellutbildning och implementering med Amazon SageMaker Data Wrangler och Amazon SageMaker Autopilot – Del 2

Beroende på kvaliteten och komplexiteten hos data lägger datavetare mellan 45–80 % av sin tid på dataförberedande uppgifter. Detta innebär att förberedelse och rensning av data tar värdefull tid från verkligt datavetenskapligt arbete. Efter att en maskininlärningsmodell (ML) har tränats med förberedda data och redo för distribution, måste datavetare ofta skriva om de datatransformationer som används för att förbereda data för ML-inferens. Detta kan förlänga tiden det tar att distribuera en användbar modell som kan dra slutsatser och poängsätta data från dess råa form och form.

I del 1 av den här serien demonstrerade vi hur Data Wrangler möjliggör en enhetlig dataförberedelse och modellutbildning erfarenhet Amazon SageMaker autopilot med bara några klick. I den här andra och sista delen av denna serie fokuserar vi på en funktion som inkluderar och återanvänder Amazon SageMaker Data Wrangler transformeringar, såsom imputers för saknade värden, ordinarie eller one-hot-kodare och mer, tillsammans med autopilotmodellerna för ML-inferens. Den här funktionen möjliggör automatisk förbearbetning av rådata med återanvändning av Data Wrangler-funktionsomvandlingar vid tidpunkten för slutsatsen, vilket ytterligare minskar tiden som krävs för att distribuera en tränad modell till produktion.

Lösningsöversikt

Data Wrangler minskar tiden för att samla och förbereda data för ML från veckor till minuter, och Autopilot bygger, tränar och ställer in de bästa ML-modellerna automatiskt baserat på dina data. Med autopilot behåller du fortfarande full kontroll och synlighet över din data och modell. Båda tjänsterna är specialbyggda för att göra ML-utövare mer produktiva och påskynda tiden till värde.

Följande diagram illustrerar vår lösningsarkitektur.

Förutsättningar

Eftersom det här inlägget är det andra i en serie i två delar, se till att du har läst och implementerat del 1 innan du fortsätter.

Exportera och träna modellen

I del 1, efter dataförberedelser för ML, diskuterade vi hur du kan använda den integrerade erfarenheten i Data Wrangler för att analysera datamängder och enkelt bygga högkvalitativa ML-modeller i Autopilot.

Den här gången använder vi autopilotintegrationen igen för att träna en modell mot samma träningsdatauppsättning, men istället för att utföra bulk-inferens, utför vi realtidsslutning mot en Amazon SageMaker slutpunkt som skapas automatiskt för oss.

Utöver bekvämligheten med automatisk slutpunktsdistribution, visar vi hur du också kan distribuera med alla Data Wrangler-funktionstransformeringar som en SageMaker seriell inferenspipeline. Detta möjliggör automatisk förbearbetning av rådata med återanvändning av Data Wrangler-funktionsomvandlingar vid tidpunkten för slutsatsen.

Observera att den här funktionen för närvarande endast stöds för Data Wrangler-flöden som inte använder gå med, gruppera efter, sammanfoga och tidsserietransformationer.

Vi kan använda den nya Data Wrangler-integrationen med Autopilot för att direkt träna en modell från Data Wranglers dataflödesgränssnitt.

  1. Välj plustecknet bredvid Skala värden nod och välj Tågmodell.
  2. För Amazon S3 plats, specificera Amazon enkel lagringstjänst (Amazon S3) plats där SageMaker exporterar dina data.
    Om den visas med en rothinksökväg som standard skapar Data Wrangler en unik exportunderkatalog under den – du behöver inte ändra denna standardrotsökväg om du inte vill. Autopiloten använder den här platsen för att automatiskt träna en modell, vilket sparar dig tid från att behöva definiera utdataplatsen för Data Wrangler-flödet och sedan definiera inmatningsplatsen för autopilotens träningsdata. Detta ger en mer sömlös upplevelse.
  3. Välja Exportera och träna för att exportera den transformerade datan till Amazon S3.
    Enhetlig dataförberedelse, modellutbildning och implementering med Amazon SageMaker Data Wrangler och Amazon SageMaker Autopilot – Del 2 PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.
    När exporten lyckas omdirigeras du till Skapa ett autopilotexperiment sida, med Indata S3-platsen har redan fyllts i för dig (den har fyllts i från resultaten från föregående sida).
  4. För Experimentets namn, ange ett namn (eller behåll standardnamnet).
  5. För Måletväljer Resultat som kolumnen du vill förutsäga.
  6. Välja Nästa: Träningsmetod.
    Enhetlig dataförberedelse, modellutbildning och implementering med Amazon SageMaker Data Wrangler och Amazon SageMaker Autopilot – Del 2 PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Som beskrivs i inlägget Amazon SageMaker Autopilot är upp till åtta gånger snabbare med nytt ensembleträningsläge som drivs av AutoGluon, kan du antingen låta Autopilot välja träningsläge automatiskt baserat på datauppsättningens storlek, eller välja träningsläge manuellt för antingen ensembling eller hyperparameteroptimering (HPO).

Detaljerna för varje alternativ är följande:

  • Bil – Autopiloten väljer automatiskt antingen ensembling eller HPO-läge baserat på din datauppsättningsstorlek. Om din datauppsättning är större än 100 MB väljer Autopilot HPO; annars väljer den ensembling.
  • Montering – Autopiloten använder AutoGluon ensemblingsteknik för att träna flera basmodeller och kombinerar deras förutsägelser med hjälp av modellstapling till en optimal prediktiv modell.
  • Hyperparameteroptimering – Autopiloten hittar den bästa versionen av en modell genom att justera hyperparametrar med den Bayesianska optimeringstekniken och köra träningsjobb på din datauppsättning. HPO väljer de algoritmer som är mest relevanta för din datauppsättning och väljer det bästa intervallet av hyperparametrar för att ställa in modellerna. För vårt exempel lämnar vi standardvalet av Bil.
  1. Välja Nästa: Implementering och avancerade inställningar att fortsätta.
    Enhetlig dataförberedelse, modellutbildning och implementering med Amazon SageMaker Data Wrangler och Amazon SageMaker Autopilot – Del 2 PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.
  2. Implementering och avancerade inställningar sida, välj ett distributionsalternativ.
    Det är viktigt att förstå distributionsalternativen mer i detalj; vad vi väljer kommer att påverka om de transformationer vi gjorde tidigare i Data Wrangler kommer att inkluderas i slutledningspipelinen:
    • Installera den bästa modellen automatiskt med transformationer från Data Wrangler – Med det här distributionsalternativet, när du förbereder data i Data Wrangler och tränar en modell genom att anropa autopilot, distribueras den tränade modellen tillsammans med alla Data Wrangler-funktionsomvandlingar som en SageMaker seriell slutledningspipeline. Detta möjliggör automatisk förbearbetning av rådata med återanvändning av Data Wrangler-funktionsomvandlingar vid tidpunkten för slutsatsen. Observera att slutpunkten för slutpunkten förväntar sig att formatet på dina data är i samma format som när de importeras till Data Wrangler-flödet.
    • Installera den bästa modellen automatiskt utan transformationer från Data Wrangler – Det här alternativet distribuerar en slutpunkt i realtid som inte använder Data Wrangler-transformationer. I det här fallet måste du tillämpa omvandlingarna som definieras i ditt Data Wrangler-flöde på dina data innan slutsatsen.
    • Använd inte den bästa modellen automatiskt – Du bör använda det här alternativet när du inte vill skapa en slutpunkt för slutledning alls. Det är användbart om du vill skapa en bästa modell för senare användning, till exempel lokalt körd bulk-inferens. (Detta är distributionsalternativet som vi valde i del 1 av serien.) Observera att när du väljer det här alternativet inkluderar modellen som skapats (från Autopilotens bästa kandidat via SageMaker SDK) funktionen Data Wrangler som transformeras som en SageMaker seriell inferenspipeline.

    För det här inlägget använder vi Installera den bästa modellen automatiskt med transformationer från Data Wrangler alternativ.

  3. För Implementeringsalternativ, Välj Installera den bästa modellen automatiskt med transformationer från Data Wrangler.
  4. Lämna övriga inställningar som standard.
  5. Välja Nästa: Granska och skapa att fortsätta.
    Granska och skapa sida, ser vi en sammanfattning av de inställningar som valts för vårt autopilotexperiment.
  6. Välja Skapa experiment för att påbörja modellskapandet.
    Enhetlig dataförberedelse, modellutbildning och implementering med Amazon SageMaker Data Wrangler och Amazon SageMaker Autopilot – Del 2 PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Du omdirigeras till Autopilotens jobbbeskrivningssida. Modellerna visas på Modeller flik när de skapas. För att bekräfta att processen är klar, gå till Jobbprofil flik och leta efter en Completed värde för status fält.

Du kan komma tillbaka till denna Autopilots jobbbeskrivningssida när som helst från Amazon SageMaker Studio:

  1. Välja Experiment och försökSageMaker-resurser rullgardinsmenyn.
  2. Välj namnet på autopilotjobbet du skapade.
  3. Välj (högerklicka) experimentet och välj Beskriv AutoML-jobb.

Se utbildningen och implementeringen

När autopiloten slutfört experimentet kan vi se träningsresultaten och utforska den bästa modellen från sidan för autopilotens jobbbeskrivning.

Välj (högerklicka) modellen märkt Bästa modellen, och välj Öppna i modelldetaljer.

Enhetlig dataförberedelse, modellutbildning och implementering med Amazon SageMaker Data Wrangler och Amazon SageMaker Autopilot – Del 2 PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Smakämnen prestanda fliken visar flera modellmätningstester, inklusive en förvirringsmatris, området under precisions-/återkallningskurvan (AUCPR) och området under mottagarens funktionskarakteristikkurva (ROC). Dessa illustrerar modellens övergripande valideringsprestanda, men de berättar inte om modellen kommer att generaliseras väl. Vi behöver fortfarande göra utvärderingar på osynliga testdata för att se hur exakt modellen gör förutsägelser (för det här exemplet förutspår vi om en individ kommer att ha diabetes).

Utför slutledning mot realtidsslutpunkten

Skapa en ny SageMaker-anteckningsbok för att utföra slutledning i realtid för att bedöma modellens prestanda. Ange följande kod i en anteckningsbok för att köra slutledning i realtid för 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 ställt in koden för att köras i din anteckningsbok måste du konfigurera två variabler:

  • endpoint_name
  • payload_str

Konfigurera endpoint_name

endpoint_name representerar namnet på slutpunkten för slutpunkten i realtid som distributionen skapade automatiskt åt oss. Innan vi ställer in den måste vi hitta dess namn.

  1. Välja endpointsSageMaker-resurser rullgardinsmenyn.
  2. Leta reda på namnet på slutpunkten som har namnet på autopilotjobbet som du skapade med en slumpmässig sträng tillagd till den.
  3. Välj (högerklicka) experimentet och välj Beskriv Endpoint.
    Enhetlig dataförberedelse, modellutbildning och implementering med Amazon SageMaker Data Wrangler och Amazon SageMaker Autopilot – Del 2 PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.
    Smakämnen Slutpunktsdetaljer sidan visas.
  4. Markera det fullständiga ändpunktsnamnet och tryck på Ctrl + C för att kopiera det till urklipp.
    Enhetlig dataförberedelse, modellutbildning och implementering med Amazon SageMaker Data Wrangler och Amazon SageMaker Autopilot – Del 2 PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.
  5. Ange detta värde (se till att det är citerat) för endpoint_name i slutledningsanteckningsboken.
    Enhetlig dataförberedelse, modellutbildning och implementering med Amazon SageMaker Data Wrangler och Amazon SageMaker Autopilot – Del 2 PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Konfigurera payload_str

Den bärbara datorn levereras med en standardsträng för nyttolast payload_str som du kan använda för att testa din slutpunkt, men experimentera gärna med olika värden, till exempel de från din testdatauppsättning.

För att hämta värden från testdatauppsättningen, följ instruktionerna i del 1 för att exportera testdataset till Amazon S3. Sedan på Amazon S3-konsolen kan du ladda ner den och välja raderna för att använda filen från Amazon S3.

Varje rad i din testdatauppsättning har nio kolumner, där den sista kolumnen är outcome värde. För den här anteckningsbokkoden, se till att du bara använder en enda datarad (aldrig en CSV-rubrik) för payload_str. Se också till att du bara skickar en payload_str med åtta kolumner, där du har tagit bort utfallsvärdet.

Till exempel, om dina testdatafiler ser ut som följande kod, och vi vill utföra realtids slutledning av den första 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 sätter payload_str till 10,115,0,0,0,35.3,0.134,29. Notera hur vi utelämnade outcome värde 0 i slutet.

Om målvärdet för din datauppsättning av en slump inte är det första eller sista värdet, ta bara bort värdet med kommastrukturen intakt. Anta till exempel att vi förutsäger bar och vår datauppsättning ser ut som följande kod:

foo,bar,foobar
85,17,20

I det här fallet ställer vi in payload_str till 85,,20.

När den bärbara datorn körs med den korrekt konfigurerade payload_str och endpoint_name värden får du tillbaka ett CSV-svar i formatet outcome (0 eller 1), confidence (0-1).

Städar upp

För att se till att du inte ådrar dig självstudierelaterade avgifter efter att du har slutfört den här handledningen, var noga med att stänga av Data Wrangler-appen (https://docs.aws.amazon.com/sagemaker/latest/dg/data-wrangler-shut-down.html), såväl som alla anteckningsbokinstanser som används för att utföra slutledningsuppgifter. Slutpunkterna för slutpunkter som skapats via Auto Pilot-distributionen bör också raderas för att förhindra ytterligare avgifter.

Slutsats

I det här inlägget demonstrerade vi hur du integrerar din databehandling, med teknik och modellbygge med hjälp av Data Wrangler och Autopilot. Med utgångspunkt i del 1 i serien lyfte vi fram hur du enkelt kan träna, ställa in och distribuera en modell till en slutpunkt i realtid med Autopilot direkt från Data Wranglers användargränssnitt. Utöver bekvämligheten som tillhandahålls av automatisk slutpunktsdistribution, visade vi hur du också kan distribuera med alla Data Wrangler-funktionstransformeringar som en SageMaker seriell slutledningspipeline, vilket ger automatisk förbearbetning av rådata, med återanvändning av Data Wrangler-funktionsomvandlingar på tidpunkten för slutsatsen.

Lågkods- och AutoML-lösningar som Data Wrangler och Autopilot tar bort behovet av att ha djup kodningskunskap för att bygga robusta ML-modeller. Kom igång med Data Wrangler idag för att uppleva hur enkelt det är att bygga ML-modeller med autopilot.


Om författarna

Enhetlig dataförberedelse, modellutbildning och implementering med Amazon SageMaker Data Wrangler och Amazon SageMaker Autopilot – Del 2 PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Geremy Cohen är en lösningsarkitekt med AWS där han hjälper kunderna att bygga avancerade molnbaserade lösningar. På fritiden njuter han av korta promenader på stranden, utforskar vikområdet med sin familj, fixar saker runt huset, bryter saker runt huset och grillar.

Enhetlig dataförberedelse, modellutbildning och implementering med Amazon SageMaker Data Wrangler och Amazon SageMaker Autopilot – Del 2 PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Pradeep Reddy är en Senior Product Manager i SageMaker Low/No Code ML-teamet, som inkluderar SageMaker Autopilot, SageMaker Automatic Model Tuner. Utanför jobbet tycker Pradeep om att läsa, springa och nörda med datorer i palmstorlek som raspberry pi och annan hemautomatiseringsteknik.

Enhetlig dataförberedelse, modellutbildning och implementering med Amazon SageMaker Data Wrangler och Amazon SageMaker Autopilot – Del 2 PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Dr John He är en senior mjukvaruutvecklingsingenjör med Amazon AI, där han fokuserar på maskininlärning och distribuerad datoranvändning. Han har en doktorsexamen från CMU.

Tidsstämpel:

Mer från AWS maskininlärning