Lancez des expériences Amazon SageMaker Autopilot directement depuis Amazon SageMaker Pipelines pour automatiser facilement les flux de travail MLOps PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Lancez des expériences Amazon SageMaker Autopilot directement depuis Amazon SageMaker Pipelines pour automatiser facilement les workflows MLOps

Pilote automatique Amazon SageMaker, un service de machine learning (ML) low-code qui crée, entraîne et ajuste automatiquement les meilleurs modèles de ML basés sur des données tabulaires, est désormais intégré à Pipelines Amazon SageMaker, le premier service d'intégration continue et de livraison continue (CI/CD) spécialement conçu pour le ML. Cela permet l'automatisation d'un flux de bout en bout de création de modèles ML à l'aide du pilote automatique et de l'intégration de modèles dans les étapes CI/CD ultérieures.

Jusqu'à présent, pour lancer une expérience de pilote automatique dans Pipelines, vous devez créer un workflow de création de modèles en écrivant un code d'intégration personnalisé avec Pipelines. Lambda or En cours pas. Pour plus d'informations, voir Déplacez les modèles Amazon SageMaker Autopilot ML de l'expérimentation à la production à l'aide d'Amazon SageMaker Pipelines.

Avec la prise en charge du pilote automatique en tant qu'étape native dans Pipelines, vous pouvez désormais ajouter une étape de formation automatisée (Étape AutoML) dans Pipelines et appelez une expérience de pilote automatique avec Mode d'entraînement à l'assemblage. Par exemple, si vous créez un flux de travail ML de formation et d'évaluation pour un cas d'utilisation de détection de fraude avec Pipelines, vous pouvez désormais lancer une expérience de pilote automatique à l'aide de l'étape AutoML, qui exécute automatiquement plusieurs essais pour trouver le meilleur modèle sur un ensemble de données d'entrée donné. . Une fois le meilleur modèle créé à l'aide de la Étape du modèle, ses performances peuvent être évaluées sur des données de test en utilisant le Étape de transformation et Étape de traitement pour un script d'évaluation personnalisé dans Pipelines. Finalement, le modèle peut être enregistré dans le registre de modèles SageMaker en utilisant le Étape du modèle en combinaison avec un Étape de condition.

Dans cet article, nous montrons comment créer un flux de travail ML de bout en bout pour former et évaluer un modèle ML généré par SageMaker à l'aide de l'étape AutoML nouvellement lancée dans Pipelines et l'enregistrer auprès du registre de modèles SageMaker. Le modèle ML avec les meilleures performances peut être déployé sur un point de terminaison SageMaker.

Aperçu de l'ensemble de données

Nous utilisons les informations accessibles au public Ensemble de données sur le revenu du recensement des adultes de l'UCI de 1994 pour prédire si une personne a un revenu annuel supérieur à 50,000 50 $ par année. Il s'agit d'un problème de classification binaire ; les options pour la variable cible de revenu sont soit XNUMXK.

L'ensemble de données contient 32,561 16,281 lignes pour la formation et la validation et 15 XNUMX lignes pour les tests avec XNUMX colonnes chacune. Cela comprend des informations démographiques sur les individus et class comme colonne cible indiquant la classe de revenu.

Nom de colonne Description
âge Cyber ​​reconnaissance
classe ouvrière Privé, Auto-emploi-pas-inc, Auto-emploi-inc, Fédéral-gouvernement, Local-gouvernement, État-gouvernement, Sans salaire, N'a jamais travaillé
fnlwgt Cyber ​​reconnaissance
l'éducation Baccalauréat, Certains-collège, 11e, HS-grad, Prof-école, Assoc-acdm, Assoc-voc, 9e, 7e-8e, 12e, Master, 1re-4e, 10e, Doctorat, 5e-6e, Préscolaire
éducation-num Cyber ​​reconnaissance
état civil Marié-civ-conjoint, Divorcé, Célibataire, Séparé, Veuf, Marié-conjoint-absent, Marié-AF-conjoint
occupation Support technique, Artisanat-réparation, Autre-service, Ventes, Exec-gestion, Prof-spécialité, Manutentionnaires-nettoyeurs, Machine-op-inspct, Adm-clerical, Agriculture-pêche, Transport-déménagement, Priv-house-serv, Service de protection, Forces armées
relation amoureuse Épouse, Propre enfant, Époux, Hors famille, Autre parent, Célibataire
breed Blanc, Asiatique-Pac-Insulaire, Amer-Indien-Esquimau, Autre, Noir
sexe Femelle mâle
plus-value Cyber ​​reconnaissance
capital perte Cyber ​​reconnaissance
heures par semaine Cyber ​​reconnaissance
pays d'origine États-Unis, Cambodge, Angleterre, Porto-Rico, Canada, Allemagne, Périphérie des États-Unis (Guam-USVI-etc), Inde, Japon, Grèce, Sud, Chine, Cuba, Iran, Honduras, Philippines, Italie, Pologne, Jamaïque , Vietnam, Mexique, Portugal, Irlande, France, République-Dominicaine, Laos, Equateur, Taïwan, Haïti, Colombie, Hongrie, Guatemala, Nicaragua, Ecosse, Thaïlande, Yougoslavie, El-Salvador, Trinité-et-Tobago, Pérou, Hong, Hollande-Pays-Bas
classe Classe de revenu, soit 50K

