Uniforme gegevensvoorbereiding, modeltraining en implementatie met Amazon SageMaker Data Wrangler en Amazon SageMaker Autopilot – Part 2 PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Uniforme gegevensvoorbereiding, modeltraining en implementatie met Amazon SageMaker Data Wrangler en Amazon SageMaker Autopilot – deel 2

Afhankelijk van de kwaliteit en complexiteit van data besteden datawetenschappers tussen de 45 en 80% van hun tijd aan datavoorbereidingstaken. Dit houdt in dat datavoorbereiding en -opschoning kostbare tijd in beslag nemen van echt datawetenschappelijk werk. Nadat een machine learning (ML)-model is getraind met voorbereide gegevens en gereed is voor implementatie, moeten datawetenschappers vaak de gegevenstransformaties herschrijven die worden gebruikt voor het voorbereiden van gegevens voor ML-inferentie. Dit kan de tijd verlengen die nodig is om een ​​bruikbaar model te implementeren dat de gegevens kan afleiden en scoren op basis van zijn ruwe vorm en vorm.

In deel 1 van deze serie hebben we laten zien hoe Data Wrangler een uniforme gegevensvoorbereiding en modeltraining ervaring met Amazon SageMaker-stuurautomaat in slechts een paar klikken. In dit tweede en laatste deel van deze serie richten we ons op een functie die omvat en hergebruikt Amazon SageMaker-gegevens Wrangler transformaties, zoals imputers van ontbrekende waarden, ordinale of one-hot encoders en meer, samen met de Autopilot-modellen voor ML-inferentie. Deze functie maakt automatische voorverwerking van de onbewerkte gegevens mogelijk met het hergebruik van Data Wrangler-functietransformaties op het moment van inferentie, waardoor de tijd die nodig is om een ​​getraind model in productie te nemen verder wordt verkort.

Overzicht oplossingen

Data Wrangler verkort de tijd voor het verzamelen en voorbereiden van gegevens voor ML van weken tot minuten, en Autopilot bouwt, traint en stemt automatisch de beste ML-modellen af ​​op basis van uw gegevens. Met Autopilot behoudt u nog steeds de volledige controle over en zichtbaarheid van uw gegevens en model. Beide services zijn speciaal ontwikkeld om ML-beoefenaars productiever te maken en de time-to-value te versnellen.

Het volgende diagram illustreert onze oplossingsarchitectuur.

Voorwaarden

Omdat dit bericht het tweede is in een tweedelige serie, moet je ervoor zorgen dat je het met succes hebt gelezen en geïmplementeerd Deel 1 alvorens verder te gaan.

Het model exporteren en trainen

In deel 1 hebben we na de gegevensvoorbereiding voor ML besproken hoe u de geïntegreerde ervaring in Data Wrangler kunt gebruiken om datasets te analyseren en eenvoudig hoogwaardige ML-modellen te bouwen in Autopilot.

Deze keer gebruiken we de Autopilot-integratie opnieuw om een ​​model te trainen op basis van dezelfde trainingsdataset, maar in plaats van bulkinferentie uit te voeren, voeren we realtime gevolgtrekkingen uit tegen een Amazon Sage Maker inferentie-eindpunt dat automatisch voor ons wordt gemaakt.

Naast het gemak dat wordt geboden door automatische implementatie van eindpunten, laten we zien hoe u met alle Data Wrangler-functietransformaties ook kunt implementeren als een seriële inferentiepijplijn van SageMaker. Dit maakt automatische voorverwerking van de onbewerkte gegevens mogelijk met het hergebruik van Data Wrangler-functietransformaties op het moment van inferentie.

Houd er rekening mee dat deze functie momenteel alleen wordt ondersteund voor Data Wrangler-stromen die geen gebruik maken van samenvoegen, groeperen op, samenvoegen en tijdreekstransformaties.

