Préparation des données, formation des modèles et déploiement unifiés avec Amazon SageMaker Data Wrangler et Amazon SageMaker Autopilot – Partie 2 PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Préparation des données, formation des modèles et déploiement unifiés avec Amazon SageMaker Data Wrangler et Amazon SageMaker Autopilot – Partie 2

Selon la qualité et la complexité des données, les data scientists consacrent entre 45 et 80 % de leur temps à des tâches de préparation des données. Cela implique que la préparation et le nettoyage des données prennent un temps précieux sur le travail réel de science des données. Une fois qu'un modèle d'apprentissage automatique (ML) est formé avec des données préparées et prêt pour le déploiement, les scientifiques des données doivent souvent réécrire les transformations de données utilisées pour préparer les données pour l'inférence ML. Cela peut allonger le temps nécessaire au déploiement d'un modèle utile capable d'inférer et de noter les données à partir de sa forme et de sa forme brutes.

Dans la partie 1 de cette série, nous avons démontré comment Data Wrangler permet à un préparation de données unifiée et formation de modèles expérience avec Pilote automatique Amazon SageMaker en quelques clics. Dans cette deuxième et dernière partie de cette série, nous nous concentrons sur une fonctionnalité qui inclut et réutilise Gestionnaire de données Amazon SageMaker transformées, telles que les imputers de valeurs manquantes, les encodeurs ordinaux ou one-hot, etc., ainsi que les modèles Autopilot pour l'inférence ML. Cette fonctionnalité permet un prétraitement automatique des données brutes avec la réutilisation des transformations de la fonctionnalité Data Wrangler au moment de l'inférence, ce qui réduit encore le temps nécessaire pour déployer un modèle formé en production.

Vue d'ensemble de la solution

Data Wrangler réduit le temps d'agrégation et de préparation des données pour le ML de quelques semaines à quelques minutes, et Autopilot crée, forme et ajuste automatiquement les meilleurs modèles de ML en fonction de vos données. Avec Autopilot, vous conservez toujours un contrôle total et une visibilité sur vos données et votre modèle. Les deux services sont spécialement conçus pour rendre les praticiens du ML plus productifs et accélérer le délai de rentabilisation.

Le diagramme suivant illustre notre architecture de solution.

Pré-requis

Étant donné que cet article est le deuxième d'une série en deux parties, assurez-vous d'avoir lu et mis en œuvre avec succès Partie 1 avant de continuer.

Exporter et entraîner le modèle

Dans la partie 1, après la préparation des données pour le ML, nous avons expliqué comment vous pouvez utiliser l'expérience intégrée dans Data Wrangler pour analyser des ensembles de données et créer facilement des modèles de ML de haute qualité dans Autopilot.

Cette fois, nous utilisons à nouveau l'intégration du pilote automatique pour entraîner un modèle sur le même ensemble de données d'entraînement, mais au lieu d'effectuer une inférence en masse, nous effectuons une inférence en temps réel sur un Amazon Sage Maker point de terminaison d'inférence qui est créé automatiquement pour nous.

En plus de la commodité offerte par le déploiement automatique des points de terminaison, nous montrons comment vous pouvez également déployer avec toutes les transformations de la fonctionnalité Data Wrangler en tant que pipeline d'inférence série SageMaker. Cela permet un prétraitement automatique des données brutes avec la réutilisation des transformations de la fonction Data Wrangler au moment de l'inférence.

Notez que cette fonctionnalité n'est actuellement prise en charge que pour les flux Data Wrangler qui n'utilisent pas les transformations de jointure, de regroupement, de concaténation et de série chronologique.