Vue d'ensemble de la solution

Nous utilisons Pipelines pour orchestrer différents étapes du pipeline requis pour former un modèle de pilote automatique. Nous créons et gérons un Test de pilote automatique dans le cadre d'une étape AutoML, comme décrit dans ce didacticiel.

Les étapes suivantes sont requises pour ce processus de formation de bout en bout sur le pilote automatique :

  • Créer et surveiller une tâche de formation au pilotage automatique à l'aide de AutoMLStep.
  • Créer un modèle SageMaker à l'aide de ModelStep. Cette étape récupère les meilleures métadonnées et artefacts du modèle rendus par Autopilot à l'étape précédente.
  • Évaluer le modèle de pilote automatique formé sur un ensemble de données de test à l'aide de TransformStep.
  • Comparez la sortie de l'exécution précédente TransformStep avec les étiquettes cibles réelles en utilisant ProcessingStep.
  • Enregistrez le modèle ML dans le Registre de modèles SageMaker en utilisant ModelStep, si la métrique d'évaluation précédemment obtenue dépasse un seuil prédéfini dans ConditionStep.
  • Déployez le modèle ML en tant que point de terminaison SageMaker à des fins de test.

Architecture

Le diagramme d'architecture ci-dessous illustre les différentes étapes de pipeline nécessaires pour regrouper toutes les étapes dans un pipeline de formation SageMaker Autopilot reproductible, automatisé et évolutif. Les fichiers de données sont lus à partir du compartiment S3 et les étapes du pipeline sont appelées de manière séquentielle.

Procédure pas à pas

Cet article fournit une explication détaillée des étapes du pipeline. Nous passons en revue le code et discutons des composants de chaque étape. Pour déployer la solution, reportez-vous au exemple de cahier, qui fournit des instructions détaillées pour la mise en œuvre d'un workflow MLOps AutoPilot à l'aide de Pipelines.

Pré-requis

Remplissez les conditions préalables suivantes :

Lorsque l'ensemble de données est prêt à être utilisé, nous devons configurer des pipelines pour établir un processus reproductible afin de créer et de former automatiquement des modèles ML à l'aide d'Autopilot. Nous utilisons le SDK SageMaker pour définir, exécuter et suivre par programmation un pipeline de formation ML de bout en bout.

Étapes du pipeline

Dans les sections suivantes, nous passons en revue les différentes étapes du pipeline SageMaker, y compris la formation AutoML, la création de modèles, l'inférence par lots, l'évaluation et l'enregistrement conditionnel du meilleur modèle. Le schéma suivant illustre l'ensemble du flux du pipeline.

Lancez des expériences Amazon SageMaker Autopilot directement depuis Amazon SageMaker Pipelines pour automatiser facilement les flux de travail MLOps PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Étape d'entraînement AutoML

An Objet AutoML est utilisé pour définir l'exécution de la tâche de formation du pilote automatique et peut être ajouté au pipeline SageMaker à l'aide de l'outil AutoMLStep classe, comme indiqué dans le code suivant. Le mode de formation d'assemblage doit être spécifié, mais d'autres paramètres peuvent être ajustés selon les besoins. Par exemple, au lieu de laisser la tâche AutoML déduire automatiquement le ML type de problème ainsi que le métrique objective, ceux-ci pourraient être codés en dur en spécifiant le problem_type ainsi que le job_objective paramètres transmis à l'objet AutoML.

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

Étape de création du modèle

L'étape AutoML s'occupe de générer divers modèles candidats de ML, de les combiner et d'obtenir le meilleur modèle de ML. Les artefacts et les métadonnées du modèle sont automatiquement stockés et peuvent être obtenus en appelant le get_best_auto_ml_model() méthode sur l'étape d'entraînement AutoML. Ceux-ci peuvent ensuite être utilisés pour créer un modèle SageMaker dans le cadre de l'étape Modèle :

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)

Étapes de transformation et d'évaluation par lots

Nous utilisons les Objet transformateur en inférence par lots sur l'ensemble de données de test, qui peut ensuite être utilisé à des fins d'évaluation. Les prédictions de sortie sont comparées aux étiquettes de vérité réelles ou de terrain à l'aide d'une fonction de métrique Scikit-learn. Nous évaluons nos résultats en fonction des Score F1. Les métriques de performances sont enregistrées dans un fichier JSON, qui est référencé lors de l'enregistrement du modèle à l'étape suivante.

Étapes d'enregistrement conditionnel

Dans cette étape, nous enregistrons notre nouveau modèle de pilote automatique dans le registre de modèles SageMaker, s'il dépasse le seuil de métrique d'évaluation prédéfini.