We kunnen de nieuwe Data Wrangler-integratie met Autopilot gebruiken om een ​​model rechtstreeks vanuit de Data Wrangler-gegevensstroom-UI te trainen.

  1. Kies het plusteken naast de Schaalwaarden knoop, en kies Trein model.
  2. Voor Amazon S3-locatie, specificeer de Amazon eenvoudige opslagservice (Amazon S3) locatie waar SageMaker uw gegevens exporteert.
    Als er standaard een root-bucket-pad wordt aangeboden, maakt Data Wrangler er een unieke export-submap onder. U hoeft dit standaard root-pad niet te wijzigen, tenzij u dat wilt. Autopilot gebruikt deze locatie om automatisch een model te trainen, waardoor u bespaart de tijd die nodig is om de uitvoerlocatie van de Data Wrangler-stroom te definiëren en vervolgens de invoerlocatie van de Autopilot-trainingsgegevens te definiëren. Dit zorgt voor een meer naadloze ervaring.
  3. Kies Exporteren en trainen om de getransformeerde gegevens naar Amazon S3 te exporteren.
    Uniforme gegevensvoorbereiding, modeltraining en implementatie met Amazon SageMaker Data Wrangler en Amazon SageMaker Autopilot – Part 2 PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.
    Als het exporteren is gelukt, wordt u doorgestuurd naar de Een Autopilot-experiment maken pagina, met de Invoergegevens S3-locatie is al voor u ingevuld (deze is ingevuld op basis van de resultaten van de vorige pagina).
  4. Voor Experimentnaam, voer een naam in (of behoud de standaardnaam).
  5. Voor doelwit, kiezen Resultaat als de kolom die u wilt voorspellen.
  6. Kies Volgende: Trainingsmethode.
    Uniforme gegevensvoorbereiding, modeltraining en implementatie met Amazon SageMaker Data Wrangler en Amazon SageMaker Autopilot – Part 2 PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Zoals gedetailleerd in de post Amazon SageMaker Autopilot is tot acht keer sneller met nieuwe ensemble-trainingsmodus, mogelijk gemaakt door AutoGluon, kunt u Autopilot de trainingsmodus automatisch laten selecteren op basis van de gegevenssetgrootte, of de trainingsmodus handmatig selecteren voor ensembling of hyperparameter-optimalisatie (HPO).

De details van elke optie zijn als volgt:

  • automobiel – Autopilot kiest automatisch de ensembling- of HPO-modus op basis van de grootte van uw dataset. Als uw dataset groter is dan 100 MB, kiest Autopilot voor HPO; anders kiest het samenvoegen.
  • Ensembleren – Autopilot maakt gebruik van de AutoGluon ensemblingtechniek om verschillende basismodellen te trainen en hun voorspellingen te combineren met behulp van modelstapeling tot een optimaal voorspellend model.
  • Optimalisatie van hyperparameters – Autopilot vindt de beste versie van een model door hyperparameters af te stemmen met behulp van de Bayesiaanse optimalisatietechniek en trainingstaken op uw dataset uit te voeren. HPO selecteert de algoritmen die het meest relevant zijn voor uw dataset en kiest het beste bereik van hyperparameters om de modellen af ​​te stemmen. Voor ons voorbeeld laten we de standaardselectie van automobiel.
  1. Kies Volgende: Implementatie en geavanceerde instellingen te gaan.
    Uniforme gegevensvoorbereiding, modeltraining en implementatie met Amazon SageMaker Data Wrangler en Amazon SageMaker Autopilot – Part 2 PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.
  2. Op de Implementatie en geavanceerde instellingen pagina, selecteer een implementatieoptie.
    Het is belangrijk om de implementatieopties in meer detail te begrijpen; wat we kiezen, heeft invloed op het al dan niet opnemen van de transformaties die we eerder in Data Wrangler hebben gemaakt in de inferentiepijplijn:
    • Beste model automatisch implementeren met transformaties van Data Wrangler – Met deze implementatieoptie wordt, wanneer u gegevens voorbereidt in Data Wrangler en een model traint door Autopilot aan te roepen, het getrainde model geïmplementeerd naast alle Data Wrangler-functietransformaties als een SageMaker seriële inferentiepijplijn. Dit maakt automatische voorverwerking van de onbewerkte gegevens mogelijk met het hergebruik van Data Wrangler-functietransformaties op het moment van inferentie. Houd er rekening mee dat het inferentie-eindpunt verwacht dat de indeling van uw gegevens dezelfde indeling heeft als wanneer deze wordt geïmporteerd in de Data Wrangler-stroom.
    • Beste model automatisch implementeren zonder transformaties van Data Wrangler – Met deze optie wordt een realtime eindpunt geïmplementeerd dat geen Data Wrangler-transformaties gebruikt. In dit geval moet u de transformaties die in uw Data Wrangler-stroom zijn gedefinieerd, toepassen op uw gegevens voordat u tot inferentie overgaat.
    • Beste model niet automatisch implementeren – Gebruik deze optie als u helemaal geen inferentie-eindpunt wilt maken. Het is handig als u een beste model voor later gebruik wilt genereren, zoals lokaal uitgevoerde bulkinferentie. (Dit is de implementatieoptie die we in deel 1 van de serie hebben geselecteerd.) Houd er rekening mee dat wanneer u deze optie selecteert, het gemaakte model (van de beste kandidaat van Autopilot via de SageMaker SDK) de Data Wrangler-functie bevat die wordt getransformeerd als een seriële inferentiepijplijn van SageMaker.

    Voor dit bericht gebruiken we de Beste model automatisch implementeren met transformaties van Data Wrangler optie.

  3. Voor Implementatie optieselecteer Beste model automatisch implementeren met transformaties van Data Wrangler.
  4. Laat de overige instellingen als standaard.
  5. Kies Volgende: Controleren en maken te gaan.
    Op de Bekijk en creëer pagina, zien we een samenvatting van de instellingen die zijn gekozen voor ons Autopilot-experiment.
  6. Kies Experiment maken om het proces voor het maken van het model te starten.
    Uniforme gegevensvoorbereiding, modeltraining en implementatie met Amazon SageMaker Data Wrangler en Amazon SageMaker Autopilot – Part 2 PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

