Utilisez Hugging Face avec Amazon SageMaker - Amazon SageMaker

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisez Hugging Face avec Amazon SageMaker

Amazon SageMaker permet aux clients de s'entraîner, d'affiner et d'exécuter des inférences à l'aide des modèles Hugging Face pour le traitement automatique du langage naturel (NLP). SageMaker Vous pouvez utiliser Hugging Face tant pour l'entraînement que pour l'inférence. Cette fonctionnalité est disponible via le développement de AWSDeep Learning Containers Hugging Face. Ces conteneurs incluent les transformateurs Hugging Face, les tokéniseurs et la bibliothèque de jeux de données, qui vous permet d'utiliser ces ressources pour vos tâches d'entraînement et d'inférence. Pour obtenir la liste des images Deep Learning Containers disponibles, veuillez consulter Available Deep Learning Containers Images (Images Deep Learning Containers disponibles). Ces images Deep Learning Containers sont conservées et régulièrement mises à jour avec des correctifs de sécurité.

Pour utiliser les conteneurs Hugging Face Deep Learning avec le SDK SageMaker Python à des fins de formation, consultez le Hugging Face SageMaker Estimator. Avec le Hugging Face Estimator, vous pouvez utiliser les modèles Hugging Face comme n'importe quel autre estimateur. SageMaker Cependant, l'utilisation du SDK SageMaker Python est facultative. Vous pouvez également orchestrer votre utilisation des Deep Learning Containers Hugging Face avec la AWS CLI et AWS SDK for Python (Boto3).

Pour de plus amples informations sur Hugging Face et les modèles disponibles, veuillez consulter la Documentation Hugging Face.

Entraînement

Pour exécuter un entraînement, vous pouvez utiliser l'un des milliers de modèles disponibles dans Hugging Face et l'affiner avec un entraînement supplémentaire en fonction de votre cas d'utilisation spécifique. Vous pouvez utiliser la formation standard ou tirer parti de la formation parallèle SageMaker sur les données distribuées et les modèles. SageMaker Comme pour les autres tâches de SageMaker formation utilisant du code personnalisé, vous pouvez capturer vos propres métriques en transmettant une définition de métriques au SDK SageMaker Python, comme indiqué dans la section Définition des métriques d'entraînement (SDK SageMaker Python). Les métriques capturées sont ensuite accessibles via CloudWatchet sous forme de Pandas DataFrame via la TrainingJobAnalyticsméthode. Une fois votre modèle entraîné et affiné, vous pouvez l'utiliser comme n'importe quel autre modèle pour exécuter des tâches d'inférence.

Exécution d'un entraînement avec l'estimateur Hugging Face

Vous pouvez implémenter le Hugging Face Estimator pour les tâches de formation à l'aide du SageMaker SDK Python. Le SDK SageMaker Python est une bibliothèque open source pour la formation et le déploiement de modèles d'apprentissage automatique sur SageMaker. Pour plus d'informations sur le Hugging Face Estimator, consultez la documentation du SDK SageMakerPython.

Avec le SDK SageMaker Python, vous pouvez exécuter des tâches de formation à l'aide de l'estimateur Hugging Face dans les environnements suivants :

  • SageMakerStudio : Amazon SageMaker Studio est le premier environnement de développement (IDE) entièrement intégré pour l'apprentissage automatique (ML). SageMaker Studio fournit une interface visuelle Web unique dans laquelle vous pouvez effectuer toutes les étapes de développement du ML nécessaires à la préparation, à la création, à la formation, au réglage, au déploiement et à la gestion des modèles. Pour plus d'informations sur l'utilisation des blocs-notes Jupyter dans Studio, consultez la section Utiliser les blocs-notes Amazon SageMaker Studio.

  • SageMaker Instances de bloc-notes : une instance de SageMaker bloc-notes Amazon est une instance de calcul d'apprentissage automatique (ML) exécutant l'application Jupyter Notebook. Cette application vous permet d'exécuter des blocs-notes Jupyter dans votre instance de bloc-notes pour préparer et traiter les données, écrire du code pour entraîner des modèles, déployer des modèles vers l' SageMaker hébergement et tester ou valider vos modèles sans les fonctionnalités de SageMaker Studio telles que le débogueur, la surveillance des modèles et un IDE Web.

  • Localement : si vous êtes connecté AWS et que vous disposez des SageMaker autorisations appropriées, vous pouvez utiliser le SDK SageMaker Python localement pour lancer des tâches de formation et d'inférence à distance pour Hugging Face in on. SageMaker AWS Cela fonctionne sur votre machine locale, ainsi que sur d'autres AWS services dotés d'un SDK SageMaker Python connecté et des autorisations appropriées.

Inférence

Pour l'inférence, vous pouvez utiliser votre modèle Hugging Face entraîné ou l'un des modèles Hugging Face préentraînés pour déployer une tâche d'inférence. SageMaker Grâce à cette collaboration, vous n'avez besoin que d'une seule ligne de code pour déployer à la fois vos modèles entraînés et vos modèles préentraînés. SageMaker Vous pouvez également exécuter des tâches d'inférence sans écrire aucun code d'inférence personnalisé. Avec un code d'inférence personnalisé, vous pouvez personnaliser la logique d'inférence en fournissant votre propre script Python.

