Link to this sectionUn guide pour déployer YOLO26 sur Amazon SageMaker Endpoints#
Le déploiement de modèles de vision par ordinateur avancés comme Ultralytics YOLO26 sur Amazon SageMaker Endpoints ouvre un large éventail de possibilités pour diverses applications d'apprentissage automatique. La clé pour utiliser efficacement ces modèles réside dans la compréhension de leurs processus de configuration, de paramétrage et de déploiement. YOLO26 devient encore plus puissant lorsqu'il est intégré de manière transparente à Amazon SageMaker, un service d'apprentissage automatique robuste et évolutif proposé par AWS.
Ce guide te guidera pas à pas à travers le processus de déploiement de modèles PyTorch YOLO26 sur Amazon SageMaker Endpoints. Tu apprendras l'essentiel pour préparer ton environnement AWS, configurer le modèle de manière appropriée et utiliser des outils comme AWS CloudFormation et l'AWS Cloud Development Kit (CDK) pour le déploiement.
Link to this sectionAmazon SageMaker#
Amazon SageMaker est un service d'apprentissage automatique d'Amazon Web Services (AWS) qui simplifie le processus de création, d'entraînement et de déploiement de modèles d'apprentissage automatique. Il fournit une large gamme d'outils pour gérer divers aspects des flux de travail d'apprentissage automatique. Cela inclut des fonctionnalités automatisées pour le réglage des 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 d'apprentissage automatique 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.
Link to this sectionDéploiement de YOLO26 sur Amazon SageMaker Endpoints#
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 telles que la mise à l'échelle automatique (autoscaling). Jette un œil à l'architecture AWS ci-dessous.
Link to this sectionÉtape 1 : Configure ton environnement AWS#
Tout d'abord, assure-toi que les prérequis suivants sont en place :
-
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 : Si elle n'est pas déjà installée, télécharge et installe l'interface de ligne de commande AWS (CLI) et configure-la avec les détails de ton compte. Suis les instructions de l'AWS CLI pour l'installation.
-
AWS CDK : Si ce n'est pas déjà fait, installe l'AWS Cloud Development Kit (CDK), qui sera utilisé pour scripter le déploiement. Suis les instructions de l'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 des endpoints et une autre pourml.m5.4xlargepour l'utilisation des instances de notebook. Chacune nécessite une valeur de quota minimale de un. Si tes quotas actuels sont inférieurs à cette exigence, il est important de 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.
Link to this sectionÉ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.
-
Cloner 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 -
Naviguer 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
Link to this sectionÉ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éer un environnement virtuel Python : Cela isole ton environnement Python et ses dépendances. Exécute :
python3 -m venv .venv -
Activer l'environnement virtuel :
source .venv/bin/activate -
Installer les dépendances : Installe les dépendances Python requises pour le projet :
pip3 install -r requirements.txt -
Mettre à niveau la bibliothèque AWS CDK : Assure-toi de disposer de la dernière version de la bibliothèque AWS CDK :
pip install --upgrade aws-cdk-lib
Link to this sectionÉtape 4 : Crée la pile AWS CloudFormation#
-
Synthétiser l'application CDK : Génère le modèle AWS CloudFormation à partir de ton code CDK :
cdk synth -
Amorcer (Bootstrap) l'application CDK : Prépare ton environnement AWS pour le déploiement CDK :
cdk bootstrap -
Déployer la pile : Cela créera les ressources AWS nécessaires et déploiera ton modèle :
cdk deploy
Link to this sectionÉ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 proposés par Ultralytics. Cela t'aidera à choisir le modèle le plus approprié pour les exigences de ton projet.
Après avoir créé la pile AWS CloudFormation, l'étape suivante consiste à déployer YOLO26.
-
Ouvrir l'instance de notebook : Accède à la console AWS et navigue vers le service Amazon SageMaker. Sélectionne "Notebook Instances" dans 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éder et modifier 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éployer l'endpoint 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, le packager avec le code d'inférence mis à jour et le télécharger dans un bucket Amazon S3. Le notebook te guidera à travers la création et le déploiement d'un endpoint SageMaker pour le modèle YOLO26.
Link to this sectionÉtape 6 : Tester ton déploiement#
Maintenant que ton modèle YOLO26 est déployé, il est important de tester ses performances et ses fonctionnalités.
-
Ouvrir 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écuter le notebook de test : Suis les instructions à l'intérieur du notebook pour tester l'endpoint SageMaker déployé. Cela inclut l'envoi d'une image à l'endpoint et l'exécution d'inférences. Ensuite, tu traceras le résultat pour visualiser les performances et la précision du modèle, comme illustré ci-dessous.
- Nettoyer les ressources : Le notebook de test te guidera également tout au long du processus de nettoyage de l'endpoint et du modèle hébergé. C'est 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.
Link to this sectionÉtape 7 : Surveillance et gestion#
Après les tests, une surveillance et une gestion continues de ton modèle déployé sont essentielles.
-
Surveiller avec Amazon CloudWatch : Vérifie régulièrement les performances et l'état de ton endpoint SageMaker en utilisant Amazon CloudWatch.
-
Gérer l'endpoint : Utilise la console SageMaker pour la gestion continue de l'endpoint. 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 Amazon SageMaker Endpoints. Ce processus te donne non seulement une expérience pratique dans l'utilisation des services AWS pour le déploiement d'apprentissage automatique, mais jette également les bases pour le déploiement d'autres modèles avancés à l'avenir.
Link to this sectionRésumé#
Ce guide t'a accompagné pas à pas dans le déploiement de YOLO26 sur Amazon SageMaker Endpoints 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 AWS Machine Learning. Tu peux également consulter la documentation officielle d'Amazon SageMaker pour plus d'informations sur les différentes fonctionnalités et capacités.
Souhaites-tu en savoir plus sur les différentes intégrations de YOLO26 ? Visite la page du guide des intégrations d'Ultralytics pour découvrir des outils et des capacités supplémentaires qui peuvent améliorer tes projets d'apprentissage automatique.
Link to this sectionFAQ#
Link to this sectionComment puis-je déployer le modèle Ultralytics YOLO26 sur Amazon SageMaker Endpoints ?#
Pour déployer le modèle Ultralytics YOLO26 sur Amazon SageMaker Endpoints, suis ces étapes :
- Configurer ton environnement AWS : Assure-toi d'avoir un compte AWS, des rôles IAM avec les autorisations nécessaires et l'AWS CLI configurée. Installe l'AWS CDK si ce n'est pas déjà fait (reporte-toi aux instructions de l'AWS CDK).
- Cloner 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 - Configurer 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éployer en utilisant AWS CDK : Synthétise et déploie la pile CloudFormation, amorce (bootstrap) l'environnement.
cdk synth cdk bootstrap cdk deploy
Pour plus de détails, consulte la section de documentation.
Link to this sectionQuels 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 (crée un compte ici).
- Rôles IAM : Rôles IAM configurés avec les autorisations pour SageMaker, CloudFormation et Amazon S3.
- AWS CLI : Interface de ligne de commande AWS installée et configurée (guide d'installation de l'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 des endpoints et des notebooks (demande une augmentation de quota).
Pour une configuration détaillée, reporte-toi à cette section.
Link to this sectionPourquoi 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 pour les besoins d'inférence en temps réel.
- Intégration avec les services AWS : Intégration transparente avec d'autres services AWS, tels que S3 pour le stockage de 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.
- Performances : Tire parti de l'infrastructure haute performance d'Amazon SageMaker pour exécuter efficacement des tâches d'inférence à grande échelle.
Explore davantage les avantages de l'utilisation de SageMaker dans la section d'introduction.
Link to this sectionPuis-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 :
-
Modifier
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éployer 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.
Reporte-toi aux étapes détaillées pour déployer le modèle modifié.
Link to this sectionComment puis-je tester le modèle YOLO26 déployé sur Amazon SageMaker ?#
Pour tester le modèle YOLO26 déployé sur Amazon SageMaker :
- Ouvrir le notebook de test : Localise le notebook
2_TestEndpoint.ipynbdans l'environnement Jupyter de SageMaker. - Exécuter le notebook : Suis les instructions du notebook pour envoyer une image à l'endpoint, effectuer une inférence et afficher les résultats.
- Visualiser les résultats : Utilise les fonctionnalités de traçage intégrées pour visualiser les métriques de performance, telles que les cadres englobants (bounding boxes) autour des objets détectés.
Pour des instructions de test complètes, visite la section de test.