U wordt doorgestuurd naar de Autopilot-functiebeschrijvingspagina. De modellen tonen op de Modellen tabblad zoals ze worden gegenereerd. Om te bevestigen dat het proces is voltooid, gaat u naar de Functieprofiel tabblad en zoek naar een Completed waarde voor de Status veld.

U kunt op elk moment teruggaan naar deze Autopilot-functiebeschrijvingspagina vanaf: Amazon SageMaker Studio:

  1. Kies Experimenten en proeven op de SageMaker-bronnen drop-down menu.
  2. Selecteer de naam van de Autopilot-taak die u hebt gemaakt.
  3. Kies (klik met de rechtermuisknop) het experiment en kies Beschrijf AutoML-taak.

Bekijk de training en implementatie

Wanneer Autopilot het experiment voltooit, kunnen we de trainingsresultaten bekijken en het beste model verkennen vanaf de Autopilot-functiebeschrijvingspagina.

Kies (klik met de rechtermuisknop) het model met het label Beste modelen kies Openen in modeldetails.

Uniforme gegevensvoorbereiding, modeltraining en implementatie met Amazon SageMaker Data Wrangler en Amazon SageMaker Autopilot – Part 2 PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

De Performance tabblad geeft verschillende modelmeettests weer, waaronder een verwarringsmatrix, het gebied onder de precisie/terugroepcurve (AUCPR) en het gebied onder de ontvanger werkende karakteristieke curve (ROC). Deze illustreren de algehele validatieprestaties van het model, maar ze vertellen ons niet of het model goed zal generaliseren. We moeten nog steeds evaluaties uitvoeren op ongeziene testgegevens om te zien hoe nauwkeurig het model voorspellingen doet (in dit voorbeeld voorspellen we of een persoon diabetes zal hebben).

Voer gevolgtrekkingen uit op basis van het realtime eindpunt

Maak een nieuwe SageMaker-notebook om realtime gevolgtrekkingen uit te voeren om de modelprestaties te beoordelen. Voer de volgende code in een notitieblok in om realtime gevolgtrekking uit te voeren voor validatie:

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

Nadat u de code hebt ingesteld om in uw notebook te worden uitgevoerd, moet u twee variabelen configureren:

  • endpoint_name
  • payload_str

Eindpuntnaam configureren

endpoint_name staat voor de naam van het realtime inferentie-eindpunt dat de implementatie automatisch voor ons heeft gemaakt. Voordat we het instellen, moeten we de naam ervan vinden.

  1. Kies Eindpunten op de SageMaker-bronnen drop-down menu.
  2. Zoek de naam van het eindpunt met de naam van de Autopilot-taak die u hebt gemaakt met een willekeurige tekenreeks eraan toegevoegd.
  3. Kies (klik met de rechtermuisknop) het experiment en kies Beschrijf eindpunt.
    Uniforme gegevensvoorbereiding, modeltraining en implementatie met Amazon SageMaker Data Wrangler en Amazon SageMaker Autopilot – Part 2 PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.
    De Eindpuntdetails pagina verschijnt.
  4. Markeer de volledige naam van het eindpunt en druk op Ctrl + C om het naar het klembord te kopiëren.
    Uniforme gegevensvoorbereiding, modeltraining en implementatie met Amazon SageMaker Data Wrangler en Amazon SageMaker Autopilot – Part 2 PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.
  5. Voer deze waarde in (zorg ervoor dat deze tussen aanhalingstekens staat) voor endpoint_name in het gevolgtrekkingsschrift.
    Uniforme gegevensvoorbereiding, modeltraining en implementatie met Amazon SageMaker Data Wrangler en Amazon SageMaker Autopilot – Part 2 PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Payload_str . configureren

De notebook wordt geleverd met een standaard payload-string payload_str die u kunt gebruiken om uw eindpunt te testen, maar experimenteer gerust met verschillende waarden, zoals die uit uw testdataset.