Nous pouvons utiliser la nouvelle intégration Data Wrangler avec Autopilot pour former directement un modèle à partir de l'interface utilisateur du flux de données Data Wrangler.

  1. Choisissez le signe plus à côté du Valeurs d'échelle nœud, et choisissez Modèle de train.
  2. Pour Emplacement Amazon S3, spécifie le Service de stockage simple Amazon (Amazon S3) emplacement où SageMaker exporte vos données.
    S'il est présenté avec un chemin de compartiment racine par défaut, Data Wrangler crée un sous-répertoire d'exportation unique sous celui-ci. Vous n'avez pas besoin de modifier ce chemin racine par défaut, sauf si vous le souhaitez. Le pilote automatique utilise cet emplacement pour former automatiquement un modèle, ce qui vous évite temps nécessaire pour définir l'emplacement de sortie du flux Data Wrangler, puis définir l'emplacement d'entrée des données d'entraînement du pilote automatique. Cela permet une expérience plus transparente.
  3. Selectionnez Exporter et former pour exporter les données transformées vers Amazon S3.
    Préparation des données, formation des modèles et déploiement unifiés avec Amazon SageMaker Data Wrangler et Amazon SageMaker Autopilot – Partie 2 PlatoBlockchain Data Intelligence. Recherche verticale. Aï.
    Une fois l'exportation réussie, vous êtes redirigé vers le Créer une expérience de pilote automatique page, avec la Des données d'entrée Emplacement S3 déjà rempli pour vous (il a été rempli à partir des résultats de la page précédente).
  4. Pour Nom de l'expérience, saisissez un nom (ou conservez le nom par défaut).
  5. Pour Target, choisissez Résultat comme colonne que vous souhaitez prédire.
  6. Selectionnez Suivant : Méthode d'entraînement.
    Préparation des données, formation des modèles et déploiement unifiés avec Amazon SageMaker Data Wrangler et Amazon SageMaker Autopilot – Partie 2 PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Comme détaillé dans le post Amazon SageMaker Autopilot est jusqu'à huit fois plus rapide avec le nouveau mode de formation d'ensemble optimisé par AutoGluon, vous pouvez soit laisser Autopilot sélectionner automatiquement le mode d'entraînement en fonction de la taille de l'ensemble de données, soit sélectionner manuellement le mode d'entraînement pour l'assemblage ou l'optimisation des hyperparamètres (HPO).

Les détails de chaque option sont les suivants :

  • Automatique – Le pilote automatique choisit automatiquement le mode d'assemblage ou le mode HPO en fonction de la taille de votre jeu de données. Si votre jeu de données est supérieur à 100 Mo, Autopilot choisit HPO ; sinon il choisit l'assemblage.
  • Assemblage – Le pilote automatique utilise le AutoGluon technique d'assemblage pour former plusieurs modèles de base et combiner leurs prédictions à l'aide de l'empilement de modèles dans un modèle prédictif optimal.
  • Optimisation hyperparamétrique – Le pilote automatique trouve la meilleure version d'un modèle en ajustant les hyperparamètres à l'aide de la technique d'optimisation bayésienne et en exécutant des tâches de formation sur votre jeu de données. HPO sélectionne les algorithmes les plus pertinents pour votre ensemble de données et choisit la meilleure gamme d'hyperparamètres pour ajuster les modèles. Pour notre exemple, nous laissons la sélection par défaut de Automatique.
  1. Selectionnez Suivant : Déploiement et paramètres avancés continuer.
    Préparation des données, formation des modèles et déploiement unifiés avec Amazon SageMaker Data Wrangler et Amazon SageMaker Autopilot – Partie 2 PlatoBlockchain Data Intelligence. Recherche verticale. Aï.
  2. Sur le Déploiement et paramètres avancés page, sélectionnez une option de déploiement.
    Il est important de comprendre les options de déploiement plus en détail ; ce que nous choisissons aura un impact sur l'inclusion ou non des transformations que nous avons effectuées précédemment dans Data Wrangler dans le pipeline d'inférence :
    • Déploiement automatique du meilleur modèle avec les transformations de Data Wrangler – Avec cette option de déploiement, lorsque vous préparez des données dans Data Wrangler et formez un modèle en appelant Autopilot, le modèle formé est déployé avec toutes les transformations de la fonctionnalité Data Wrangler en tant que Pipeline d'inférence série SageMaker. Cela permet un prétraitement automatique des données brutes avec la réutilisation des transformations de la fonction Data Wrangler au moment de l'inférence. Notez que le point de terminaison d'inférence s'attend à ce que le format de vos données soit au même format que lorsqu'elles sont importées dans le flux Data Wrangler.
    • Déploiement automatique du meilleur modèle sans transformations de Data Wrangler – Cette option déploie un point de terminaison en temps réel qui n'utilise pas les transformations Data Wrangler. Dans ce cas, vous devez appliquer les transformations définies dans votre flux Data Wrangler à vos données avant l'inférence.
    • Ne pas déployer automatiquement le meilleur modèle – Vous devez utiliser cette option lorsque vous ne souhaitez pas du tout créer de point de terminaison d'inférence. C'est utile si vous souhaitez générer un meilleur modèle pour une utilisation ultérieure, comme l'inférence en bloc exécutée localement. (Il s'agit de l'option de déploiement que nous avons sélectionnée dans la partie 1 de la série.) Notez que lorsque vous sélectionnez cette option, le modèle créé (à partir du meilleur candidat d'Autopilot via le SDK SageMaker) inclut la fonction Data Wrangler transformée en pipeline d'inférence série SageMaker.

    Pour cet article, nous utilisons le Déploiement automatique du meilleur modèle avec les transformations de Data Wrangler option.

  3. Pour Possibilité de déploiement, sélectionnez Déploiement automatique du meilleur modèle avec les transformations de Data Wrangler.
  4. Laissez les autres paramètres par défaut.
  5. Selectionnez Suivant : Réviser et créer continuer.
    Sur le Examiner et créer , nous voyons un résumé des paramètres choisis pour notre expérience Autopilot.
  6. Selectionnez Créer une expérience pour commencer le processus de création du modèle.
    Préparation des données, formation des modèles et déploiement unifiés avec Amazon SageMaker Data Wrangler et Amazon SageMaker Autopilot – Partie 2 PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Vous êtes redirigé vers la page de description du poste de pilote automatique. Les modèles montrent sur le Des modèles photo onglet au fur et à mesure qu'ils sont générés. Pour confirmer que le processus est terminé, accédez à la Profil de l'emploi onglet et recherchez un Completed valeur pour le Statut champ.

