Dans cet article, nous vous montrons comment implémenter l'un des modèles pré-formés Hugging Face les plus téléchargés utilisés pour le résumé de texte, DistilBART-CNN-12-6, dans un bloc-notes Jupyter utilisant Amazon Sage Maker et par Boîte à outils d'inférence de visage étreignant SageMaker. Sur la base des étapes indiquées dans cet article, vous pouvez essayer de résumer le texte de la Texte Wiki-2 jeu de données géré par fast.ai, disponible au Registre des données ouvertes sur AWS.
Les volumes de données mondiaux augmentent à l'échelle du zettaoctet à mesure que les entreprises et les consommateurs élargissent leur utilisation des produits numériques et des services en ligne. Pour mieux comprendre ces données croissantes, les techniques d'apprentissage automatique (ML) de traitement du langage naturel (TAL) pour l'analyse de texte ont évolué pour traiter les cas d'utilisation impliquant la synthèse de texte, la reconnaissance d'entités, la classification, la traduction, etc. AWS propose des Services AWS AI qui peuvent être intégrés dans des applications à l'aide d'appels d'API et ne nécessitent aucune expérience en ML. Par exemple, Amazon comprendre peut effectuer des tâches NLP telles que la reconnaissance d'entités personnalisées, l'analyse des sentiments, l'extraction de phrases clés, la modélisation de sujets, etc. pour recueillir des informations à partir de texte. Il peut effectuer analyse de texte dans une grande variété de langues pour ses diverses fonctionnalités.
La synthèse de texte est une technique utile pour comprendre de grandes quantités de données textuelles, car elle crée un sous-ensemble d'informations contextuellement significatives à partir des documents source. Vous pouvez appliquer cette technique NLP à des documents texte et des articles plus longs, permettant une consommation plus rapide et une indexation plus efficace des documents, par exemple pour résumer les notes d'appel des réunions.
Étreindre le visage est une bibliothèque open source populaire pour le NLP, avec plus de 49,000 185 modèles pré-formés dans plus de XNUMX langues avec prise en charge de différents frameworks. AWS et Hugging Face ont un partenariat qui permet une intégration transparente via SageMaker avec un ensemble de conteneurs AWS Deep Learning (DLC) pour la formation et l'inférence dans PyTorch ou TensorFlow, et les estimateurs et prédicteurs Hugging Face pour le SDK SageMaker Python. Ces fonctionnalités de SageMaker aident les développeurs et les data scientists à démarrer plus facilement avec le NLP sur AWS. Le traitement de textes avec des transformateurs dans des cadres d'apprentissage en profondeur tels que PyTorch est généralement une tâche complexe et chronophage pour les scientifiques des données, entraînant souvent de la frustration et un manque d'efficacité lors du développement de projets NLP. La montée en puissance des communautés d'IA comme Hugging Face, combinée à la puissance des services ML dans le cloud comme SageMaker, accélère et simplifie le développement de ces tâches de traitement de texte. SageMaker vous aide à créer, former, déployer et opérationnaliser des modèles Hugging Face.
Présentation du résumé de texte
Vous pouvez appliquer un résumé de texte pour identifier des phrases clés dans un document ou identifier des phrases clés dans plusieurs documents. La synthèse de texte peut produire deux types de résumés : extractifs et abstraits. Les résumés extractifs ne contiennent aucun texte généré par la machine et sont une collection de phrases importantes sélectionnées à partir du document d'entrée. Les résumés abstraits contiennent de nouvelles expressions et phrases lisibles par l'homme générées par le modèle de résumé de texte. La plupart des systèmes de résumé de texte sont basés sur le résumé extractif car il est difficile d'obtenir un résumé de texte abstrait précis.
Hugging Face compte plus de 400 techniciens de pointe préformés modèles de résumé de texte disponibles, mettant en œuvre différentes combinaisons de techniques de PNL. Ces modèles sont formés sur différents ensembles de données, téléchargés et maintenus par des entreprises technologiques et des membres de la communauté Hugging Face. Vous pouvez filtrer les modèles par les plus téléchargés ou les plus appréciés, et les charger directement lors de l'utilisation du pipeline de récapitulation API du transformateur Hugging Face. Le transformateur Hugging Face simplifie le processus de mise en œuvre de la PNL afin que les modèles de PNL hautes performances puissent être affinés pour fournir des résumés de texte, sans nécessiter de connaissances approfondies en matière de fonctionnement du ML.
Modèles de synthèse de texte Hugging Face sur AWS
SageMaker offre aux analystes commerciaux, aux scientifiques des données et aux ingénieurs MLOps un choix d'outils pour concevoir et exploiter des charges de travail ML sur AWS. Ces outils vous permettent d'accélérer la mise en œuvre et le test des modèles ML pour obtenir des résultats optimaux.
Extrait du Boîte à outils d'inférence de visage étreignant SageMaker, une bibliothèque open source, nous décrivons trois manières différentes d'implémenter et d'héberger des modèles de résumé de texte Hugging Face à l'aide d'un notebook Jupyter :
- Pipeline de synthèse de visage étreignant - Créer un Pipeline de synthèse de visage étreignant en utilisant le "
summarization
” identifiant de tâche pour utiliser un modèle de résumé de texte par défaut pour l'inférence dans votre bloc-notes Jupyter. Ces pipelines éliminent le code complexe, offrant aux praticiens novices en ML une API simple pour implémenter rapidement la synthèse de texte sans configurer de point de terminaison d'inférence. Le pipeline permet également au praticien ML de sélectionner un modèle pré-formé spécifique et son tokenizer associé. Les tokenizers préparent le texte à être prêt comme entrée pour le modèle en divisant le texte en mots ou sous-mots, qui sont ensuite convertis en identifiants via une table de recherche. Pour plus de simplicité, l'extrait de code suivant fournit le cas par défaut lors de l'utilisation de pipelines. La DistilBART-CNN-12-6 modèle est l'un des modèles de synthèse les plus téléchargés sur Hugging Face et est le modèle par défaut pour le pipeline de synthèse. La dernière ligne appelle le modèle pré-formé pour obtenir un résumé du texte passé en fonction des deux arguments fournis. - Point de terminaison SageMaker avec modèle pré-formé – Créez un point de terminaison SageMaker avec un modèle pré-formé à partir du Hub de modèle de visage étreignant et déployez-le sur un point de terminaison d'inférence, tel que l'instance ml.m5.xlarge dans l'extrait de code suivant. Cette méthode permet aux praticiens ML expérimentés de sélectionner rapidement des modèles open source spécifiques, de les affiner et de déployer les modèles sur des instances d'inférence très performantes.
- Point de terminaison SageMaker avec un modèle entraîné – Créer un point de terminaison de modèle SageMaker avec un modèle entraîné stocké dans un Service de stockage simple Amazon (Amazon S3) et déployez-le sur un point de terminaison d'inférence. Cette méthode permet aux praticiens ML expérimentés de déployer rapidement leurs propres modèles stockés sur Amazon S3 sur des instances d'inférence hautes performances. Le modèle lui-même est téléchargé à partir de Hugging Face et compressé, puis peut être téléchargé sur Amazon S3. Cette étape est illustrée dans l'extrait de code suivant :
AWS dispose de plusieurs ressources pour vous aider à déployer vos charges de travail ML. La Lentille d'apprentissage automatique des Cadre AWS Well Architected recommande les meilleures pratiques en matière de charges de travail ML, notamment l'optimisation des ressources et la réduction des coûts. Ces principes de conception recommandés garantissent que des charges de travail ML bien architecturées sur AWS sont déployées en production. Outil de recommandation d'inférence Amazon SageMaker vous aide à sélectionner la bonne instance pour déployer vos modèles ML avec des performances et un coût d'inférence optimaux. Inference Recommender accélère le déploiement des modèles et réduit les délais de mise sur le marché en automatisant les tests de charge et en optimisant les performances des modèles sur les instances de ML.
Dans les sections suivantes, nous montrons comment charger un modèle entraîné à partir d'un compartiment S3 et le déployer sur une instance d'inférence appropriée.
Pré-requis
Pour cette procédure pas à pas, vous devez disposer des prérequis suivants:
- An Compte AWS.
- Un bloc-notes Jupyter à l'intérieur Amazon SageMakerStudio ou des instances de bloc-notes SageMaker. Dans cet article, nous utilisons l'image "Python 3 (PyTorch 1.4 Python 3.6 CPU Optimized)" avec les extraits de code fournis, mais vous pouvez utiliser toute autre image PyTorch de version supérieure à partir du noyaux SageMaker disponibles.
- Un ensemble de données dans votre compartiment S3, tel que le Texte Wiki-2 ensemble de données de Registre des données ouvertes sur AWS.
Charger le modèle Hugging Face dans SageMaker pour l'inférence de résumé de texte
Utilisez le code suivant pour télécharger le modèle de synthèse de texte pré-entraîné Hugging Face DistilBART-CNN-12-6 et son tokenizer, et enregistrez-les localement dans SageMaker dans votre répertoire de bloc-notes Jupyter :
Compressez le modèle de résumé de texte enregistré et son tokenizer au format tar.gz et chargez l'artefact de modèle compressé dans un bucket S3 :
Sélectionnez un image de conteneur Docker d'inférence pour effectuer l'inférence de résumé de texte. Définissez le système d'exploitation Linux, le framework PyTorch et la version de Hugging Face Transformer et spécifiez le Cloud de calcul élastique Amazon (Amazon EC2) type d'instance pour exécuter le conteneur.
L'image Docker est disponible dans le Registre des conteneurs élastiques Amazon (Amazon ECR) du même compte AWS, et le lien pour cette image de conteneur est renvoyé sous forme d'URI.
Définissez le modèle de synthèse de texte à déployer par l'image de conteneur sélectionnée effectuant l'inférence. Dans l'extrait de code suivant, le modèle compressé chargé sur Amazon S3 est déployé :
Testez le modèle de résumé de texte déployé sur un exemple d'entrée :
Utiliser l'outil de recommandation d'inférence pour évaluer l'instance EC2 optimale pour la tâche d'inférence
Ensuite, créez plusieurs échantillons de charge utile de texte d'entrée au format JSON et compressez-les dans un seul fichier de charge utile. Ces échantillons de charge utile sont utilisés par l'outil de recommandation d'inférence pour comparer les performances d'inférence entre différents types d'instances EC2. Chacun des exemples de charges utiles doit correspondre au format JSON indiqué précédemment. Vous pouvez obtenir des exemples de la Texte Wiki-2 jeu de données géré par fast.ai, disponible au Registre des données ouvertes sur AWS.
Chargez l'artefact de modèle de synthèse de texte compressé et l'exemple de fichier de charge utile compressé dans le compartiment S3. Nous avons téléchargé le modèle lors d'une étape précédente, mais pour plus de clarté, nous incluons le code pour le télécharger à nouveau :
Consultez la liste des modèles de ML standard disponibles sur SageMaker à travers zoos modèles communs, comme la PNL et la vision par ordinateur. Sélectionnez un modèle NLP pour effectuer l'inférence de résumé de texte :
L'exemple suivant utilise le bert-base-cased
Modèle PNL. Enregistrez le modèle de résumé de texte dans le Registre de modèles SageMaker avec le domaine, le framework et la tâche correctement identifiés à l'étape précédente. Les paramètres de cet exemple sont affichés au début de l'extrait de code suivant.
Notez la gamme de types d'instances EC2 à évaluer par Inference Recommender sous SupportedRealtimeInferenceInstanceTypes
dans le code suivant. Assurez-vous que le limites de service pour le compte AWS permettent le déploiement de ces types de nœuds d'inférence.
Créez une tâche par défaut de l'outil de recommandation d'inférence à l'aide de ModelPackageVersion
résultant de l'étape précédente. La uuid
La bibliothèque Python est utilisée pour générer un nom unique pour le travail.
Vous pouvez obtenir l'état de la tâche Inference Recommender en exécutant le code suivant :
Lorsque l'état du travail est COMPLETED
, comparez la latence d'inférence, le temps d'exécution et d'autres métriques des types d'instance EC2 évalués par la tâche par défaut de l'outil de recommandation d'inférence. Sélectionnez le type de nœud approprié en fonction des exigences de votre cas d'utilisation.
Conclusion
SageMaker offre plusieurs façons d'utiliser les modèles Hugging Face ; pour plus d'exemples, consultez le Exemples AWS GitHub. En fonction de la complexité du cas d'utilisation et de la nécessité d'affiner le modèle, vous pouvez sélectionner la manière optimale d'utiliser ces modèles. Les pipelines Hugging Face peuvent être un bon point de départ pour expérimenter rapidement et sélectionner des modèles appropriés. Lorsque vous devez personnaliser et paramétrer les modèles sélectionnés, vous pouvez télécharger les modèles et les déployer sur des points de terminaison d'inférence personnalisés. Pour affiner davantage le modèle pour un cas d'utilisation spécifique, vous devrez entraîner le modèle après l'avoir téléchargé.
Les modèles NLP en général, y compris les modèles de résumé de texte, fonctionnent mieux après avoir été formés sur un ensemble de données spécifique au cas d'utilisation. Les MLOP et les fonctionnalités de surveillance des modèles de SageMaker garantissent que le modèle déployé continue de fonctionner conformément aux attentes. Dans cet article, nous avons utilisé Inference Recommender pour évaluer le type d'instance le mieux adapté pour déployer le modèle de synthèse de texte. Ces recommandations peuvent optimiser les performances et les coûts pour votre cas d'utilisation de ML.
À propos des auteurs
Dr Nidal Al Beyrouth est un architecte de solutions senior chez Amazon Web Services, passionné par les solutions d'apprentissage automatique. Nidal a plus de 25 ans d'expérience dans divers rôles informatiques mondiaux à différents niveaux et verticaux. Nidal agit en tant que conseiller de confiance pour de nombreux clients AWS afin de soutenir et d'accélérer leur parcours d'adoption du cloud.
Darren Ko est un architecte de solutions basé à Londres. Il conseille les clients des PME britanniques et irlandaises sur la réarchitecture et l'innovation sur le cloud. Darren s'intéresse aux applications construites avec des architectures sans serveur et il est passionné par la résolution des problèmes de durabilité avec l'apprentissage automatique.
- '
- "
- 000
- 10
- 100
- 28
- a
- Qui sommes-nous
- RÉSUMÉ
- accélérer
- Compte
- Avec cette connaissance vient le pouvoir de prendre
- atteindre
- à travers
- propos
- Adoption
- conseiller
- AI
- permet
- Amazon
- Amazon Web Services
- quantités
- selon une analyse de l’Université de Princeton
- api
- Apple
- applications
- Appliquer
- arguments
- sur notre blog
- associé
- automatiser
- disponibles
- attribué
- AWS
- car
- Début
- va
- LES MEILLEURS
- les meilleures pratiques
- jusqu'à XNUMX fois
- construire
- la performance des entreprises
- Appelez-nous
- Peut obtenir
- capacités
- maisons
- cas
- globaux
- le choix
- classe
- classification
- le cloud
- code
- collection
- комбинации
- combiné
- Communautés
- Communautés
- Sociétés
- complexe
- calcul
- ordinateur
- configuration
- Les consommateurs
- consommation
- Contenant
- Conteneurs
- continue
- engendrent
- crée des
- Customiser
- Clients
- personnaliser
- données
- journée
- profond
- page de livraison.
- démontrer
- démontré
- Selon
- déployer
- déployé
- déployer
- déploiement
- Conception
- mobiles
- développement
- Développement
- différent
- difficile
- numérique
- directement
- Commande
- Docker
- Docteur
- INSTITUTIONNELS
- domaine
- domaines
- download
- chacun
- même
- Efficace
- efficace
- permettant
- Endpoint
- Les ingénieurs
- entité
- Environment
- évaluer
- exemple
- exemples
- Développer vous
- attentes
- Découvrez
- expérimenté
- expérience
- les
- Visage
- RAPIDE
- plus rapide
- Fonctionnalités:
- Abonnement
- le format
- Framework
- cadres
- de
- Général
- générer
- généré
- Global
- Bien
- Croissance
- aider
- utile
- aide
- augmentation
- Comment
- How To
- HTTPS
- Moyeu
- lisible par l'homme
- identifier
- image
- Mettre en oeuvre
- la mise en oeuvre
- la mise en œuvre
- important
- comprendre
- Y compris
- d'information
- innover
- contribution
- idées.
- instance
- des services
- l'intégration
- intéressé
- Irlande
- IT
- lui-même
- Emploi
- chemin
- ACTIVITES
- spécialisées
- langue
- Langues
- gros
- conduisant
- apprentissage
- niveaux
- Bibliothèque
- limites
- Gamme
- LINK
- linux
- Liste
- charge
- localement
- London
- rechercher
- click
- machine learning
- faire
- Marché
- Match
- significative
- réunions
- Membres
- Métrique
- ML
- modèle
- numériques jumeaux (digital twin models)
- Stack monitoring
- PLUS
- (en fait, presque toutes)
- plusieurs
- Nature
- next
- nœuds
- cahier
- Notes
- offrant
- Offres Speciales
- en ligne
- ouvert
- fonctionner
- opération
- Optimiser
- optimisé
- l'optimisation
- Autre
- propre
- passion
- passionné
- performant
- effectuer
- les expressions clés
- Point
- Populaire
- power
- Préparer
- précédent
- processus
- traitement
- produire
- Vidéo
- Produits
- projets
- fournir
- à condition de
- fournit
- vite.
- gamme
- recommande
- réduire
- région
- vous inscrire
- nécessaire
- exigent
- Exigences
- Ressources
- résultant
- Rôle
- Courir
- pour le running
- même
- Escaliers intérieurs
- scientifiques
- Sdk
- fluide
- choisi
- sentiment
- Sans serveur
- Services
- set
- plusieurs
- montré
- étapes
- unique
- So
- Solutions
- groupe de neurones
- vitesses
- Standard
- j'ai commencé
- state-of-the-art
- Statut
- storage
- Support
- Durabilité
- Système
- tâches
- techniques
- Technologie
- Essais
- Les
- trois
- Avec
- fiable
- long
- les outils
- sujet
- Formation
- Traduction
- confiance
- types
- typiquement
- Uk
- sous
- comprendre
- compréhension
- unique
- utilisé
- variété
- divers
- version
- verticales
- vision
- volumes
- façons
- web
- services Web
- dans les
- sans
- des mots
- de travail
- X
- années
- Votre