Former et déployer des modèles sur SageMaker HyperPod avec le nouveau CLI et SDK HyperPod
Sources: https://aws.amazon.com/blogs/machine-learning/train-and-deploy-models-on-amazon-sagemaker-hyperpod-using-the-new-hyperpod-cli-and-sdk, https://aws.amazon.com/blogs/machine-learning/train-and-deploy-models-on-amazon-sagemaker-hyperpod-using-the-new-hyperpod-cli-and-sdk/, AWS ML Blog
TL;DR
- Le CLI et le SDK Amazon SageMaker HyperPod simplifient la formation et le déploiement de grands modèles IA sur HyperPod.
- Le CLI offre une expérience en ligne de commande intuitive pour lancer des entraînements, des fine-tunes et des endpoints d’inférence; le SDK offre un accès programmatique pour des flux de travail avancés.
- L’article montre des entraînements distribués avec Fully Sharded Data Parallel (FSDP) et le déploiement de modèles pour l’inférence, y compris des modèles JumpStart.
- Les prérequis incluent l’installation du CLI/SDK HyperPod (version 3.1.0) et des opérateurs Kubernetes; les interactions reposent sur le client Kubernetes Python.
Contexte et panorama
Gérer l’entraînement distribué et l’inférence à grande échelle a longtemps nécessité une ingénierie et des opérations complexes. Le CLI et le SDK HyperPod de SageMaker visent à abaisser ces barrières en masquant les détails des systèmes distribués derrière des interfaces familières. Le CLI s’appuie sur le SDK HyperPod pour proposer des commandes simples pour des tâches courantes comme soumettre des jobs d’entraînement, suivre les performances et déployer des endpoints d’inférence. Le SDK offre la flexibilité nécessaire pour des pipelines de production personnalisés. L’article illustre ces outils pour l’entraînement et le déploiement de grands modèles linguistiques sur SageMaker HyperPod, avec des démonstrations d’entraînement distribué via FSDP et de déploiement d’inférence. AWS ML Blog Les outils HyperPod interagissent avec le cluster via l’API Kubernetes, ce qui signifie que le client Python Kubernetes doit être configuré pour exécuter les appels API. Les utilisateurs peuvent lister les clusters disponibles et définir le contexte actif avant de soumettre des jobs. Le CLI est conçu pour les flux de travail courants et le SDK permet une personnalisation plus fine lorsque nécessaire. L’article démontre des usages à la fois pour l’entraînement et le déploiement de modèles sur HyperPod. Pour un workflow réel, vous configurez un HyperPodPyTorchJob Custom Resource, installé via l’opérateur d’entraînement HyperPod, qui coordonne les travailleurs et les cycles de vie via l’agent élastique intégré dans l’image du conteneur d’entraînement. L’exemple porte sur une configuration Meta Llama 3.1 8B utilisant FSDP. La section prérequis insiste sur l’installation des outils HyperPod et des opérateurs Kubernetes dans le cluster, ainsi que sur la construction et l’envoi d’une image Docker, puis la soumission d’un job d’entraînement via le CLI ou le SDK. L’observabilité et le débogage sont abordés via des commandes pour vérifier l’état du job, lire les logs des pods et examiner les artefacts d’entraînement. L’article montre comment acheminer l’entraînement vers des endpoints d’inférence et vers des modèles JumpStart ou personnalisés, avec des artefacts stockés sur S3 ou FSx pour Lustre. AWS ML Blog
Quoi de neuf
L’article présente une nouvelle histoire d’utilisation du SageMaker HyperPod centrée sur la sortie du CLI et du SDK (version 3.1.0). Les points clés incluent :
- CLI HyperPod qui simplifie les flux de travail courants et permet de soumettre des jobs PyTorch à un cluster HyperPod via la ressource Kubernetes HyperPodPyTorchJob, implémentée par l’opérateur d’entraînement HyperPod.
- SDK Python qui offre un accès programmatique pour configurer les paramètres d’entraînement et de déploiement via des objets Python simples.
- Support pour l’entraînement distribué avec FSDP et pour déployer des modèles pour l’inférence sur HyperPod, y compris JumpStart et des modèles personnalisés avec artefacts stockés sur S3 ou FSx pour Lustre.
- Possibilité de déployer des endpoints d’inférence avec ALB et TLS pour un accès sécurisé.
- Capacités d’observabilité et de débogage pour l’entraînement et l’inférence, y compris les logs et les statuts des pods.
- Des exemples montrent comment construire des images Docker, pousser vers ECR et soumettre un job d’entraînement qui écrit des checkpoints dans /fsx/checkpoints sur le PVC FSx for Lustre. Le CLI expose des commandes pour créer un PyTorchJob (hyp create hyp-pytorch-job), suivre l’état (hyp list hyp-pytorch-job) et consulter les logs des pods. Il illustre aussi les flux de déploiement pour JumpStart (hyp-jumpstart-endpoint) et pour des endpoints personnalisés (hyp-custom-endpoint). Pour illustrer l’étendue des fonctionnalités, l’article détaille un entraînement Meta Llama 3.1 8B avec FSDP et montre comment adapter la configuration en ajustant les arguments dans les manifests. Le chemin de déploiement montre comment générer un endpoint d’inférence et, si nécessaire, ajouter un ALB avec TLS pour un accès sécurisé. L’article couvre aussi le déploiement d’un TinyLlama 1.1B depuis S3 en utilisant une image DJL Large Model Inference pour démontrer l’utilisation d’artefacts distants avec une image d’inférence compatible. AWS ML Blog En résumé, le CLI et le SDK HyperPod offrent une approche pratique et scalable pour entraîner et déployer de grands modèles sur SageMaker HyperPod, avec des options JumpStart et déploiements personnalisés, soutenus par une orchestration Kubernetes. AWS ML Blog
Pourquoi c’est important (impact pour les développeurs/entreprises)
Le CLI et le SDK HyperPod fournissent une voie unifiée et scalable pour entraîner et déployer des grands modèles avec une surcharge opérationnelle réduite. Pour les développeurs, cela se traduit par des cycles d’expérimentation plus rapides et une itération plus efficace, car les tâches courantes (entraînement distribué, ajustement du FSDP, déploiement d’inférence) deviennent plus simples. Pour les entreprises, cela se traduit par des workflows plus prévisibles, une meilleure visibilité sur les performances du cluster et la capacité d’exploiter des modèles JumpStart ou des artefacts personnalisés en production, avec des options de surveillance et de sécurité. L’association CLI facile à utiliser et SDK flexible s’aligne sur les pratiques modernes de MLOps et sur une approche basée sur Kubernetes. AWS ML Blog
Détails techniques ou mise en œuvre
Le flux repose sur des composants et étapes explicitement décrits.
- Prérequis
- Installer les outils HyperPod CLI et SDK les plus récents, version 3.1.0 ou supérieure, afin d’accéder aux fonctionnalités pertinentes.
- Dans votre cluster Kubernetes, installer les opérateurs HyperPod d’entraînement et d’inférence, comme préconisé. Le CLI HyperPod interagit avec l’API Kubernetes via le client Python Kubernetes. Configurez le contexte du cluster pour autoriser les appels API.
- Depuis votre environnement local, vérifiez l’installation du CLI en exécutant hyp et en examinant la sortie. Le CLI propose une aide sur les commandes et paramètres disponibles.
- Flux d’entraînement avec le CLI
- Le CLI permet de soumettre un job d’entraînement PyTorch à un cluster SageMaker HyperPod via la ressource Kubernetes HyperPodPyTorchJob, implémentée par l’opérateur d’entraînement HyperPod.
- L’exemple suppose de construire une image Docker à partir du dépôt awsome-distributed-training, de s’authentifier sur Amazon ECR et de pousser l’image dans le registre. L’agent élastique HyperPod dans l’image coordonne les workers et communique avec l’opérateur d’entraînement.
- Vous pouvez adapter la configuration en modifiant les arguments dans les manifests pour différents LLMs ou configurations FSDP. Les points de contrôle (checkpoints) sont écrits dans /fsx/checkpoints sur le FSx for Lustre PVC.
- Le CLI propose des arguments pour créer un job PyTorch, qui peut être découvert en exécutant hyp create hyp-pytorch-job et en explorant l’aide. Après soumission, le statut peut être suivi avec hyp list hyp-pytorch-job et les logs des pods peuvent être consultés pour le diagnostic.
- Flux de déploiement d’inférence
- Le HyperPod CLI peut déployer des modèles pour l’inférence sur un cluster HyperPod, y compris JumpStart et des modèles personnalisés avec des artefacts stockés sur S3 ou FSx for Lustre. Le déploiement utilise l’opérateur d’inférence HyperPod et peut créer un endpoint de prédiction SageMaker et un ALB avec TLS pour un accès sécurisé.
- Pour les modèles JumpStart, une commande de déploiement passe par DeploymentInProgress et passe à DeploymentComplete lorsque l’endpoint est prêt. Vous pouvez observer les logs du pod de déploiement pour le débogage et invoquer l’endpoint via le CLI.
- Pour les modèles personnalisés, fournissez l’emplacement S3 des artefacts et une image de conteneur d’inférence compatible avec les Endpoints SageMaker. Vous déployez ensuite le modèle à l’aide de commandes similaires, surveillez l’état de l’endpoint et testez l’invocation lorsque prêt. Le SDK Python propose une voie équivalente programmatique pour JumpStart et les déploiements personnalisés. AWS ML Blog
- Observabilité et débogage
- L’article détaille plusieurs angles de débogage : consulter les logs des pods d’entraînement, inspecter le statut des pods et examiner les ressources Kubernetes supportant HyperPod. Le CLI facilite l’accès aux logs, la liste des ressources actives et le suivi du progrès des entraînements et des inférences.
- Remarques pratiques
- L’exemple d’entraînement montre un modèle Meta Llama 3.1 8B avec FSDP, configuré via HyperPodPyTorchJob. Vous pouvez adapter la configuration en ajustant les arguments et les paramètres du modèle. Le chemin de déploiement montre comment générer un endpoint d’inférence et, si souhaité, ajouter un ALB avec TLS pour un accès sûr. L’article couvre aussi le déploiement d’un TinyLlama 1.1B depuis S3 avec une image DJL Large Model Inference pour démontrer l’utilisation d’artefacts distants avec une image d’inférence compatible. En résumé, le CLI et le SDK HyperPod offrent une voie pratique et évolutive pour entraîner et déployer de grands modèles sur SageMaker HyperPod, avec des options JumpStart et déploiements personnalisés, soutenus par une orchestration Kubernetes. AWS ML Blog
Points-clés
- Le CLI HyperPod facilite les flux de travail courants : entraînement, fine-tuning et déploiement d’inférence.
- Le SDK HyperPod offre un contrôle programmatique pour configurer les paramètres d’entraînement et de déploiement.
- Support pour l’entraînement distribué avec FSDP et déploiement d’inférence, y compris JumpStart et modèles personnalisés.
- Les endpoints d’inférence peuvent utiliser ALB avec TLS pour un accès sécurisé.
- Observabilité et débogage aident à assurer la fiabilité en production.
FAQ
-
Quel problème résolvent le CLI et le SDK HyperPod ?
Ils simplifient l’entraînement distribué et l’inférence sur HyperPod en masquant la complexité derrière une CLI conviviale et une API Python fiable.
-
uels types de modèles et workloads peuvent être entraînés ou déployés ?
L’illustration porte sur des LLMs avec FSDP et le déploiement de modèles JumpStart et personnalisés avec artefacts stockés sur S3 ou FSx pour Lustre.
-
Comment déployer un endpoint d’inférence en toute sécurité ?
La CLI peut créer un endpoint SageMaker et un ALB avec TLS pour un accès HTTPS sécurisé.
-
uels prérequis dois-je remplir ?
Installer le CLI/SDK version 3.1.0, les opérateurs Kubernetes HyperPod, et configurer le contexte Kubernetes.
-
Comment surveiller l’avancement des entraînements et des déploiements ?
Utilisez les commandes hyp list (par ex. hyp list hyp-pytorch-job et hyp list hyp-jumpstart-endpoint) et consultez les logs des pods.
Références
More news
Faire passer vos agents IA du concept à la production avec Amazon Bedrock AgentCore
Une exploration détaillée de la façon dont Amazon Bedrock AgentCore aide à faire passer des applications IA basées sur des agents du proof of concept à des systèmes de production de niveau entreprise, en préservant mémoire, sécurité, observabilité et gestion d’outils à l’échelle.
Surveiller l’inférence par lot Bedrock d’AWS via les métriques CloudWatch
Apprenez à surveiller et optimiser les jobs d’inférence par lot Bedrock via CloudWatch, with alertes et tableaux de bord pour améliorer les performances, les coûts et l’exploitation.
Prompting pour la précision avec Stability AI Image Services sur Amazon Bedrock
Bedrock intègre Stability AI Image Services avec neuf outils pour créer et modifier des images avec précision. Apprenez les techniques de prompting adaptées à l’entreprise.
Utiliser les AWS Deep Learning Containers avec SageMaker AI géré MLflow
Découvrez comment les AWS Deep Learning Containers (DLCs) s’intègrent à SageMaker AI géré par MLflow pour équilibrer le contrôle de l’infrastructure et une gouvernance ML robuste. Un flux TensorFlow pour la prédiction de l’âge des abalones illustre le suivi de bout en bout et la traçabilité des modè
Évoluer la production visuelle avec Stability AI Image Services dans Amazon Bedrock
Stability AI Image Services est désormais disponible dans Amazon Bedrock, offrant des capacités d’édition d’images prêtes à l’emploi via l’API Bedrock et étendant les modèles Stable Diffusion 3.5 et Stable Image Core/Ultra déjà présents.
Créer des flux de travail agentiques avec GPT OSS d’OpenAI sur SageMaker AI et Bedrock AgentCore
Vue d’ensemble complète sur le déploiement des modèles GPT OSS d’OpenAI sur SageMaker AI et Bedrock AgentCore pour alimenter un analyseur d’actions multi-agents avec LangGraph, incluant la quantification MXFP4 en 4 bits et une orchestration sans serveur.