Déploiement d'une tâche d'inférence à l'aide des Deep Learning Containers Hugging Face

Vous avez deux options pour exécuter l'inférence avec SageMaker. Vous pouvez exécuter l'inférence à l'aide d'un modèle que vous avez entraîné ou déployer un modèle Hugging Face pré-entraîné.

  • Exécution de l'inférence avec votre modèle entraîné :deux options s'offrent à vous pour exécuter l'inférence avec votre propre modèle entraîné. Vous pouvez effectuer une inférence avec un modèle que vous avez entraîné à l'aide d'un modèle Hugging Face existant avec les Hugging SageMaker Face Deep Learning Containers, ou vous pouvez apporter votre propre modèle Hugging Face existant et le déployer à l'aide de celui-ci. SageMaker Lorsque vous exécutez l'inférence avec un modèle que vous avez entraîné avec le SageMaker Hugging Face Estimator, vous pouvez déployer le modèle immédiatement après la fin de la formation ou vous pouvez télécharger le modèle entraîné dans un compartiment Amazon S3 et l'ingérer lors d'une exécution ultérieure de l'inférence. Si vous importez votre propre modèle Hugging Face existant, vous devez télécharger le modèle entraîné dans un compartiment Amazon S3 et l'intégrer lors d'une prochaine exécution de l'inférence, comme indiqué dans l'exemple Déploiement de vos transformateurs Hugging Face pour l'inférence.

  • Exécutez l'inférence avec un HuggingFace modèle préentraîné : vous pouvez utiliser l'un des milliers de modèles Hugging Face préentraînés pour exécuter vos tâches d'inférence sans formation supplémentaire. Pour exécuter l'inférence, vous sélectionnez le modèle pré-entraîné dans la liste des modèles Hugging Face, comme indiqué dans l'exemple Déploiement de transformateurs Hugging Face pré-entraînés pour l'inférence).

Que souhaitez-vous faire ?

Les blocs-notes Jupyter suivants du référentiel de carnets Hugging Face illustrent comment utiliser les conteneurs Hugging Face Deep Learning Containers dans différents cas d'utilisation. SageMaker

Je souhaite former et déployer un modèle de classification de texte en utilisant Hugging Face SageMaker in PyTorch with.

Pour un exemple de bloc-notes Jupyter, consultez la démo de mise PyTorch en route.

Je souhaite former et déployer un modèle de classification de texte en utilisant Hugging Face SageMaker in TensorFlow with.

Pour un exemple de bloc-notes Jupyter, consultez l'exemple TensorFlow Getting Started.

Je souhaite organiser une formation distribuée avec le parallélisme des données à l'aide de Hugging Face et Distributed. SageMaker

Pour obtenir un exemple de bloc-notes Jupyter, veuillez consulter l'exemple Entraînement distribué.

Je souhaite organiser une formation distribuée avec le parallélisme des modèles à l'aide de Hugging Face et Distributed. SageMaker

Pour obtenir un exemple de bloc-notes Jupyter, veuillez consulter l'exemple Parallélisme de modèles.

Je souhaite utiliser une instance ponctuelle pour entraîner et déployer un modèle à l'aide de Hugging Face SageMaker in.

Pour obtenir un exemple de bloc-notes Jupyter, veuillez consulter l'exemple Instances Spot.

Je souhaite capturer des métriques personnalisées et utiliser le point de SageMaker contrôle lors de l'entraînement d'un modèle de classification de texte à l'aide de Hugging Face in. SageMaker

Pour obtenir un exemple de bloc-notes Jupyter, veuillez consulter l'exemple Entraînement avec des métriques personnalisées.

Je souhaite former un TensorFlow modèle de réponse aux questions distribuée à l'aide de Hugging Face in. SageMaker

Pour un exemple de Jupyter Notebook, consultez l'exemple de TensorFlow formation distribuée.

Je souhaite entraîner un modèle de synthèse distribué à l'aide de Hugging Face in. SageMaker

Pour obtenir un exemple de bloc-notes Jupyter, veuillez consulter l'exemple Entraînement avec synthèse distribuée.

Je souhaite entraîner un modèle de classification d'images à l'aide de Hugging Face SageMaker in.

Pour obtenir un exemple de bloc-notes Jupyter, veuillez consulter l'exemple Entraînement avec Vision Transformer.

Je souhaite déployer mon modèle SageMaker Hugging Face entraîné dans.

Pour obtenir un exemple de bloc-notes Jupyter, veuillez consulter l'exemple Déploiement de vos transformateurs Hugging Face pour l'inférence.

Je souhaite déployer un modèle Hugging Face pré-entraîné dans. SageMaker

Pour obtenir un exemple de bloc-notes Jupyter, veuillez consulter l'exemple Déploiement de transformateurs Hugging Face pré-entraînés pour l'inférence.