Vous pouvez revenir à cette page de description de poste de pilote automatique à tout moment à partir de Amazon SageMakerStudio:

  1. Selectionnez Expériences et essais sur le Ressources SageMaker menu déroulant.
  2. Sélectionnez le nom de la tâche Autopilot que vous avez créée.
  3. Choisissez (clic droit) l'expérience et choisissez Décrire la tâche AutoML.

Voir la formation et le déploiement

Lorsque le pilote automatique termine l'expérience, nous pouvons afficher les résultats de la formation et explorer le meilleur modèle à partir de la page de description du poste du pilote automatique.

Choisissez (clic droit) le modèle étiqueté Meilleur modèleet choisissez Ouvrir dans les détails du modèle.

Préparation des données, formation des modèles et déploiement unifiés avec Amazon SageMaker Data Wrangler et Amazon SageMaker Autopilot – Partie 2 PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

La Performance L'onglet affiche plusieurs tests de mesure du modèle, y compris une matrice de confusion, la zone sous la courbe de précision/rappel (AUCPR) et la zone sous la courbe caractéristique de fonctionnement du récepteur (ROC). Ceux-ci illustrent les performances globales de validation du modèle, mais ils ne nous disent pas si le modèle se généralisera bien. Nous devons encore effectuer des évaluations sur des données de test invisibles pour voir avec quelle précision le modèle fait des prédictions (pour cet exemple, nous prédisons si un individu sera atteint de diabète).

Effectuer une inférence par rapport au point de terminaison en temps réel

Créez un nouveau bloc-notes SageMaker pour effectuer une inférence en temps réel afin d'évaluer les performances du modèle. Saisissez le code suivant dans un bloc-notes pour exécuter une inférence en temps réel à des fins de validation :

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

Après avoir configuré le code à exécuter dans votre notebook, vous devez configurer deux variables :

  • endpoint_name
  • payload_str

Configurer endpoint_name

