Amazon SageMaker-stuurautomaat, een low-code machine learning (ML)-service die automatisch de beste ML-modellen bouwt, traint en afstemt op basis van tabelgegevens, is nu geรฏntegreerd met Amazon SageMaker-pijpleidingen, de eerste speciaal gebouwde service voor continue integratie en continue levering (CI/CD) voor ML. Dit maakt de automatisering mogelijk van een end-to-end stroom van het bouwen van ML-modellen met behulp van Autopilot en het integreren van modellen in volgende CI/CD-stappen.
Om een โโAutopilot-experiment binnen Pipelines te starten, moet u tot nu toe een workflow voor het bouwen van modellen bouwen door aangepaste integratiecode met Pipelines te schrijven Lambda or In behandeling stappen. Voor meer informatie, zie Verplaats Amazon SageMaker Autopilot ML-modellen van experiment naar productie met behulp van Amazon SageMaker Pipelines.
Met de ondersteuning voor Autopilot als native stap binnen Pipelines, kun je nu een geautomatiseerde trainingsstap toevoegen (AutoMLStep) in Pipelines en roep een Autopilot-experiment aan met Trainingsmodus samenstellen. Als u bijvoorbeeld een ML-workflow voor training en evaluatie bouwt voor een use-case voor fraudedetectie met Pipelines, kunt u nu een Autopilot-experiment starten met behulp van de AutoML-stap, die automatisch meerdere proeven uitvoert om het beste model voor een bepaalde invoergegevensset te vinden . Nadat het beste model is gemaakt met behulp van de Model stap:, kunnen de prestaties worden geรซvalueerd op testgegevens met behulp van de Stap transformeren en Verwerkingsstap voor een aangepast evaluatiescript binnen Pipelines. Uiteindelijk kan het model worden geregistreerd in het SageMaker-modelregister met behulp van de Model stap: in combinatie met een Voorwaarde stap.
In dit bericht laten we zien hoe u een end-to-end ML-workflow kunt maken om een โโdoor SageMaker gegenereerd ML-model te trainen en te evalueren met behulp van de nieuw gelanceerde AutoML-stap in Pipelines en deze te registreren bij het SageMaker-modelregister. Het ML-model met de beste prestaties kan worden geรฏmplementeerd op een SageMaker-eindpunt.
Gegevenssetoverzicht
We gebruiken de openbaar beschikbare UCI Inkomensgegevensset volkstelling 1994 voor volwassenen om te voorspellen of een persoon een jaarinkomen heeft van meer dan $ 50,000 per jaar. Dit is een binair classificatieprobleem; de opties voor de inkomensdoelvariabele zijn ofwel 50K.
De dataset bevat 32,561 rijen voor training en validatie en 16,281 rijen voor testen met elk 15 kolommen. Dit omvat demografische informatie over individuen en class
als de doelkolom die de inkomensklasse aangeeft.
Kolomnaam | Omschrijving |
leeftijd | Doorlopend |
werkklas | Particulier, Self-emp-not-inc, Self-emp-inc, Federale overheid, Lokale overheid, Staatsoverheid, Zonder loon, Nooit gewerkt |
fnlwgt | Doorlopend |
onderwijs | Bachelors, Some-college, 11e, HS-grad, Prof-school, Assoc-acdm, Assoc-voc, 9e, 7e-8e, 12e, Masters, 1e-4e, 10e, Doctoraat, 5e-6e, Kleuterschool |
opleidingsnummer | Doorlopend |
burgerlijke staat | Getrouwd-civ-echtgenoot, Gescheiden, Nooit-getrouwd, Gescheiden, Weduwnaar, Getrouwd-echtgenoot-afwezig, Getrouwd-AF-echtgenoot |
bezetting | Tech-support, Craft-repair, Other-service, Sales, Exec-managerial, Prof-specialty, Handlers-cleaners, Machine-op-inspct, Adm-administratief, Farming-fishing, Transport-moving, Priv-house-serv, Beschermende dienst, strijdkrachten |
verwantschap | Echtgenote, Eigen kind, Echtgenoot, Niet in familie, Ander familielid, Ongehuwd |
race | Wit, Aziatisch-Pac-Islander, Amer-Indisch-Eskimo, Overig, Zwart |
geslacht | Vrouwelijk mannelijk |
meerwaarde | Doorlopend |
kapitaalverlies | Doorlopend |
uren per week | Doorlopend |
geboorteland | Verenigde Staten, Cambodja, Engeland, Puerto Rico, Canada, Duitsland, afgelegen VS (Guam-USVI-etc), India, Japan, Griekenland, Zuid, China, Cuba, Iran, Honduras, Filippijnen, Italiรซ, Polen, Jamaica , Vietnam, Mexico, Portugal, Ierland, Frankrijk, Dominicaanse Republiek, Laos, Ecuador, Taiwan, Haรฏti, Colombia, Hongarije, Guatemala, Nicaragua, Schotland, Thailand, Joegoslaviรซ, El-Salvador, Trinadad&Tobago, Peru, Hong, Holand-Nederland |
klasse | Inkomensklasse, ofwel 50K |
Overzicht oplossingen
We gebruiken Pipelines om verschillende te orkestreren pijplijn stappen vereist om een โโAutopilot-model te trainen. We creรซren en runnen een Autopilot-experiment als onderdeel van een AutoML-stap zoals beschreven in deze zelfstudie.
De volgende stappen zijn vereist voor dit end-to-end Autopilot-trainingsproces:
- Maak en volg een Autopilot-trainingstaak met behulp van de
AutoMLStep
. - Maak een SageMaker-model met behulp van
ModelStep
. Met deze stap worden de metagegevens en artefacten van het beste model opgehaald die in de vorige stap door Autopilot zijn weergegeven. - Evalueer het getrainde Autopilot-model op een testdataset met behulp van
TransformStep
. - Vergelijk de uitvoer van de vorige run
TransformStep
met de werkelijke doellabels gebruikenProcessingStep
. - Registreer het ML-model in het SageMaker-modelregister gebruik
ModelStep
, als de eerder verkregen evaluatiestatistiek een vooraf gedefinieerde drempel overschrijdt inConditionStep
. - Implementeer het ML-model als een SageMaker-eindpunt voor testdoeleinden.
Architectuur
Het onderstaande architectuurdiagram illustreert de verschillende pijplijnstappen die nodig zijn om alle stappen te verpakken in een reproduceerbare, geautomatiseerde en schaalbare SageMaker Autopilot-trainingspijplijn. De gegevensbestanden worden uit de S3-bucket gelezen en de pijplijnstappen worden achtereenvolgens aangeroepen.
walkthrough
Dit bericht bevat een gedetailleerde uitleg van de pijplijnstappen. We bekijken de code en bespreken de onderdelen van elke stap. Om de oplossing te implementeren, raadpleegt u de voorbeeld notebook, die stapsgewijze instructies biedt voor het implementeren van een Autopilot MLOps-workflow met behulp van Pipelines.
Voorwaarden
Voltooi de volgende vereisten:
Wanneer de dataset klaar is voor gebruik, moeten we Pipelines instellen om een โโherhaalbaar proces tot stand te brengen om automatisch ML-modellen te bouwen en te trainen met behulp van Autopilot. Wij gebruiken de SageMaker-SDK om een โโend-to-end ML-trainingspijplijn programmatisch te definiรซren, uit te voeren en te volgen.
Pijplijn stappen
In de volgende secties doorlopen we de verschillende stappen in de SageMaker-pijplijn, waaronder AutoML-training, modelcreatie, batchinferentie, evaluatie en voorwaardelijke registratie van het beste model. Het volgende diagram illustreert de volledige pijplijnstroom.
AutoML-trainingsstap
An AutoML-object wordt gebruikt om de uitvoering van de Autopilot-trainingstaak te definiรซren en kan worden toegevoegd aan de SageMaker-pijplijn met behulp van de AutoMLStep
class, zoals weergegeven in de volgende code. De ensemble-trainingsmodus moet worden gespecificeerd, maar andere parameters kunnen naar behoefte worden aangepast. In plaats van de AutoML-taak bijvoorbeeld automatisch de ML probleemtype: en objectieve statistiek, deze kunnen hard worden gecodeerd door de problem_type
en job_objective
parameters doorgegeven aan het AutoML-object.
Stap voor het maken van modellen
De AutoML-stap zorgt voor het genereren van verschillende ML-modelkandidaten, het combineren ervan en het verkrijgen van het beste ML-model. Modelartefacten en metadata worden automatisch opgeslagen en kunnen worden verkregen door de get_best_auto_ml_model()
methode in de AutoML-trainingsstap. Deze kunnen vervolgens worden gebruikt om een โโSageMaker-model te maken als onderdeel van de modelstap:
Batchtransformatie en evaluatiestappen
We maken gebruik van de Transformator-object For batch gevolgtrekking op de testdataset, die vervolgens kan worden gebruikt voor evaluatiedoeleinden. De uitvoervoorspellingen worden vergeleken met de werkelijke of grondwaarheidslabels met behulp van een Scikit-learn metrics-functie. We evalueren onze resultaten op basis van de F1-score. De prestatiestatistieken worden opgeslagen in een JSON-bestand, waarnaar wordt verwezen bij het registreren van het model in de volgende stap.
Voorwaardelijke registratiestappen
In deze stap registreren we ons nieuwe Autopilot-model in het SageMaker-modelregister, als het de vooraf gedefinieerde drempel voor evaluatiestatistieken overschrijdt.
De pijplijn maken en uitvoeren
Nadat we de stappen hebben gedefinieerd, combineren we ze tot een SageMaker-pijplijn:
De stappen worden in sequentiรซle volgorde uitgevoerd. De pijplijn voert alle stappen voor een AutoML-taak uit met behulp van Autopilot en Pijplijnen voor training, modelevaluatie en modelregistratie.
U kunt het nieuwe model bekijken door naar het modelregister op de Studio-console te gaan en te openen AutoMLModelPackageGroup
. Kies een versie van een trainingstaak om de objectieve statistieken op de Model kwaliteit Tab.
U kunt het uitlegbaarheidsrapport bekijken op de Uitlegbaarheid tabblad om de voorspellingen van uw model te begrijpen.
Om het onderliggende Autopilot-experiment te bekijken voor alle modellen die zijn gemaakt in AutoMLStep
, navigeer naar de AutoML pagina en kies de taaknaam.
Implementeer het model
Nadat we de prestaties van het ML-model handmatig hebben beoordeeld, kunnen we ons nieuw gemaakte model implementeren op een SageMaker-eindpunt. Hiervoor kunnen we de cellen in de notebook uitvoeren die het modeleindpunt maken met behulp van de modelconfiguratie die is opgeslagen in het SageMaker-modelregister.
Houd er rekening mee dat dit script wordt gedeeld voor demonstratiedoeleinden, maar het wordt aanbevolen om een โโrobuustere CI/CD-pijplijn te volgen voor productie-implementatie voor ML-deductie. Voor meer informatie, zie ML-workflows bouwen, automatiseren, beheren en schalen met Amazon SageMaker Pipelines.
Samengevat
Dit bericht beschrijft een gebruiksvriendelijke ML-pijplijnbenadering om automatisch tabellaire ML-modellen (AutoML) te trainen met behulp van Autopilot, Pipelines en Studio. AutoML verbetert de efficiรซntie van ML-beoefenaars en versnelt het pad van ML-experimenten naar productie zonder dat uitgebreide ML-expertise nodig is. We schetsen de respectieve pijplijnstappen die nodig zijn voor het maken, evalueren en registreren van ML-modellen. Ga aan de slag door de voorbeeld notebook om uw eigen aangepaste AutoML-modellen te trainen en te implementeren.
Voor meer informatie over Autopilot en Pipelines, zie Automatiseer modelontwikkeling met Amazon SageMaker Autopilot en Amazon SageMaker-pijpleidingen.
Speciale dank aan iedereen die heeft bijgedragen aan de lancering: Shenghua Yue, John He, Ao Guo, Xinlu Tu, Tian Qin, Yanda Hu, Zhankui Lu en Dewen Qi.
Over de auteurs
Janisha Anand is Senior Product Manager in het SageMaker Low/No Code ML-team, waaronder SageMaker Autopilot. Ze houdt van koffie, blijft actief en brengt tijd door met haar familie.
Marcelo Aberle is ML Engineer bij AWS AI. Hij helpt Amazon ML Solutions-lab klanten bouwen schaalbare ML(-Ops)-systemen en frameworks. In zijn vrije tijd houdt hij van wandelen en fietsen in de San Francisco Bay Area.
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.
Shenghua Yue is een Software Development Engineer bij Amazon SageMaker. Ze richt zich op het bouwen van ML-tools en -producten voor klanten. Buiten haar werk houdt ze van het buitenleven, yoga en wandelen.
- Gevorderd (300)
- AI
- ai kunst
- ai kunst generator
- je hebt een robot
- Amazon Sage Maker
- Amazon SageMaker-stuurautomaat
- Amazon SageMaker-pijpleidingen
- 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
- MLops
- Plato
- plato ai
- Plato gegevensintelligentie
- Plato-spel
- PlatoData
- platogamen
- schaal ai
- syntaxis
- zephyrnet