Om waarden uit de testdataset te halen, volgt u de instructies in: Deel 1 om de testdataset naar Amazon S3 te exporteren. Vervolgens kunt u het op de Amazon S3-console downloaden en de rijen selecteren om het bestand van Amazon S3 te gebruiken.

Elke rij in uw testdataset heeft negen kolommen, waarbij de laatste kolom de . is outcome waarde. Zorg ervoor dat u voor deze notebookcode slechts één gegevensrij (nooit een CSV-header) gebruikt voor: payload_str. Zorg er ook voor dat je alleen een payload_str met acht kolommen, waar u de uitkomstwaarde hebt verwijderd.

Als uw testgegevenssetbestanden er bijvoorbeeld uitzien als de volgende code, en we realtime gevolgtrekking willen maken van de eerste rij:

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

We gaan zitten payload_str naar 10,115,0,0,0,35.3,0.134,29. Merk op hoe we de . hebben weggelaten outcome waarde van 0 aan het einde.

Als de doelwaarde van uw dataset toevallig niet de eerste of laatste waarde is, verwijdert u de waarde gewoon met de kommastructuur intact. Stel bijvoorbeeld dat we de balk voorspellen en dat onze dataset eruitziet als de volgende code:

foo,bar,foobar
85,17,20

In dit geval stellen we payload_str naar 85,,20.

Wanneer de notebook wordt uitgevoerd met de correct geconfigureerde payload_str en endpoint_name waarden, krijgt u een CSV-antwoord terug in het formaat van outcome (0 of 1), confidence (0-1).

Schoonmaken

Zorg ervoor dat u de Data Wrangler-app afsluit (https://docs.aws.amazon.com/sagemaker/latest/dg/data-wrangler-shut-down.html), evenals alle notebookinstanties die worden gebruikt om inferentietaken uit te voeren. De inferentie-eindpunten die via de Auto Pilot-implementatie zijn gemaakt, moeten worden verwijderd om ook extra kosten te voorkomen.

Conclusie

In dit bericht hebben we laten zien hoe u uw gegevensverwerking kunt integreren, met engineering en modelbouw met behulp van Data Wrangler en Autopilot. Voortbouwend op deel 1 van de serie, hebben we benadrukt hoe u eenvoudig een model kunt trainen, afstemmen en implementeren naar een realtime inferentie-eindpunt met Autopilot, rechtstreeks vanuit de Data Wrangler-gebruikersinterface. Naast het gemak dat wordt geboden door automatische implementatie van eindpunten, hebben we laten zien hoe u ook alle Data Wrangler-functietransformaties kunt implementeren als een seriële inferentiepijplijn van SageMaker, die zorgt voor automatische voorverwerking van de onbewerkte gegevens, met het hergebruik van Data Wrangler-functietransformaties op het tijdstip van gevolgtrekking.

Low-code en AutoML-oplossingen zoals Data Wrangler en Autopilot elimineren de noodzaak om diepgaande codeerkennis te hebben om robuuste ML-modellen te bouwen. Aan de slag met Data Wrangler vandaag om te ervaren hoe eenvoudig het is om ML-modellen te bouwen met Autopilot.


Over de auteurs

Uniforme gegevensvoorbereiding, modeltraining en implementatie met Amazon SageMaker Data Wrangler en Amazon SageMaker Autopilot – Part 2 PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Geremy Cohen is een Solutions Architect bij AWS, waar hij klanten helpt bij het bouwen van geavanceerde, cloudgebaseerde oplossingen. In zijn vrije tijd geniet hij van korte strandwandelingen, het verkennen van de baai met zijn gezin, dingen in huis repareren, dingen in huis kapot maken en barbecuen.

Uniforme gegevensvoorbereiding, modeltraining en implementatie met Amazon SageMaker Data Wrangler en Amazon SageMaker Autopilot – Part 2 PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Pradeep Reddy is Senior Product Manager in het SageMaker Low/No Code ML-team, waaronder SageMaker Autopilot, SageMaker Automatic Model Tuner. Naast zijn werk houdt Pradeep van lezen, hardlopen en geeken met computers ter grootte van een handpalm, zoals Raspberry Pi en andere technologie voor domotica.

Uniforme gegevensvoorbereiding, modeltraining en implementatie met Amazon SageMaker Data Wrangler en Amazon SageMaker Autopilot – Part 2 PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Dr John He is een senior softwareontwikkelaar bij Amazon AI, waar hij zich richt op machine learning en distributed computing. Hij heeft een doctoraat van CMU.

Tijdstempel:

Meer van AWS-machine learning