endpoint_name représente le nom du point de terminaison d'inférence en temps réel que le déploiement a créé automatiquement pour nous. Avant de le définir, nous devons trouver son nom.

  1. Selectionnez Endpoints sur le Ressources SageMaker menu déroulant.
  2. Recherchez le nom du point de terminaison qui porte le nom de la tâche AutoPilot que vous avez créée avec une chaîne aléatoire qui lui est ajoutée.
  3. Choisissez (clic droit) l'expérience, puis choisissez Décrire le point de terminaison.
    Préparation des données, formation des modèles et déploiement unifiés avec Amazon SageMaker Data Wrangler et Amazon SageMaker Autopilot – Partie 2 PlatoBlockchain Data Intelligence. Recherche verticale. Aï.
    La Détails du point de terminaison la page apparaît.
  4. Mettez en surbrillance le nom complet du terminal et appuyez sur Ctrl + C pour le copier dans le presse-papiers.
    Préparation des données, formation des modèles et déploiement unifiés avec Amazon SageMaker Data Wrangler et Amazon SageMaker Autopilot – Partie 2 PlatoBlockchain Data Intelligence. Recherche verticale. Aï.
  5. Entrez cette valeur (assurez-vous qu'elle est entre guillemets) pour endpoint_name dans le cahier d'inférence.
    Préparation des données, formation des modèles et déploiement unifiés avec Amazon SageMaker Data Wrangler et Amazon SageMaker Autopilot – Partie 2 PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Configurer payload_str

Le bloc-notes est livré avec une chaîne de charge utile par défaut payload_str que vous pouvez utiliser pour tester votre point de terminaison, mais n'hésitez pas à expérimenter différentes valeurs, telles que celles de votre ensemble de données de test.

Pour extraire des valeurs de l'ensemble de données de test, suivez les instructions de Partie 1 pour exporter l'ensemble de données de test vers Amazon S3. Ensuite, sur la console Amazon S3, vous pouvez le télécharger et sélectionner les lignes pour utiliser le fichier d'Amazon S3.

Chaque ligne de votre ensemble de données de test comporte neuf colonnes, la dernière colonne étant le outcome évaluer. Pour ce code de bloc-notes, assurez-vous de n'utiliser qu'une seule ligne de données (jamais d'en-tête CSV) pour payload_str. Assurez-vous également de n'envoyer qu'un payload_str avec huit colonnes, où vous avez supprimé la valeur de résultat.

Par exemple, si vos fichiers d'ensemble de données de test ressemblent au code suivant et que nous souhaitons effectuer une inférence en temps réel de la première ligne :

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

Nous fixons payload_str à 10,115,0,0,0,35.3,0.134,29. Notez comment nous avons omis le outcome valeur de 0 à la fin.

Si par hasard la valeur cible de votre ensemble de données n'est pas la première ou la dernière valeur, supprimez simplement la valeur avec la structure de virgule intacte. Par exemple, supposons que nous prédisions bar et que notre ensemble de données ressemble au code suivant :

foo,bar,foobar
85,17,20

Dans ce cas, nous posons payload_str à 85,,20.

Lorsque le notebook est exécuté avec le payload_str ainsi que endpoint_name valeurs, vous obtenez une réponse CSV au format outcome (0 ou 1), confidence (0-1).

Nettoyer

Pour vous assurer de ne pas encourir de frais liés au didacticiel après avoir terminé ce didacticiel, assurez-vous d'arrêter l'application Data Wrangler (https://docs.aws.amazon.com/sagemaker/latest/dg/data-wrangler-shut-down.html), ainsi que toutes les instances de bloc-notes utilisées pour effectuer des tâches d'inférence. Les points de terminaison d'inférence créés via le déploiement du pilote automatique doivent également être supprimés pour éviter des frais supplémentaires.

Conclusion

Dans cet article, nous avons montré comment intégrer votre traitement de données, avec l'ingénierie et la construction de modèles à l'aide de Data Wrangler et Autopilot. En nous appuyant sur la partie 1 de la série, nous avons souligné comment vous pouvez facilement former, régler et déployer un modèle sur un point de terminaison d'inférence en temps réel avec Autopilot directement depuis l'interface utilisateur de Data Wrangler. En plus de la commodité offerte par le déploiement automatique des points de terminaison, nous avons démontré comment vous pouvez également déployer avec toutes les transformations de la fonctionnalité Data Wrangler en tant que pipeline d'inférence série SageMaker, permettant un prétraitement automatique des données brutes, avec la réutilisation des transformations de la fonctionnalité Data Wrangler à le temps de l'inférence.

Les solutions low-code et AutoML telles que Data Wrangler et Autopilot éliminent le besoin d'avoir des connaissances approfondies en matière de codage pour créer des modèles ML robustes. Premiers pas avec Data Wrangler aujourd'hui pour découvrir à quel point il est facile de créer des modèles ML à l'aide d'Autopilot.


À propos des auteurs

Préparation des données, formation des modèles et déploiement unifiés avec Amazon SageMaker Data Wrangler et Amazon SageMaker Autopilot – Partie 2 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.

Préparation des données, formation des modèles et déploiement unifiés avec Amazon SageMaker Data Wrangler et Amazon SageMaker Autopilot – Partie 2 PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Pradeep Reddy est chef de produit senior au sein de l'équipe SageMaker Low/No Code ML, qui comprend SageMaker Autopilot, SageMaker Automatic Model Tuner. En dehors du travail, Pradeep aime lire, courir et s'amuser avec des ordinateurs de la taille d'une paume comme Raspberry Pi et d'autres technologies de domotique.

Préparation des données, formation des modèles et déploiement unifiés avec Amazon SageMaker Data Wrangler et Amazon SageMaker Autopilot – Partie 2 PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Dr John He est ingénieur senior en développement logiciel chez Amazon AI, où il se concentre sur l'apprentissage automatique et l'informatique distribuée. Il est titulaire d'un doctorat de la CMU.

Horodatage:

Plus de Apprentissage automatique AWS