Guide pour déployer YOLO26 sur les terminaux Amazon SageMaker
Déployer des modèles de computer vision avancés comme Ultralytics' YOLO26 sur les terminaux Amazon SageMaker ouvre un large éventail de possibilités pour diverses applications de machine learning. La clé pour utiliser ces modèles efficacement réside dans la compréhension de leurs processus de configuration et de déploiement. YOLO26 devient encore plus puissant lorsqu'il est intégré de manière transparente à Amazon SageMaker, un service de machine learning robuste et évolutif proposé par AWS.
Ce guide t'accompagnera étape par étape dans le processus de déploiement de modèles PyTorch YOLO26 sur les terminaux Amazon SageMaker. Tu apprendras les bases de la préparation de ton environnement AWS, de la configuration appropriée du modèle et de l'utilisation d'outils comme AWS CloudFormation et l'AWS Cloud Development Kit (CDK) pour le déploiement.
Amazon SageMaker
Amazon SageMaker est un service de machine learning d'Amazon Web Services (AWS) qui simplifie le processus de création, d'entraînement et de déploiement de modèles de machine learning. Il fournit une large gamme d'outils pour gérer divers aspects des flux de travail de machine learning. Cela inclut des fonctionnalités automatisées pour régler les modèles, des options pour entraîner les modèles à grande échelle et des méthodes simples pour déployer les modèles en production. SageMaker prend en charge les frameworks de machine learning populaires, offrant la flexibilité nécessaire pour divers projets. Ses fonctionnalités couvrent également l'étiquetage des données, la gestion des flux de travail et l'analyse des performances.
Déployer YOLO26 sur les terminaux Amazon SageMaker
Déployer YOLO26 sur Amazon SageMaker te permet d'utiliser son environnement géré pour l'inférence en temps réel et de tirer parti de fonctionnalités comme la mise à l'échelle automatique. Jette un œil à l'architecture AWS ci-dessous.
Étape 1 : Configure ton environnement AWS
Tout d'abord, assure-toi de disposer des prérequis suivants :
-
Un compte AWS : Si tu n'en as pas déjà un, crée un compte AWS.
-
Rôles IAM configurés : Tu auras besoin d'un rôle IAM avec les autorisations nécessaires pour Amazon SageMaker, AWS CloudFormation et Amazon S3. Ce rôle doit disposer de politiques lui permettant d'accéder à ces services.
-
AWS CLI : S'il n'est pas déjà installé, télécharge et installe l'AWS Command Line Interface (CLI) et configure-le avec les détails de ton compte. Suis les instructions AWS CLI pour l'installation.
-
AWS CDK : S'il n'est pas déjà installé, installe l'AWS Cloud Development Kit (CDK), qui sera utilisé pour scripter le déploiement. Suis les instructions AWS CDK pour l'installation.
-
Quota de service adéquat : Confirme que tu disposes de quotas suffisants pour deux ressources distinctes dans Amazon SageMaker : une pour
ml.m5.4xlargepour l'utilisation du terminal et une autre pourml.m5.4xlargepour l'utilisation de l'instance de notebook. Chacune de ces ressources nécessite une valeur de quota minimale de un. Si tes quotas actuels sont inférieurs à cette exigence, il est important d'en demander une augmentation pour chacun. Tu peux demander une augmentation de quota en suivant les instructions détaillées dans la documentation des quotas de service AWS.
Étape 2 : Clone le dépôt YOLO26 SageMaker
L'étape suivante consiste à cloner le dépôt AWS spécifique qui contient les ressources pour déployer YOLO26 sur SageMaker. Ce dépôt, hébergé sur GitHub, comprend les scripts CDK et les fichiers de configuration nécessaires.
-
Clone le dépôt GitHub : Exécute la commande suivante dans ton terminal pour cloner le dépôt host-yolov8-on-sagemaker-endpoint :
git clone https://github.com/aws-samples/host-yolov8-on-sagemaker-endpoint.git -
Navigue vers le répertoire cloné : Change de répertoire pour accéder au dépôt cloné :
cd host-yolov8-on-sagemaker-endpoint/yolov8-pytorch-cdk
Étape 3 : Configure l'environnement CDK
Maintenant que tu as le code nécessaire, configure ton environnement pour le déploiement avec AWS CDK.
-
Crée un environnement virtuel Python : Cela isole ton environnement Python et ses dépendances. Exécute :
python3 -m venv .venv -
Active l'environnement virtuel :
source .venv/bin/activate -
Installe les dépendances : Installe les dépendances Python requises pour le projet :
pip3 install -r requirements.txt -
Mets à niveau la bibliothèque AWS CDK : Assure-toi d'avoir la dernière version de la bibliothèque AWS CDK :
pip install --upgrade aws-cdk-lib
Étape 4 : Crée la pile AWS CloudFormation
-
Synthétise l'application CDK : Génère le modèle AWS CloudFormation à partir de ton code CDK :
cdk synth -
Amorce l'application CDK : Prépare ton environnement AWS pour le déploiement CDK :
cdk bootstrap -
Déploie la pile : Cela créera les ressources AWS nécessaires et déploiera ton modèle :
cdk deploy
Étape 5 : Déploie le modèle YOLO
Avant de plonger dans les instructions de déploiement, assure-toi de consulter la gamme de modèles YOLO26 offerts par Ultralytics. Cela t'aidera à choisir le modèle le plus approprié pour les besoins de ton projet.
Après avoir créé la pile AWS CloudFormation, l'étape suivante consiste à déployer YOLO26.
-
Ouvre l'instance de notebook : Va sur la console AWS et navigue vers le service Amazon SageMaker. Sélectionne "Notebook Instances" depuis le tableau de bord, puis localise l'instance de notebook créée par ton script de déploiement CDK. Ouvre l'instance de notebook pour accéder à l'environnement Jupyter.
-
Accède et modifie inference.py : Après avoir ouvert l'instance de notebook SageMaker dans Jupyter, localise le fichier inference.py. Modifie la fonction output_fn dans inference.py comme indiqué ci-dessous et enregistre tes modifications dans le script, en t'assurant qu'il n'y a pas d'erreurs de syntaxe.
import json def output_fn(prediction_output): """Formats model outputs as JSON string, extracting attributes like boxes, masks, keypoints.""" print("Executing output_fn from inference.py ...") infer = {} for result in prediction_output: if result.boxes is not None: infer["boxes"] = result.boxes.numpy().data.tolist() if result.masks is not None: infer["masks"] = result.masks.numpy().data.tolist() if result.keypoints is not None: infer["keypoints"] = result.keypoints.numpy().data.tolist() if result.obb is not None: infer["obb"] = result.obb.numpy().data.tolist() if result.probs is not None: infer["probs"] = result.probs.numpy().data.tolist() return json.dumps(infer) -
Déploie le terminal en utilisant 1_DeployEndpoint.ipynb : Dans l'environnement Jupyter, ouvre le notebook 1_DeployEndpoint.ipynb situé dans le répertoire sm-notebook. Suis les instructions du notebook et exécute les cellules pour télécharger le modèle YOLO26, l'empaqueter avec le code d'inférence mis à jour et le télécharger dans un compartiment Amazon S3. Le notebook te guidera dans la création et le déploiement d'un terminal SageMaker pour le modèle YOLO26.
Étape 6 : Teste ton déploiement
Maintenant que ton modèle YOLO26 est déployé, il est important de tester ses performances et ses fonctionnalités.
-
Ouvre le notebook de test : Dans le même environnement Jupyter, localise et ouvre le notebook 2_TestEndpoint.ipynb, également dans le répertoire sm-notebook.
-
Exécute le notebook de test : Suis les instructions dans le notebook pour tester le terminal SageMaker déployé. Cela inclut l'envoi d'une image au terminal et l'exécution d'inférences. Ensuite, tu traceras la sortie pour visualiser les performances et la précision du modèle, comme indiqué ci-dessous.
- Nettoie les ressources : Le notebook de test te guidera également tout au long du processus de nettoyage du terminal et du modèle hébergé. Il s'agit d'une étape importante pour gérer efficacement les coûts et les ressources, surtout si tu ne prévois pas d'utiliser le modèle déployé immédiatement.
Étape 7 : Surveillance et gestion
Après les tests, une surveillance et une gestion continues de ton modèle déployé sont essentielles.
-
Surveille avec Amazon CloudWatch : Vérifie régulièrement les performances et l'état de ton terminal SageMaker en utilisant Amazon CloudWatch.
-
Gère le terminal : Utilise la console SageMaker pour la gestion continue du terminal. Cela inclut la mise à l'échelle, la mise à jour ou le redéploiement du modèle selon les besoins.
En suivant ces étapes, tu auras déployé et testé avec succès un modèle YOLO26 sur les terminaux Amazon SageMaker. Ce processus te permet non seulement d'acquérir une expérience pratique de l'utilisation des services AWS pour le déploiement de machine learning, mais il jette également les bases pour le déploiement d'autres modèles avancés à l'avenir.
Résumé
Ce guide t'a accompagné pas à pas dans le déploiement de YOLO26 sur les terminaux Amazon SageMaker en utilisant AWS CloudFormation et l'AWS Cloud Development Kit (CDK). Le processus comprend le clonage du dépôt GitHub nécessaire, la configuration de l'environnement CDK, le déploiement du modèle à l'aide des services AWS et le test de ses performances sur SageMaker.
Pour plus de détails techniques, réfère-toi à cet article sur le blog de machine learning d'AWS. Tu peux également consulter la documentation officielle d'Amazon SageMaker pour plus d'informations sur les diverses fonctionnalités.
Tu souhaites en savoir plus sur les différentes intégrations YOLO26 ? Visite la page des guides d'intégration Ultralytics pour découvrir des outils et des capacités supplémentaires qui peuvent améliorer tes projets de machine learning.
FAQ
Comment déployer le modèle Ultralytics YOLO26 sur les terminaux Amazon SageMaker ?
Pour déployer le modèle Ultralytics YOLO26 sur les terminaux Amazon SageMaker, suis ces étapes :
- Configure ton environnement AWS : Assure-toi d'avoir un compte AWS, des rôles IAM avec les autorisations nécessaires et l'AWS CLI configuré. Installe l'AWS CDK si ce n'est pas déjà fait (réfère-toi aux instructions AWS CDK).
- Clone le dépôt YOLO26 SageMaker :
git clone https://github.com/aws-samples/host-yolov8-on-sagemaker-endpoint.git cd host-yolov8-on-sagemaker-endpoint/yolov8-pytorch-cdk - Configure l'environnement CDK : Crée un environnement virtuel Python, active-le, installe les dépendances et mets à niveau la bibliothèque AWS CDK.
python3 -m venv .venv source .venv/bin/activate pip3 install -r requirements.txt pip install --upgrade aws-cdk-lib - Déploie en utilisant AWS CDK : Synthétise et déploie la pile CloudFormation, amorce l'environnement.
cdk synth cdk bootstrap cdk deploy
Pour plus de détails, consulte la section de documentation.
Quels sont les prérequis pour déployer YOLO26 sur Amazon SageMaker ?
Pour déployer YOLO26 sur Amazon SageMaker, assure-toi de disposer des prérequis suivants :
- Compte AWS : Compte AWS actif (inscris-toi ici).
- Rôles IAM : Rôles IAM configurés avec les autorisations pour SageMaker, CloudFormation et Amazon S3.
- AWS CLI : AWS Command Line Interface installé et configuré (guide d'installation AWS CLI).
- AWS CDK : AWS Cloud Development Kit installé (guide de configuration CDK).
- Quotas de service : Quotas suffisants pour les instances
ml.m5.4xlargepour l'utilisation du terminal et du notebook (demande une augmentation de quota).
Pour une configuration détaillée, réfère-toi à cette section.
Pourquoi devrais-je utiliser Ultralytics YOLO26 sur Amazon SageMaker ?
L'utilisation d'Ultralytics YOLO26 sur Amazon SageMaker offre plusieurs avantages :
- Évolutivité et gestion : SageMaker fournit un environnement géré avec des fonctionnalités telles que la mise à l'échelle automatique, ce qui aide à répondre aux besoins d'inférence en temps réel.
- Intégration avec les services AWS : Intègre de manière transparente d'autres services AWS, tels que S3 pour le stockage des données, CloudFormation pour l'infrastructure en tant que code et CloudWatch pour la surveillance.
- Facilité de déploiement : Configuration simplifiée à l'aide de scripts AWS CDK et processus de déploiement rationalisés.
- Performance : Tire parti de l'infrastructure haute performance d'Amazon SageMaker pour exécuter efficacement des tâches d'inférence à grande échelle.
Explore plus en détail les avantages de l'utilisation de SageMaker dans la section d'introduction.
Puis-je personnaliser la logique d'inférence pour YOLO26 sur Amazon SageMaker ?
Oui, tu peux personnaliser la logique d'inférence pour YOLO26 sur Amazon SageMaker :
-
Modifie
inference.py: Localise et personnalise la fonctionoutput_fndans le fichierinference.pypour adapter les formats de sortie.import json def output_fn(prediction_output): """Formats model outputs as JSON string, extracting attributes like boxes, masks, keypoints.""" infer = {} for result in prediction_output: if result.boxes is not None: infer["boxes"] = result.boxes.numpy().data.tolist() # Add more processing logic if necessary return json.dumps(infer) -
Déploie le modèle mis à jour : Assure-toi de redéployer le modèle en utilisant les notebooks Jupyter fournis (
1_DeployEndpoint.ipynb) pour inclure ces changements.
Réfère-toi aux étapes détaillées pour déployer le modèle modifié.
Comment puis-je tester le modèle YOLO26 déployé sur Amazon SageMaker ?
Pour tester le modèle YOLO26 déployé sur Amazon SageMaker :
- Ouvre le notebook de test : Localise le notebook
2_TestEndpoint.ipynbdans l'environnement Jupyter de SageMaker. - Exécute le notebook : Suis les instructions du notebook pour envoyer une image au terminal, effectuer une inférence et afficher les résultats.
- Visualise les résultats : Utilise les fonctionnalités de traçage intégrées pour visualiser les mesures de performance, telles que les boîtes englobantes autour des objets détectés.
Pour des instructions de test complètes, visite la section de test.