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.
- Kies het plusteken naast de Schaalwaarden knoop, en kies Trein model.
- 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. - Kies Exporteren en trainen om de getransformeerde gegevens naar Amazon S3 te exporteren.
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). - Voor Experimentnaam, voer een naam in (of behoud de standaardnaam).
- Voor doelwit, kiezen Resultaat als de kolom die u wilt voorspellen.
- Kies Volgende: Trainingsmethode.
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.
- Kies Volgende: Implementatie en geavanceerde instellingen te gaan.
- 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.
- Voor Implementatie optieselecteer Beste model automatisch implementeren met transformaties van Data Wrangler.
- Laat de overige instellingen als standaard.
- 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. - Kies Experiment maken om het proces voor het maken van het model te starten.
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:
- Kies Experimenten en proeven op de SageMaker-bronnen drop-down menu.
- Selecteer de naam van de Autopilot-taak die u hebt gemaakt.
- 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.
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:
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.
- Kies Eindpunten op de SageMaker-bronnen drop-down menu.
- Zoek de naam van het eindpunt met de naam van de Autopilot-taak die u hebt gemaakt met een willekeurige tekenreeks eraan toegevoegd.
- Kies (klik met de rechtermuisknop) het experiment en kies Beschrijf eindpunt.
De Eindpuntdetails pagina verschijnt. - Markeer de volledige naam van het eindpunt en druk op Ctrl + C om het naar het klembord te kopiëren.
- Voer deze waarde in (zorg ervoor dat deze tussen aanhalingstekens staat) voor
endpoint_name
in het gevolgtrekkingsschrift.
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:
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:
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
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.
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.
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.
- AI
- ai kunst
- ai kunst generator
- je hebt een robot
- Amazon Sage Maker
- Amazon SageMaker-stuurautomaat
- Amazon SageMaker-gegevens Wrangler
- kunstmatige intelligentie
- certificering van kunstmatige intelligentie
- kunstmatige intelligentie in het bankwezen
- kunstmatige intelligentie robot
- kunstmatige intelligentie robots
- kunstmatige intelligentiesoftware
- AWS-machine learning
- blockchain
- blockchain conferentie ai
- vindingrijk
- conversatie kunstmatige intelligentie
- crypto conferentie ai
- van dall
- diepgaand leren
- google ai
- machine learning
- Plato
- plato ai
- Plato gegevensintelligentie
- Plato-spel
- PlatoData
- platogamen
- schaal ai
- syntaxis
- zephyrnet