Le traitement du langage naturel (NLP) est le domaine de l'apprentissage automatique (ML) qui vise à donner aux ordinateurs la capacité de comprendre du texte et des mots parlés de la même manière que les êtres humains. Récemment, des architectures de pointe comme le architecture du transformateur sont utilisés pour obtenir des performances quasi humaines sur les tâches en aval de la PNL telles que le résumé de texte, la classification de texte, la reconnaissance d'entités, etc.
Les grands modèles de langage (LLM) sont des modèles basés sur des transformateurs formés sur une grande quantité de texte non étiqueté avec des centaines de millions (BERT) à plus d'un billion de paramètres (MiCS), et dont la taille rend la formation sur un seul GPU impossible. En raison de leur complexité inhérente, la formation d'un LLM à partir de zéro est une tâche très difficile que très peu d'organisations peuvent se permettre. Une pratique courante pour les tâches en aval de la PNL consiste à prendre un LLM pré-formé et à l'affiner. Pour plus d'informations sur le réglage fin, reportez-vous à Adaptation au domaine Ajustement des modèles de base dans Amazon SageMaker JumpStart sur les données financières et les Ajustez les modèles de langage transformateur pour la diversité linguistique avec Hugging Face sur Amazon SageMaker.
L'apprentissage zéro coup en PNL permet une LLM pré-formé pour générer des réponses à des tâches pour lesquelles il n'a pas été explicitement formé (même sans ajustement). Parlant spécifiquement de la classification de texte, classification de texte instantanée est une tâche dans le traitement du langage naturel où un modèle NLP est utilisé pour classer le texte à partir de classes invisibles, contrairement à classement supervisé, où les modèles NLP ne peuvent classer que du texte appartenant à des classes dans les données d'apprentissage.
Nous avons récemment lancé la prise en charge du modèle de classification zéro coup dans Amazon SageMaker JumpStart. SageMaker JumpStart est le hub ML de Amazon Sage Maker qui donne accès à des modèles de base pré-formés (FM), à des LLM, à des algorithmes intégrés et à des modèles de solution pour vous aider à démarrer rapidement avec ML. Dans cet article, nous montrons comment vous pouvez effectuer une classification zéro coup à l'aide de modèles pré-formés dans SageMaker Jumpstart. Vous apprendrez à utiliser l'interface utilisateur SageMaker Jumpstart et SageMaker Python SDK pour déployer la solution et exécuter l'inférence à l'aide des modèles disponibles.
Apprentissage sans coupure
La classification Zero-Shot est un paradigme dans lequel un modèle peut classer de nouveaux exemples invisibles appartenant à des classes qui n'étaient pas présentes dans les données d'apprentissage. Par exemple, un modèle de langage qui a été formé pour comprendre le langage humain peut être utilisé pour classer les tweets des résolutions du Nouvel An sur plusieurs classes comme career
, health
et une finance
, sans que le modèle de langage soit explicitement formé sur la tâche de classification de texte. Cela contraste avec l'affinement du modèle, car ce dernier implique de réentraîner le modèle (par apprentissage par transfert) tandis que l'apprentissage zéro coup ne nécessite pas de formation supplémentaire.
Le diagramme suivant illustre les différences entre l'apprentissage par transfert (à gauche) et l'apprentissage par zéro coup (à droite).
Yin et coll. a proposé un cadre pour la création de classificateurs zéro-shot à l'aide de l'inférence en langage naturel (NLI). Le cadre fonctionne en posant la séquence à classer comme une prémisse NLI et construit une hypothèse à partir de chaque étiquette candidate. Par exemple, si nous voulons évaluer si une séquence appartient à la classe politics
, nous pourrions construire une hypothèse de « Ce texte parle de politique ». Les probabilités d'implication et de contradiction sont ensuite converties en probabilités d'étiquette. Comme un examen rapide, NLI considère deux phrases : une prémisse et une hypothèse. La tâche consiste à déterminer si l'hypothèse est vraie (implication) ou fausse (contradiction) compte tenu de la prémisse. Le tableau suivant fournit quelques exemples.
Prémisse | Libellé | Hypothèse |
Un homme inspecte l'uniforme d'une figure dans certains pays d'Asie de l'Est. | Contradiction | L'homme dort. |
Un homme plus âgé et plus jeune souriant. | Neutri | Deux hommes sourient et rient des chats qui jouent par terre. |
Un match de football avec plusieurs hommes jouant. | implication | Certains hommes pratiquent un sport. |
Vue d'ensemble de la solution
Dans cet article, nous discutons des points suivants :
- Comment déployer des modèles de classification de texte pré-formés à l'aide de l'interface utilisateur SageMaker JumpStart et exécuter l'inférence sur le modèle déployé à l'aide de données de texte court
- Comment utiliser le SDK Python SageMaker pour accéder aux modèles de classification de texte zéro-shot pré-formés dans SageMaker JumpStart et utiliser le script d'inférence pour déployer le modèle sur un point de terminaison SageMaker pour un cas d'utilisation de classification de texte en temps réel
- Comment utiliser le SDK Python SageMaker pour accéder à des modèles de classification de texte pré-formés et utiliser la transformation par lots SageMaker pour un cas d'utilisation de classification de texte par lots
SageMaker JumpStart offre un réglage fin et un déploiement en un clic pour une grande variété de modèles pré-formés sur des tâches ML populaires, ainsi qu'une sélection de solutions de bout en bout qui résolvent les problèmes commerciaux courants. Ces fonctionnalités suppriment la lourde charge de chaque étape du processus ML, simplifiant le développement de modèles de haute qualité et réduisant le temps de déploiement. Le API JumpStart vous permettent de déployer et d'affiner par programme une vaste sélection de modèles pré-formés sur vos propres ensembles de données.
Le hub de modèles JumpStart donne accès à un grand nombre de modèles NLP qui permettent l'apprentissage par transfert et le réglage fin sur des ensembles de données personnalisés. Au moment d'écrire ces lignes, le hub de modèles JumpStart contient plus de 300 modèles de texte dans une variété de modèles populaires, tels que Stable Diffusion, Flan T5, Alexa TM, Bloom, etc.
Notez qu'en suivant les étapes de cette section, vous déploierez une infrastructure sur votre compte AWS qui peut entraîner des coûts.
Déployez un modèle de classification de texte autonome et instantané
Dans cette section, nous montrons comment déployer un modèle de classification à coup sûr à l'aide de SageMaker JumpStart. Vous pouvez accéder aux modèles pré-formés via la page d'accueil JumpStart dans Amazon SageMakerStudio. Effectuez les étapes suivantes :
- Dans SageMaker Studio, ouvrez la page d'accueil JumpStart.
Reportez-vous à Ouvrir et utiliser JumpStart pour plus de détails sur la navigation vers SageMaker JumpStart. - Dans le Modèles de texte carrousel, localisez la fiche modèle "Zero-Shot Text Classification".
- Selectionnez Voir le modèle pour accéder à la
facebook-bart-large-mnli
.
Vous pouvez également rechercher le modèle de classification zéro coup dans la barre de recherche et accéder au modèle dans SageMaker JumpStart. - Spécifiez une configuration de déploiement, le type d'instance d'hébergement SageMaker, le nom du point de terminaison, Service de stockage simple Amazon (Amazon S3) nom du compartiment et autres paramètres requis.
- En option, vous pouvez spécifier des configurations de sécurité telles que Gestion des identités et des accès AWS (IAM), paramètres VPC et Service de gestion des clés AWS (AWS KMS) clés de chiffrement.
- Selectionnez Déployer pour créer un point de terminaison SageMaker.
Cette étape prend quelques minutes. Lorsqu'elle est terminée, vous pouvez exécuter l'inférence sur le point de terminaison SageMaker qui héberge le modèle de classification zéro-shot.
Dans la vidéo suivante, nous montrons une procédure pas à pas des étapes de cette section.
Utiliser JumpStart par programmation avec le SDK SageMaker
Dans la section SageMaker JumpStart de SageMaker Studio, sous Solutions de démarrage rapide, vous pouvez trouver le modèles de solutions. Les modèles de solution SageMaker JumpStart sont des solutions de bout en bout en un clic pour de nombreux cas d'utilisation courants de ML. Au moment d'écrire ces lignes, plus de 20 solutions sont disponibles pour de multiples cas d'utilisation, tels que la prévision de la demande, la détection des fraudes et les recommandations personnalisées, pour n'en nommer que quelques-uns.
La solution "Zero Shot Text Classification with Hugging Face" offre un moyen de classer le texte sans avoir besoin de former un modèle pour des étiquettes spécifiques (classement zéro tir) à l'aide d'un classificateur de texte pré-entraîné. Le modèle de classification par défaut pour cette solution est le facebook-bart-large-mnli (BART) modèle. Pour cette solution, nous utilisons le Ensemble de données des résolutions du Nouvel An 2015 pour classer les résolutions. Un sous-ensemble de l'ensemble de données d'origine contenant uniquement les Resolution_Category
(étiquette de vérité terrain) et le text
colonnes est inclus dans les ressources de la solution.
Les données d'entrée comprennent des chaînes de texte, une liste de catégories souhaitées pour la classification et si la classification est multi-étiquette ou non pour l'inférence synchrone (en temps réel). Pour l'inférence asynchrone (par lots), nous fournissons une liste de chaînes de texte, la liste des catégories pour chaque chaîne et si la classification est multi-étiquette ou non dans un fichier texte au format JSON.
Le résultat de l'inférence est un objet JSON qui ressemble à la capture d'écran suivante.
Nous avons le texte original dans le sequence
champ, les étiquettes utilisées pour la classification du texte dans le labels
champ, et la probabilité attribuée à chaque étiquette (dans le même ordre d'apparition) dans le champ scores
.
Pour déployer la solution Zero Shot Text Classification with Hugging Face, procédez comme suit :
- Sur la page d'accueil SageMaker JumpStart, choisissez Modèles, cahiers, solutions dans le volet de navigation.
- Dans le Solutions section, choisissez Explorer toutes les solutions.
- Sur le Solutions page, choisissez la carte de modèle Zero Shot Text Classification with Hugging Face.
- Passez en revue les détails du déploiement et, si vous êtes d'accord, choisissez Lancement.
Le déploiement fournira un point de terminaison en temps réel SageMaker pour l'inférence en temps réel et un compartiment S3 pour stocker les résultats de la transformation par lots.
Le schéma suivant illustre l'architecture de cette méthode.
Effectuez une inférence en temps réel à l'aide d'un modèle de classification à tir nul
Dans cette section, nous examinons comment utiliser le SDK Python pour exécuter une classification de texte instantanée (à l'aide de l'un des modèles disponibles) en temps réel à l'aide d'un point de terminaison SageMaker.
- Tout d'abord, nous configurons la demande de charge utile d'inférence au modèle. Cela dépend du modèle, mais pour le modèle BART, l'entrée est un objet JSON avec la structure suivante :
- Notez que le modèle BART n'est pas explicitement formé sur le
candidate_labels
. Nous utiliserons la technique de classification par tir zéro pour classer la séquence de texte dans des classes invisibles. Le code suivant est un exemple utilisant le texte de l'ensemble de données des résolutions du Nouvel An et les classes définies : - Ensuite, vous pouvez appeler un point de terminaison SageMaker avec la charge utile zero-shot. Le point de terminaison SageMaker est déployé dans le cadre de la solution SageMaker JumpStart.
- L'objet de réponse d'inférence contient la séquence d'origine, les étiquettes triées par score de max à min et les scores par étiquette :
Exécuter une tâche de transformation par lots SageMaker à l'aide du SDK Python
Cette section décrit comment exécuter l'inférence de transformation par lots avec la classification zéro coup facebook-bart-large-mnli
modèle utilisant le Kit de développement logiciel (SDK) SageMaker Python. Effectuez les étapes suivantes :
- Formatez les données d'entrée au format de lignes JSON et chargez le fichier sur Amazon S3.
La transformation par lots SageMaker effectuera une inférence sur les points de données téléchargés dans le fichier S3. - Configurez les artefacts de déploiement de modèle avec les paramètres suivants :
- id_modèle - Utilisation
huggingface-zstc-facebook-bart-large-mnli
. - déployer_image_uri - Utilisez le
image_uris
Fonction Python SDK pour obtenir l'image SageMaker Docker pré-construite pour lemodel_id
. La fonction renvoie le Registre des conteneurs élastiques Amazon (Amazon ECR) URI. - déployer_source_uri – Utilisez l'option
script_uris
API utilitaire pour récupérer l'URI S3 qui contient des scripts pour exécuter l'inférence de modèle pré-formé. Nous précisons lescript_scope
asinference
. - modèle_uri - Utilisation
model_uri
pour obtenir les artefacts de modèle d'Amazon S3 pour lemodel_id
.
- id_modèle - Utilisation
- Utilisez
HF_TASK
définir la tâche du pipeline de transformateurs Hugging Face etHF_MODEL_ID
pour définir le modèle utilisé pour classer le texte :Pour une liste complète des tâches, voir Pipelines dans la documentation Étreinte de visage.
- Créez un objet de modèle Hugging Face à déployer avec la tâche de transformation par lots SageMaker :
- Créez une transformation pour exécuter une tâche par lot :
- Démarrez une tâche de transformation par lots et utilisez les données S3 comme entrée :
Vous pouvez surveiller votre travail de traitement par lots sur la console SageMaker (choisissez Tâches de transformation par lots sous Inférence dans le volet de navigation). Lorsque la tâche est terminée, vous pouvez vérifier la sortie de prédiction du modèle dans le fichier S3 spécifié dans output_path
.
Pour obtenir la liste de tous les modèles préformés disponibles dans SageMaker JumpStart, reportez-vous à Algorithmes intégrés avec table modèle pré-formée. Utilisez le mot-clé « zstc » (abréviation de la classification de texte zéro coup) dans la barre de recherche pour localiser tous les modèles capables de faire une classification de texte zéro coup.
Nettoyer
Une fois que vous avez terminé d'exécuter le bloc-notes, assurez-vous de supprimer toutes les ressources créées dans le processus pour vous assurer que les coûts encourus par les ressources déployées dans ce guide sont arrêtés. Le code permettant de nettoyer les ressources déployées est fourni dans les blocs-notes associés à la solution et au modèle de classification de texte zero-shot.
Configurations de sécurité par défaut
Les modèles SageMaker JumpStart sont déployés à l'aide des configurations de sécurité par défaut suivantes :
Pour en savoir plus sur les sujets liés à la sécurité de SageMaker, consultez Configurer la sécurité dans Amazon SageMaker.
Conclusion
Dans cet article, nous vous avons montré comment déployer un modèle de classification à coup sûr à l'aide de l'interface utilisateur SageMaker JumpStart et effectuer une inférence à l'aide du point de terminaison déployé. Nous avons utilisé la solution de résolutions du Nouvel An de SageMaker JumpStart pour montrer comment vous pouvez utiliser le SDK SageMaker Python pour créer une solution de bout en bout et mettre en œuvre une application de classification à coup sûr. SageMaker JumpStart donne accès à des centaines de modèles et de solutions pré-formés pour des tâches telles que la vision par ordinateur, le traitement du langage naturel, les systèmes de recommandation, etc. Essayez la solution par vous-même et faites-nous part de vos réflexions.
À propos des auteurs
David Laredo est architecte de prototypage chez AWS Envision Engineering à LATAM, où il a aidé à développer plusieurs prototypes d'apprentissage automatique. Auparavant, il a travaillé comme ingénieur en apprentissage automatique et pratique l'apprentissage automatique depuis plus de 5 ans. Ses domaines d'intérêt sont le NLP, les séries chronologiques et le ML de bout en bout.
Vikram Elango est architecte de solutions spécialisées en IA/ML chez Amazon Web Services, basé en Virginie, aux États-Unis. Vikram aide les clients des secteurs de la finance et de l'assurance en matière de conception et de leadership éclairé pour créer et déployer des applications d'apprentissage automatique à grande échelle. Il se concentre actuellement sur le traitement du langage naturel, l'IA responsable, l'optimisation des inférences et la mise à l'échelle du ML dans l'entreprise. Dans ses temps libres, il aime voyager, faire de la randonnée, cuisiner et camper avec sa famille.
Dr Vivek Madan est un scientifique appliqué au sein de l'équipe Amazon SageMaker JumpStart. Il a obtenu son doctorat à l'Université de l'Illinois à Urbana-Champaign et a été chercheur postdoctoral à Georgia Tech. Il est un chercheur actif en apprentissage automatique et en conception d'algorithmes et a publié des articles dans les conférences EMNLP, ICLR, COLT, FOCS et SODA.
- Contenu propulsé par le référencement et distribution de relations publiques. Soyez amplifié aujourd'hui.
- PlatoData.Network Ai générative verticale. Autonomisez-vous. Accéder ici.
- PlatoAiStream. Intelligence Web3. Connaissance Amplifiée. Accéder ici.
- PlatonESG. Automobile / VE, Carbone, Technologie propre, Énergie, Environnement, Solaire, La gestion des déchets. Accéder ici.
- PlatoHealth. Veille biotechnologique et essais cliniques. Accéder ici.
- GraphiquePrime. Élevez votre jeu de trading avec ChartPrime. Accéder ici.
- Décalages de bloc. Modernisation de la propriété des compensations environnementales. Accéder ici.
- La source: https://aws.amazon.com/blogs/machine-learning/zero-shot-text-classification-with-amazon-sagemaker-jumpstart/
- :possède
- :est
- :ne pas
- :où
- $UP
- 1
- 10
- 100
- 12
- 16
- 17
- 20
- 22
- 30
- 7
- 8
- 9
- a
- capacité
- A Propos
- au dessus de
- accès
- Compte
- atteindre
- à travers
- infection
- Supplémentaire
- à opposer à
- AI
- AI / ML
- AL
- Alexa
- algorithme
- algorithmes
- Tous
- permettre
- permet
- Amazon
- Amazon Sage Maker
- Amazon SageMaker JumpStart
- Amazon Web Services
- montant
- an
- et les
- tous
- api
- Application
- applications
- appliqué
- architecture
- SONT
- domaines
- AS
- asiatique
- Outils
- attribué
- associé
- At
- automatiquement
- disponibles
- AWS
- barre
- base
- basé
- BE
- était
- va
- appartient
- jusqu'à XNUMX fois
- Bloom
- corps
- Livres
- Petit Déjeuner
- construire
- intégré
- la performance des entreprises
- mais
- by
- CAN
- candidat
- capable
- carte
- Carrière
- carrousel
- cas
- catégories
- Chats
- difficile
- vérifier
- Selectionnez
- classe
- les classes
- classification
- classifié
- Classer
- code
- Colonnes
- Commun
- complet
- complexité
- ordinateur
- Vision par ordinateur
- ordinateurs
- concerné
- conférences
- configuration
- considère
- Console
- construire
- Contenant
- contient
- contraste
- converti
- Costs
- pourriez
- Pays
- Couples
- engendrent
- créée
- La création
- Lecture
- Customiser
- Clients
- données
- points de données
- ensembles de données
- dévoué
- Réglage par défaut
- Vous permet de définir
- défini
- Demande
- Prévision de la demande
- démontrer
- dépendances
- dépendant
- déployer
- déployé
- déploiement
- Conception
- voulu
- détails
- Détection
- Déterminer
- développer
- Développement
- différences
- La diffusion
- discuter
- Diversité
- Docker
- Documentation
- Ne fait pas
- faire
- fait
- deux
- E & T
- chacun
- Est
- Éducation
- permettre
- chiffrement
- end-to-end
- Endpoint
- ingénieur
- ENGINEERING
- assurer
- Entreprise
- entité
- envisager
- évaluer
- Pourtant, la
- exemple
- exemples
- Visage
- non
- famille
- Fonctionnalités:
- few
- champ
- Figure
- Déposez votre dernière attestation
- finance
- la traduction de documents financiers
- Trouvez
- Etage
- concentré
- Abonnement
- Pour
- le format
- Fondation
- Framework
- fraude
- détection de fraude
- De
- fonction
- jeu
- générer
- État de la Georgie
- obtenez
- GitHub
- donné
- Don
- Sol
- Croissance
- guide
- Maniabilité
- Vous avez
- he
- Santé
- lourd
- levage de charges lourdes
- vous aider
- a aidé
- aide
- de haute qualité
- sa
- hébergement
- hôtes
- Comment
- How To
- HTML
- http
- HTTPS
- Moyeu
- humain
- humour
- Des centaines
- des centaines de millions
- ID
- Identite
- if
- Illinois
- illustre
- image
- Mettre en oeuvre
- importer
- in
- inclus
- inclut
- industrie
- d'information
- Infrastructure
- inhérent
- contribution
- entrées
- instance
- Assurance
- intérêt
- IT
- Emploi
- Emplois
- jpg
- json
- ACTIVITES
- clés
- Savoir
- Libellé
- Etiquettes
- atterrissage
- langue
- gros
- LATAM
- lancé
- Leadership
- APPRENTISSAGE
- apprentissage
- à gauche
- laisser
- lifting
- comme
- Gamme
- lignes
- Liste
- LLM
- chargement
- LOOKS
- click
- machine learning
- a prendre une
- FAIT DU
- man
- gestion
- de nombreuses
- max
- Mai..
- Hommes
- méthode
- des millions
- m.
- Minutes
- ML
- modèle
- numériques jumeaux (digital twin models)
- Surveiller
- PLUS
- plusieurs
- my
- prénom
- Nature
- Traitement du langage naturel
- NAVIGUER
- Navigation
- Besoin
- Nouveauté
- Nouvel An
- nlp
- aucune
- cahier
- nombre
- objet
- of
- on
- uniquement
- ouvert
- à mettre en œuvre pour gérer une entreprise rentable. Ce guide est basé sur trois décennies d'expérience
- or
- de commander
- organisations
- original
- Autre
- ande
- sortie
- plus de
- propre
- page
- pain
- papiers
- paradigme
- paramètres
- partie
- chemin
- /
- Effectuer
- performant
- autorisations
- personnel
- Personnalisé
- phd
- PHILANTHROPIE
- pipeline
- Platon
- Intelligence des données Platon
- PlatonDonnées
- jouer
- des notes bonus
- politique
- Populaire
- Post
- pratique
- prédiction
- Prédictions
- représentent
- précédemment
- d'ouvrabilité
- processus
- traitement
- proposé
- prototypes
- prototypage
- fournir
- à condition de
- fournit
- disposition
- publié
- Python
- pytorch
- Rapide
- vite.
- Lire
- réal
- en temps réel
- récemment
- reconnaissance
- Recommandation
- recommandations
- réduire
- supprimez
- nécessaire
- exigent
- conditions
- chercheur
- Resources
- réponse
- réponses
- responsables
- résultat
- Résultats
- Retours
- Avis
- bon
- Rôle
- Courir
- pour le running
- s
- sagemaker
- même
- Épargnez
- Escaliers intérieurs
- mise à l'échelle
- Scientifique
- But
- gratter
- scripts
- défilement
- Sdk
- Rechercher
- Section
- sécurité
- sur le lien
- sélection
- Séquence
- Série
- Services
- Paramétres
- Shorts
- coup
- montrer
- montré
- étapes
- simplifiant
- depuis
- Taille
- Football
- sur mesure
- Solutions
- RÉSOUDRE
- quelques
- quelque chose
- parlant
- spécialiste
- groupe de neurones
- spécifiquement
- spécifié
- parlé
- Sportive
- stable
- autonome
- Commencer
- j'ai commencé
- state-of-the-art
- rester
- étapes
- Étapes
- arrêté
- storage
- stockage
- Chaîne
- structure
- studio
- tel
- Support
- sûr
- Système
- table
- Prenez
- prend
- Tâche
- tâches
- équipe
- technologie
- modèles
- Classification du texte
- qui
- Le
- leur
- puis
- Ces
- this
- pensée
- leadership éclairé
- Avec
- fiable
- Des séries chronologiques
- TM
- à
- Les sujets
- Train
- qualifié
- Formation
- transférer
- Transformer
- De La Carrosserie
- transformateur
- transformateurs
- Voyages
- Billion
- oui
- Vérité
- Essai
- tweets
- deux
- type
- ui
- sous
- comprendre
- université
- téléchargé
- us
- utilisé
- d'utiliser
- en utilisant
- utilitaire
- variété
- Vaste
- version
- très
- Vidéo
- Virginie
- vision
- vs
- walkthrough
- souhaitez
- était
- Façon..
- we
- web
- services Web
- WELL
- ont été
- quand
- que
- tout en
- dont
- large
- sera
- comprenant
- sans
- des mots
- travaillé
- vos contrats
- écriture
- an
- années
- Vous n'avez
- Younger
- Votre
- zéphyrnet
- zéro
- Apprentissage zéro coup