Alors que de plus en plus d'organisations se tournent vers l'apprentissage automatique (ML) pour obtenir des informations plus approfondies, les deux principales pierres d'achoppement auxquelles elles se heurtent sont l'étiquetage et la gestion du cycle de vie. L'étiquetage est l'identification des données et l'ajout d'étiquettes pour fournir un contexte afin qu'un modèle ML puisse en tirer des leçons. Les étiquettes peuvent indiquer une phrase dans un fichier audio, une voiture dans une photographie ou un organe dans une IRM. L'étiquetage des données est nécessaire pour permettre aux modèles ML de travailler avec les données. La gestion du cycle de vie concerne le processus de configuration d'une expérience de ML et la documentation de l'ensemble de données, de la bibliothèque, de la version et du modèle utilisés pour obtenir des résultats. Une équipe peut exécuter des centaines d'expériences avant de choisir une approche. Revenir en arrière et recréer cette approche peut être difficile sans enregistrer les éléments de cette expérience.
De nombreux exemples et didacticiels ML commencent par un ensemble de données qui inclut une valeur cible. Cependant, les données du monde réel n'ont pas toujours une telle valeur cible. Par exemple, dans l'analyse des sentiments, une personne peut généralement juger si un avis est positif, négatif ou mitigé. Mais les critiques sont constituées d'un ensemble de textes sans aucune valeur de jugement. Afin de créer un enseignement supervisé modèle pour résoudre ce problème, un jeu de données étiqueté de haute qualité est essentiel. Vérité au sol Amazon SageMaker est un service d'étiquetage de données entièrement géré qui facilite la création d'ensembles de données de formation très précis pour le ML.
Pour les organisations qui utilisent Databricks comme plate-forme de données et d'analyse sur AWS pour effectuer des tâches d'extraction, de transformation et de chargement (ETL), l'objectif ultime est souvent de former un modèle d'apprentissage supervisé. Dans cet article, nous montrons comment Databricks s'intègre à Ground Truth et Amazon Sage Maker pour l'étiquetage des données et la distribution des modèles.
Vue d'ensemble de la solution
Ground Truth est un service d'étiquetage de données entièrement géré qui facilite la création d'ensembles de données de formation très précis pour le ML. Grâce à la console Ground Truth, nous pouvons créer des workflows d'étiquetage de données personnalisés ou intégrés en quelques minutes. Ces flux de travail prennent en charge une variété de cas d'utilisation, y compris les nuages de points 3D, la vidéo, les images et le texte. De plus, Ground Truth propose un étiquetage automatique des données, qui utilise un modèle ML pour étiqueter nos données.
Nous formons notre modèle sur l'ensemble de données Amazon Customer Reviews accessible au public. À un niveau élevé, les étapes sont les suivantes :
- Extrayez un ensemble de données brutes à étiqueter et déplacez-le vers Service de stockage simple Amazon (Amazon S3).
- Effectuez l'étiquetage en créant une tâche d'étiquetage dans SageMaker.
- Créez et formez un modèle d'apprenant linéaire simple Scikit-learn pour classer le sentiment du texte de révision sur la plate-forme Databricks à l'aide d'un échantillon cahier.
- Utilisez MLflow composants pour créer et exécuter des MLOps et enregistrer les artefacts du modèle.
- Déployez le modèle en tant que point de terminaison SageMaker à l'aide de Bibliothèque MLflow SageMaker pour l'inférence en temps réel.
Le diagramme suivant illustre le parcours d'étiquetage et de ML à l'aide de Ground Truth et MLflow.
Créer une tâche d'étiquetage dans SageMaker
À partir de l'ensemble de données Amazon Customer Reviews, nous extrayons uniquement les parties de texte, car nous construisons un modèle d'analyse des sentiments. Une fois extrait, nous plaçons le texte dans un compartiment S3, puis créons un travail d'étiquetage Ground Truth via la console SageMaker.
Sur le Créer un travail d'étiquetage page, remplissez tous les champs obligatoires. Dans le cadre de l'étape de cette page, Ground Truth vous permet de générer le fichier manifeste de la tâche. Ground Truth utilise le fichier manifeste d'entrée pour identifier le nombre de fichiers ou d'objets dans la tâche d'étiquetage afin que le nombre correct de tâches soit créé et envoyé aux étiqueteurs humains (ou machine). Le fichier est automatiquement enregistré dans le compartiment S3. L'étape suivante consiste à spécifier la catégorie de tâche et la sélection de tâche. Dans ce cas d'utilisation, nous choisissons Texte comme catégorie de tâche, et Classification du texte avec une seule étiquette pour la sélection des tâches, ce qui signifie qu'un texte de révision aura un seul sentiment : positif, négatif ou neutre.
Enfin, nous écrivons des instructions simples mais concises pour les étiqueteurs sur la façon d'étiqueter les données textuelles. Les instructions sont affichées sur l'outil d'étiquetage et vous pouvez éventuellement revoir la vue de l'annotateur à ce moment. Enfin, nous soumettons le travail et surveillons la progression sur la console.
Pendant que le travail d'étiquetage est en cours, nous pouvons également consulter les données étiquetées sur le Sortie languette. Nous pouvons surveiller chaque texte et étiquette de révision, et si le travail a été effectué par un humain ou une machine. Nous pouvons sélectionner 100 % des travaux d'étiquetage à effectuer par des humains ou choisir l'annotation machine, ce qui accélère le travail et réduit les coûts de main-d'œuvre.
Lorsque la tâche est terminée, le récapitulatif de la tâche d'étiquetage contient des liens vers le manifeste de sortie et l'ensemble de données étiqueté. Nous pouvons également accéder à Amazon S3 et télécharger les deux à partir de notre dossier de compartiment S3.
Dans les prochaines étapes, nous utilisons un notebook Databricks, MLflow, et des ensembles de données étiquetés par Ground Truth pour créer un Scikit-apprendre .
Télécharger un jeu de données étiqueté à partir d'Amazon S3
Nous commençons par télécharger l'ensemble de données étiqueté depuis Amazon S3. Le manifeste est enregistré au format JSON et nous le chargeons dans un Spark DataFrame dans Databricks. Pour former le modèle d'analyse des sentiments, nous n'avons besoin que du texte de révision et du sentiment qui ont été annotés par la tâche d'étiquetage Ground Truth. Nous utilisons select() pour extraire ces deux fonctionnalités. Ensuite, nous convertissons l'ensemble de données d'un DataFrame PySpark en un DataFrame Pandas, car l'algorithme Scikit-learn nécessite le format Pandas DataFrame.
Ensuite, nous utilisons Scikit-learn CountVectorizer
pour transformer le texte de révision en un vecteur bigramme en définissant le ngram_range
valeur maximale à 2. CountVectorizer
convertit le texte en une matrice de nombres de jetons. Ensuite on utilise TfidfTransformer
pour transformer le vecteur bigramme en un format de fréquence de document inverse de fréquence de terme (TF-IDF).
Nous comparons les scores de précision pour la formation effectuée avec un vecteur bigramme par rapport au bigramme avec TF-IDF. TF-IDF est une mesure statistique qui évalue la pertinence d'un mot par rapport à un document dans une collection de documents. Étant donné que le texte de révision a tendance à être relativement court, nous pouvons observer comment TF-IDF affecte les performances du modèle prédictif.
Configurer une expérience MLflow
MLflow a été développé par Databricks et est maintenant un projet open-source. MLflow gère le cycle de vie du ML, ce qui vous permet de suivre, de recréer et de publier facilement des expériences.
Pour configurer des expériences MLflow, nous utilisons mlflow.sklearn.autolog()
pour activer la journalisation automatique des hyperparamètres, des métriques et des artefacts de modèle à chaque fois estimator.fit()
, estimator.fit_predict()
, ainsi que estimator.fit_transform()
sont appelés. Alternativement, vous pouvez le faire manuellement en appelant mlflow.log_param()
ainsi que mlflow.log_metric()
.
Nous adaptons l'ensemble de données transformé à un classificateur linéaire avec apprentissage par descente de gradient stochastique (SGD). Avec SGD, le gradient de la perte est estimé un échantillon à la fois et le modèle est mis à jour en cours de route avec un calendrier de résistance décroissant.
Ces deux ensembles de données que nous avons préparés plus tôt sont transmis au train_and_show_scores()
fonction pour la formation. Après la formation, nous devons enregistrer un modèle et enregistrer ses artefacts. Nous utilisons mlflow.sklearn.log_model()
de le faire.
Avant le déploiement, nous examinons les résultats de l'expérience et choisissons deux expériences (une pour le bigramme et l'autre pour le bigramme avec TF-IDF) à comparer. Dans notre cas d'utilisation, le deuxième modèle formé avec bigram TF-IDF a légèrement mieux fonctionné, nous choisissons donc ce modèle à déployer. Une fois le modèle enregistré, nous déployons le modèle, en changeant l'étape du modèle en production. Nous pouvons accomplir cela sur l'interface utilisateur MLflow ou dans le code en utilisant transition_model_version_stage()
.
Déployer et tester le modèle en tant que point de terminaison SageMaker
Avant de déployer le modèle formé, nous devons créer un conteneur Docker pour héberger le modèle dans SageMaker. Pour ce faire, nous exécutons une simple commande MLflow qui construit et pousse le conteneur vers Registre des conteneurs élastiques Amazon (Amazon ECR) dans notre compte AWS.
Nous pouvons maintenant trouver l'URI de l'image sur la console Amazon ECR. Nous passons l'URI de l'image en tant que image_url
paramètre et utiliser DEPLOYMENT_MODE_CREATE
pour le paramètre mode s'il s'agit d'un nouveau déploiement. Si vous mettez à jour un endpoint existant avec une nouvelle version, utilisez DEPLOYMENT_MODE_REPLACE
.
Pour tester le point de terminaison SageMaker, nous créons une fonction qui prend le nom du point de terminaison et les données d'entrée comme paramètres.
Conclusion
Dans cet article, nous vous avons montré comment utiliser Ground Truth pour étiqueter un ensemble de données brutes et utiliser les données étiquetées pour former un classificateur linéaire simple à l'aide de Scikit-learn. Dans cet exemple, nous utilisons MLflow pour suivre les hyperparamètres et les métriques, enregistrer un modèle de niveau de production et déployer le modèle formé sur SageMaker en tant que point de terminaison. Avec Databricks pour traiter les données, vous pouvez automatiser l'ensemble de ce cas d'utilisation, de sorte que lorsque de nouvelles données sont introduites, elles peuvent être étiquetées et traitées dans le modèle. En automatisant ces pipelines et modèles, les équipes de science des données peuvent se concentrer sur de nouveaux cas d'utilisation et découvrir plus d'informations au lieu de passer leur temps à gérer les mises à jour des données au jour le jour.
Pour commencer, consultez Utiliser Amazon SageMaker Ground Truth pour étiqueter les données et inscrivez-vous pour un Essai gratuit de 14 jours de Databricks sur AWS. Pour en savoir plus sur la façon dont Databricks s'intègre à SageMaker, ainsi qu'à d'autres services AWS comme Colle AWS ainsi que Redshift d'Amazon, Visitez le site Databrick sur AWS.
De plus, consultez les ressources suivantes utilisées dans cet article :
Utilisez le suivant cahier pour commencer.
À propos des auteurs
Rûmi Olsen est un architecte de solutions dans le programme de partenariat AWS. Elle est spécialisée dans les solutions sans serveur et d'apprentissage automatique dans son rôle actuel, et possède une formation dans les technologies de traitement du langage naturel. Elle passe la plupart de son temps libre avec sa fille à explorer la nature du nord-ouest du Pacifique.
Igor Alekseev est architecte de solution partenaire chez AWS dans le domaine des données et de l'analyse. Igor travaille avec des partenaires stratégiques pour les aider à créer des architectures complexes optimisées pour AWS. Avant de rejoindre AWS, en tant qu'architecte de données/solutions, il a mis en œuvre de nombreux projets dans le Big Data, y compris plusieurs lacs de données dans l'écosystème Hadoop. En tant qu'ingénieur de données, il a été impliqué dans l'application de l'IA/ML à la détection de fraude et à la bureautique. Les projets d'Igor concernaient divers secteurs, notamment les communications, la finance, la sécurité publique, la fabrication et les soins de santé. Auparavant, Igor a travaillé comme ingénieur full stack/tech lead.
Naseer Ahmed est un architecte de solutions partenaire senior chez Databricks qui soutient son activité AWS. Naseer est spécialisé dans l'entreposage de données, l'informatique décisionnelle, le développement d'applications, les architectures de conteneurs, sans serveur et d'apprentissage automatique sur AWS. Il a été élu PME de l'année 2021 chez Databricks et est un passionné de crypto.
- Coinsmart. Le meilleur échange Bitcoin et Crypto d'Europe.
- Platoblockchain. Intelligence métaverse Web3. Connaissance amplifiée. ACCÈS LIBRE.
- CryptoHawk. Radar Altcoins. Essai gratuit.
- Source : https://aws.amazon.com/blogs/machine-learning/build-an-mlops-sentiment-analysis-pipeline-using-amazon-sagemaker-ground-truth-and-databricks-mlflow/
- "
- 100
- 2021
- 3d
- Qui sommes-nous ?
- Compte
- Avec cette connaissance vient le pouvoir de prendre
- ajout
- algorithme
- Tous
- Amazon
- selon une analyse de l’Université de Princeton
- analytique
- appli
- Développement d'applications
- Application
- une approche
- acoustique
- auto
- Automation
- disponibles
- AWS
- fond
- base
- Big Data
- construire
- Développement
- construit
- intégré
- la performance des entreprises
- l'intelligence d'entreprise
- fournisseur
- cas
- Catégories
- Selectionnez
- classification
- code
- collection
- Communications
- complexe
- Console
- Contenant
- contient
- Costs
- créée
- La création
- Crypto
- Courant
- Customiser
- données
- science des données
- profond
- déployer
- déployer
- déploiement
- Détection
- développé
- Développement
- difficile
- distribution
- Docker
- INSTITUTIONNELS
- Ne fait pas
- motivation
- même
- risque numérique
- permettre
- Endpoint
- ingénieur
- essential
- estimé
- exemple
- expérience
- Fonctionnalités:
- Des champs
- finalement
- finance
- s'adapter
- Focus
- Abonnement
- le format
- fraude
- Test d'anglais
- plein
- fonction
- générer
- objectif
- aller
- la médecine
- Haute
- très
- Comment
- How To
- HTTPS
- humain
- Les êtres humains
- Des centaines
- Identification
- identifier
- image
- mis en œuvre
- Y compris
- secteurs
- contribution
- idées.
- Intelligence
- impliqué
- IT
- Emploi
- Emplois
- ACTIVITES
- l'étiquetage
- Etiquettes
- COUTURE
- langue
- conduire
- APPRENTISSAGE
- apprentissage
- Niveau
- Bibliothèque
- Gauche
- charge
- click
- machine learning
- LES PLANTES
- FAIT DU
- gérés
- gestion
- les gérer
- manuellement
- fabrication
- Matrice
- mesurer
- Métrique
- mixte
- ML
- modèle
- numériques jumeaux (digital twin models)
- Surveiller
- PLUS
- (en fait, presque toutes)
- Bougez
- Nature
- Nature
- cahier
- nombre
- Offres Speciales
- de commander
- organisations
- Autre
- Pacifique
- les partenaires
- partenaires,
- performant
- personne
- plateforme
- Point
- positif
- Problème
- processus
- Vidéo
- Programme
- projets
- fournir
- public
- publier
- raw
- en temps réel
- Articles
- S'inscrire
- inscrit
- pertinent
- conditions
- Ressources
- Résultats
- Avis
- Avis
- Courir
- pour le running
- Sécurité
- Sciences
- sentiment
- Sans serveur
- service
- Services
- set
- mise
- Shorts
- étapes
- So
- sur mesure
- Solutions
- RÉSOUDRE
- spécialise
- Dépenses
- empiler
- Étape
- Commencer
- j'ai commencé
- statistique
- storage
- Stratégique
- Support
- Appuyer
- Target
- tâches
- équipe
- Les technologies
- tester
- Avec
- fiable
- jeton
- outil
- suivre
- Formation
- Transformer
- procès
- tutoriels
- ui
- ultime
- devoiler
- Actualités
- utilisé
- d'habitude
- Plus-value
- variété
- Vidéo
- Voir
- que
- sans
- Activités principales
- travaillé
- vos contrats
- an