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.
- Välj plustecknet bredvid Skala värden nod och välj Tågmodell.
- 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. - Välja Exportera och träna för att exportera den transformerade datan till Amazon S3.
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). - För Experimentets namn, ange ett namn (eller behåll standardnamnet).
- För Måletväljer Resultat som kolumnen du vill förutsäga.
- Välja Nästa: Träningsmetod.
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.
- Välja Nästa: Implementering och avancerade inställningar att fortsätta.
- På 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.
- För Implementeringsalternativ, Välj Installera den bästa modellen automatiskt med transformationer från Data Wrangler.
- Lämna övriga inställningar som standard.
- Välja Nästa: Granska och skapa att fortsätta.
På Granska och skapa sida, ser vi en sammanfattning av de inställningar som valts för vårt autopilotexperiment. - Välja Skapa experiment för att påbörja modellskapandet.
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:
- Välja Experiment och försök på SageMaker-resurser rullgardinsmenyn.
- Välj namnet på autopilotjobbet du skapade.
- 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.
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:
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.
- Välja endpoints på SageMaker-resurser rullgardinsmenyn.
- Leta reda på namnet på slutpunkten som har namnet på autopilotjobbet som du skapade med en slumpmässig sträng tillagd till den.
- Välj (högerklicka) experimentet och välj Beskriv Endpoint.
Smakämnen Slutpunktsdetaljer sidan visas. - Markera det fullständiga ändpunktsnamnet och tryck på Ctrl + C för att kopiera det till urklipp.
- Ange detta värde (se till att det är citerat) för
endpoint_name
i slutledningsanteckningsboken.
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:
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:
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
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.
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.
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.
- AI
- ai konst
- ai art generator
- har robot
- Amazon SageMaker
- Amazon SageMaker autopilot
- Amazon SageMaker Data Wrangler
- artificiell intelligens
- artificiell intelligenscertifiering
- artificiell intelligens inom bankväsendet
- artificiell intelligens robot
- robotar med artificiell intelligens
- programvara för artificiell intelligens
- AWS maskininlärning
- blockchain
- blockchain konferens ai
- coingenius
- konversationskonstnärlig intelligens
- kryptokonferens ai
- dalls
- djupt lärande
- du har google
- maskininlärning
- plato
- plato ai
- Platon Data Intelligence
- Platon spel
- PlatonData
- platogaming
- skala ai
- syntax
- zephyrnet