Start Amazon SageMaker Autopilot-experimenten rechtstreeks vanuit Amazon SageMaker Pipelines om eenvoudig MLOps-workflows PlatoBlockchain Data Intelligence te automatiseren. Verticaal zoeken. Ai.

Start Amazon SageMaker Autopilot-experimenten rechtstreeks vanuit Amazon SageMaker Pipelines om MLOps-workflows eenvoudig te automatiseren

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 gebruiken ProcessingStep.
  • Registreer het ML-model in het SageMaker-modelregister gebruik ModelStep, als de eerder verkregen evaluatiestatistiek een vooraf gedefinieerde drempel overschrijdt in ConditionStep.
  • 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.

Start Amazon SageMaker Autopilot-experimenten rechtstreeks vanuit Amazon SageMaker Pipelines om eenvoudig MLOps-workflows PlatoBlockchain Data Intelligence te automatiseren. Verticaal zoeken. Ai.

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.

automl = AutoML(
    role=execution_role,
    target_attribute_name=target_attribute_name,
    sagemaker_session=pipeline_session,
    total_job_runtime_in_seconds=max_automl_runtime,
    mode="ENSEMBLING",
)
train_args = automl.fit(
    inputs=[
        AutoMLInput(
            inputs=s3_train_val,
            target_attribute_name=target_attribute_name,
            channel_type="training",
        )
    ]
)
step_auto_ml_training = AutoMLStep(
    name="AutoMLTrainingStep",
    step_args=train_args,
)

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:

best_auto_ml_model = step_auto_ml_training.get_best_auto_ml_model(
    execution_role, sagemaker_session=pipeline_session
)
step_args_create_model = best_auto_ml_model.create(instance_type=instance_type)
step_create_model = ModelStep(name="ModelCreationStep", step_args=step_args_create_model)

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:

pipeline = Pipeline(
    name="AutoMLTrainingPipeline",
    parameters=[
        instance_count,
        instance_type,
        max_automl_runtime,
        model_approval_status,
        model_package_group_name,
        model_registration_metric_threshold,
        s3_bucket,
        target_attribute_name,
    ],
    steps=[
        step_auto_ml_training,
        step_create_model,
        step_batch_transform,
        step_evaluation,
        step_conditional_registration,
    ],
    sagemaker_session=pipeline_session,
)

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.

Start Amazon SageMaker Autopilot-experimenten rechtstreeks vanuit Amazon SageMaker Pipelines om eenvoudig MLOps-workflows PlatoBlockchain Data Intelligence te automatiseren. Verticaal zoeken. Ai.

U kunt het uitlegbaarheidsrapport bekijken op de Uitlegbaarheid tabblad om de voorspellingen van uw model te begrijpen.

Start Amazon SageMaker Autopilot-experimenten rechtstreeks vanuit Amazon SageMaker Pipelines om eenvoudig MLOps-workflows PlatoBlockchain Data Intelligence te automatiseren. Verticaal zoeken. Ai.

Om het onderliggende Autopilot-experiment te bekijken voor alle modellen die zijn gemaakt in AutoMLStep, navigeer naar de AutoML pagina en kies de taaknaam.

Start Amazon SageMaker Autopilot-experimenten rechtstreeks vanuit Amazon SageMaker Pipelines om eenvoudig MLOps-workflows PlatoBlockchain Data Intelligence te automatiseren. Verticaal zoeken. Ai.

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

Start Amazon SageMaker Autopilot-experimenten rechtstreeks vanuit Amazon SageMaker Pipelines om eenvoudig MLOps-workflows PlatoBlockchain Data Intelligence te automatiseren. Verticaal zoeken. Ai.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.

Start Amazon SageMaker Autopilot-experimenten rechtstreeks vanuit Amazon SageMaker Pipelines om eenvoudig MLOps-workflows PlatoBlockchain Data Intelligence te automatiseren. Verticaal zoeken. Ai.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.

Start Amazon SageMaker Autopilot-experimenten rechtstreeks vanuit Amazon SageMaker Pipelines om eenvoudig MLOps-workflows PlatoBlockchain Data Intelligence te automatiseren. 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.

Start Amazon SageMaker Autopilot-experimenten rechtstreeks vanuit Amazon SageMaker Pipelines om eenvoudig MLOps-workflows PlatoBlockchain Data Intelligence te automatiseren. Verticaal zoeken. Ai.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.

Tijdstempel:

Meer van AWS-machine learning