Créer et exécuter le pipeline

Après avoir défini les étapes, nous les combinons dans un pipeline SageMaker :

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

Les étapes sont exécutées dans un ordre séquentiel. Le pipeline exécute toutes les étapes d'une tâche AutoML à l'aide du pilote automatique et des pipelines pour l'entraînement, l'évaluation du modèle et l'enregistrement du modèle.

Vous pouvez afficher le nouveau modèle en accédant au registre des modèles sur la console Studio et en ouvrant AutoMLModelPackageGroup. Choisissez n'importe quelle version d'une tâche d'entraînement pour afficher les métriques objectives sur le Qualité du modèle languette.

Lancez des expériences Amazon SageMaker Autopilot directement depuis Amazon SageMaker Pipelines pour automatiser facilement les flux de travail MLOps PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Vous pouvez consulter le rapport d'explicabilité sur le Explicabilité pour comprendre les prédictions de votre modèle.

Lancez des expériences Amazon SageMaker Autopilot directement depuis Amazon SageMaker Pipelines pour automatiser facilement les flux de travail MLOps PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Pour afficher l'expérience Autopilot sous-jacente pour tous les modèles créés dans AutoMLStep, naviguez jusqu'à AutoML page et choisissez le nom du travail.

Lancez des expériences Amazon SageMaker Autopilot directement depuis Amazon SageMaker Pipelines pour automatiser facilement les flux de travail MLOps PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Déployer le modèle

Après avoir examiné manuellement les performances du modèle ML, nous pouvons déployer notre modèle nouvellement créé sur un point de terminaison SageMaker. Pour cela, nous pouvons exécuter les cellules du bloc-notes qui créent le point de terminaison du modèle à l'aide de la configuration du modèle enregistrée dans le registre des modèles SageMaker.

Notez que ce script est partagé à des fins de démonstration, mais il est recommandé de suivre un pipeline CI/CD plus robuste pour le déploiement en production pour l'inférence ML. Pour plus d'informations, reportez-vous à Création, automatisation, gestion et mise à l'échelle des flux de travail ML à l'aide d'Amazon SageMaker Pipelines.

Résumé

Cet article décrit une approche de pipeline de ML facile à utiliser pour former automatiquement des modèles de ML tabulaires (AutoML) à l'aide d'Autopilot, de Pipelines et de Studio. AutoML améliore l'efficacité des praticiens du ML, en accélérant le passage de l'expérimentation du ML à la production sans avoir besoin d'une expertise approfondie en ML. Nous décrivons les étapes de pipeline respectives nécessaires à la création, à l'évaluation et à l'enregistrement du modèle ML. Commencez par essayer le exemple de cahier pour entraîner et déployer vos propres modèles AutoML personnalisés.

Pour plus d'informations sur le pilote automatique et les pipelines, reportez-vous à Automatisez le développement de modèles avec Amazon SageMaker Autopilot ainsi que le Pipelines Amazon SageMaker.

Remerciements particuliers à tous ceux qui ont contribué au lancement: Shenghua Yue, John He, Ao Guo, Xinlu Tu, Tian Qin, Yanda Hu, Zhankui Lu et Dewen Qi.


À propos des auteurs

Lancez des expériences Amazon SageMaker Autopilot directement depuis Amazon SageMaker Pipelines pour automatiser facilement les flux de travail MLOps PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Janisha Anand est chef de produit senior au sein de l'équipe SageMaker Low/No Code ML, qui comprend SageMaker Autopilot. Elle aime le café, rester active et passer du temps avec sa famille.

Lancez des expériences Amazon SageMaker Autopilot directement depuis Amazon SageMaker Pipelines pour automatiser facilement les flux de travail MLOps PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Marcelo Aberlé est ingénieur ML chez AWS AI. Il aide Laboratoire de solutions Amazon ML les clients créent des systèmes et des cadres ML(-Ops) évolutifs. Dans ses temps libres, il aime faire de la randonnée et du vélo dans la région de la baie de San Francisco.

Lancez des expériences Amazon SageMaker Autopilot directement depuis Amazon SageMaker Pipelines pour automatiser facilement les flux de travail MLOps PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Gérémy Cohen est un architecte de solutions chez AWS, où il aide les clients à créer des solutions cloud de pointe. Dans ses temps libres, il aime faire de courtes promenades sur la plage, explorer la baie avec sa famille, réparer les choses autour de la maison, casser des choses autour de la maison et faire des barbecues.

Lancez des expériences Amazon SageMaker Autopilot directement depuis Amazon SageMaker Pipelines pour automatiser facilement les flux de travail MLOps PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Shenghua Yue est ingénieur en développement logiciel chez Amazon SageMaker. Elle se concentre sur la création d'outils et de produits ML pour les clients. En dehors du travail, elle aime le plein air, le yoga et la randonnée.

Horodatage:

Plus de Apprentissage automatique AWS