Skip to content

Guide de déploiement de YOLO11 sur les terminaux Amazon SageMaker

Le déploiement de modèles de vision artificielle avancés tels que Ultralytics' YOLO11 sur les terminaux Amazon SageMaker ouvre un large éventail de possibilités pour diverses applications d' apprentissage automatique. La clé d'une utilisation efficace de ces modèles réside dans la compréhension de leurs processus d'installation, de configuration et de déploiement. YOLO11 devient encore plus puissant lorsqu'il est intégré de manière transparente à Amazon SageMaker, un service d'apprentissage automatique robuste et évolutif d'AWS.

Ce guide vous guidera pas à pas dans le processus de déploiement de modèles sur Amazon SageMaker Endpoints. YOLO11 PyTorch sur Amazon SageMaker Endpoints. Vous apprendrez les bases de la préparation de votre environnement AWS, de la configuration appropriée du modèle et de l'utilisation d'outils tels que AWS CloudFormation et AWS Cloud Development Kit (CDK) pour le déploiement.

Amazon SageMaker

Présentation d'Amazon SageMaker

Amazon SageMaker est un service d'apprentissage automatique d'Amazon Web Services (AWS) qui simplifie le processus de construction, 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. Il s'agit notamment de fonctions automatisées pour le réglage des modèles, d'options pour l'entraînement des modèles à l'échelle et de méthodes simples pour le déploiement des modèles en production. SageMaker prend en charge les frameworks d'apprentissage automatique les plus courants, offrant ainsi la flexibilité nécessaire à la réalisation de divers projets. Ses fonctionnalités couvrent également l'étiquetage des données, la gestion des flux de travail et l'analyse des performances.

DĂ©ploiement de YOLO11 sur les terminaux Amazon SageMaker

Le déploiement de YOLO11 sur Amazon SageMaker vous permet d'utiliser son environnement géré pour l'inférence en temps réel et de tirer parti de fonctionnalités telles que l'autoscaling. Jetez un coup d'œil à l'architecture AWS ci-dessous.

Architecture AWS

Étape 1 : Configuration de l'environnement AWS

Tout d'abord, assurez-vous que les conditions préalables suivantes sont réunies :

  • Un compte AWS : Si vous n'en avez pas encore, ouvrez un compte AWS.

  • RĂ´les IAM configurĂ©s : Vous aurez 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 stratĂ©gies lui permettant d'accĂ©der Ă  ces services.

  • AWS CLI: Si elle n'est pas dĂ©jĂ  installĂ©e, tĂ©lĂ©chargez et installez l'interface de ligne de commande AWS (CLI) et configurez-la avec les dĂ©tails de votre compte. Suivez les instructions d'AWS CLI pour l'installation.

  • AWS CDK : si ce n'est pas dĂ©jĂ  fait, installez le kit de dĂ©veloppement AWS Cloud (CDK), qui sera utilisĂ© pour la crĂ©ation de scripts de dĂ©ploiement. Suivez les instructions d' installation du CDK AWS.

  • Quota de service adĂ©quat : Confirmez que vous disposez de quotas suffisants pour deux ressources distinctes dans Amazon SageMaker : une pour le service ml.m5.4xlarge pour l'utilisation des points d'accès et un autre pour l'utilisation des ml.m5.4xlarge pour l'utilisation de l'instance de l'ordinateur portable. Chacun d'entre eux nĂ©cessite un minimum d'une valeur de quota. Si vos quotas actuels sont infĂ©rieurs Ă  cette exigence, il est important de demander une augmentation pour chacun d'entre eux. Vous pouvez demander une augmentation de quota en suivant les instructions dĂ©taillĂ©es dans le document Documentation sur les quotas de service AWS.

Etape 2 : Cloner le dépôt SageMaker YOLO11

L'étape suivante consiste à cloner le dépôt AWS spécifique qui contient les ressources nécessaires au déploiement de YOLO11 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Ă©cutez la commande suivante dans votre 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
  • Naviguez jusqu'au rĂ©pertoire clonĂ© : Changez votre rĂ©pertoire pour le rĂ©fĂ©rentiel clonĂ© :
cd host-yolov8-on-sagemaker-endpoint/yolov8-pytorch-cdk

Étape 3 : Configuration de l'environnement CDK

Maintenant que vous disposez du code nécessaire, configurez votre environnement pour le déployer avec AWS CDK.

  • CrĂ©ez un environnement virtuel Python : Cette opĂ©ration permet d'isoler l'environnement et les dĂ©pendances de Python . ExĂ©cutez :
python3 -m venv .venv
  • Activer l'environnement virtuel :
source .venv/bin/activate
  • Installer les dĂ©pendances : Installer les dĂ©pendances Python requises pour le projet :
pip3 install -r requirements.txt
  • Mettre Ă  jour la bibliothèque AWS CDK : Assurez-vous que vous disposez de la dernière version de la bibliothèque AWS CDK :
pip install --upgrade aws-cdk-lib

Étape 4 : Créer la pile AWS CloudFormation

  • SynthĂ©tiser l'application CDK : GĂ©nĂ©rez le modèle AWS CloudFormation Ă  partir de votre code CDK :
cdk synth
  • Amorcez l'application CDK : PrĂ©parez votre environnement AWS pour le dĂ©ploiement du CDK :
cdk bootstrap
  • DĂ©ployer la pile : Cette Ă©tape permet de crĂ©er les ressources AWS nĂ©cessaires et de dĂ©ployer votre modèle :
cdk deploy

Étape 5 : Déployer le modèle YOLO

Avant de vous plonger dans les instructions de déploiement, n'oubliez pas de consulter la gamme de modèlesYOLO11 proposés par Ultralytics. Cela vous aidera à choisir le modèle le plus approprié aux exigences de votre projet.

Après avoir créé la pile AWS CloudFormation, l'étape suivante consiste à déployer YOLO11.

  • Ouvrez l'Instance Notebook : AccĂ©dez Ă  la console AWS et naviguez jusqu'au service Amazon SageMaker. SĂ©lectionnez "Notebook Instances" dans le tableau de bord, puis localisez l'instance de notebook qui a Ă©tĂ© crĂ©Ă©e par votre script de dĂ©ploiement CDK. Ouvrez l'instance de notebook pour accĂ©der Ă  l'environnement Jupyter.

  • AccĂ©der Ă  inference.py et le modifier : Après avoir ouvert l'instance du notebook SageMaker dans Jupyter, localisez le fichier inference.py. Modifiez la fonction output_fn dans inference.py comme indiquĂ© ci-dessous et enregistrez vos modifications dans le script, en vous 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 le point final Ă  l'aide de 1_DeployEndpoint.ipynb : Dans l'environnement Jupyter, ouvrez le bloc-notes 1_DeployEndpoint.ipynb situĂ© dans le rĂ©pertoire sm-notebook. Suivez les instructions du carnet et exĂ©cutez les cellules pour tĂ©lĂ©charger le modèle YOLO11 , l'empaqueter avec le code d'infĂ©rence mis Ă  jour et le tĂ©lĂ©charger dans un seau Amazon S3. Le notebook vous guidera dans la crĂ©ation et le dĂ©ploiement d'un point de terminaison SageMaker pour le modèle YOLO11 .

Étape 6 : Test du déploiement

Maintenant que votre modèle YOLO11 est déployé, il est important de tester ses performances et ses fonctionnalités.

  • Ouvrez le carnet de test : Dans le mĂŞme environnement Jupyter, localisez et ouvrez le carnet 2_TestEndpoint.ipynb, Ă©galement dans le rĂ©pertoire sm-notebook.

  • ExĂ©cutez le carnet de test : Suivez les instructions du carnet pour tester le terminal SageMaker dĂ©ployĂ©. Il s'agit notamment d'envoyer une image au point de terminaison et d'exĂ©cuter des infĂ©rences. Ensuite, vous tracerez la sortie pour visualiser les performances et la prĂ©cision du modèle, comme illustrĂ© ci-dessous.

RĂ©sultats des tests YOLO11

  • Ressources de nettoyage : Le cahier de test vous guidera Ă©galement dans le processus de nettoyage du point final et du modèle hĂ©bergĂ©. Il s'agit d'une Ă©tape importante pour gĂ©rer efficacement les coĂ»ts et les ressources, en particulier si vous ne prĂ©voyez pas d'utiliser immĂ©diatement le modèle dĂ©ployĂ©.

Étape 7 : Suivi et gestion

Après les tests, il est essentiel d'assurer un suivi et une gestion continus du modèle déployé.

  • Surveillez avec Amazon CloudWatch : VĂ©rifiez rĂ©gulièrement les performances et l'Ă©tat de santĂ© de votre point de terminaison SageMaker Ă  l'aide d'Amazon CloudWatch.

  • GĂ©rer le point d'accès : Utilisez la console SageMaker pour la gestion continue du point de terminaison. Cela inclut la mise Ă  l'Ă©chelle, la mise Ă  jour ou le redĂ©ploiement du modèle selon les besoins.

En suivant ces étapes, vous aurez déployé et testé avec succès un modèle YOLO11 sur Amazon SageMaker Endpoints. Ce processus vous permet non seulement d'acquérir une expérience pratique de l'utilisation des services AWS pour le déploiement de l'apprentissage automatique, mais aussi de jeter les bases du déploiement d'autres modèles avancés à l'avenir.

Résumé

Ce guide vous a guidé pas à pas dans le déploiement de YOLO11 sur Amazon SageMaker Endpoints à l'aide d'AWS CloudFormation et d'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, consultez cet article sur le blog AWS Machine Learning. Vous pouvez également consulter la documentation officielle d'Amazon SageMaker pour en savoir plus sur les différentes caractéristiques et fonctionnalités.

Vous souhaitez en savoir plus sur les différentes intégrations de YOLO11 ? Visitez la page du guide des intégrationsUltralytics pour découvrir des outils et des capacités supplémentaires qui peuvent améliorer vos projets d'apprentissage automatique.

FAQ

Comment déployer le modèle Ultralytics YOLO11 sur Amazon SageMaker Endpoints ?

Pour déployer le modèle Ultralytics YOLO11 sur Amazon SageMaker Endpoints, procédez comme suit :

  1. Configurez votre environnement AWS: Assurez-vous que vous disposez d'un compte AWS, de rôles IAM avec les autorisations nécessaires et que le site AWS CLI est configuré. Installez le CDK AWS si ce n'est pas déjà fait (voir les instructions du CDK AWS).
  2. Cloner le dépôt SageMaker YOLO11:
    git clone https://github.com/aws-samples/host-yolov8-on-sagemaker-endpoint.git
    cd host-yolov8-on-sagemaker-endpoint/yolov8-pytorch-cdk
    
  3. Configuration de l'environnement CDK: Créer un environnement virtuel Python , l'activer, installer les dépendances et mettre à jour la bibliothèque AWS CDK.
    python3 -m venv .venv
    source .venv/bin/activate
    pip3 install -r requirements.txt
    pip install --upgrade aws-cdk-lib
    
  4. Déployer avec AWS CDK: Synthétiser et déployer la pile CloudFormation, amorcer l'environnement.
    cdk synth
    cdk bootstrap
    cdk deploy
    

Pour plus de détails, consultez la section documentation.

Quels sont les pré-requis pour déployer YOLO11 sur Amazon SageMaker ?

Pour déployer YOLO11 sur Amazon SageMaker, assurez-vous d'avoir les prérequis suivants :

  1. Compte AWS: Compte AWS actif(s'inscrire ici).
  2. Rôles IAM: Rôles IAM configurés avec des autorisations pour SageMaker, CloudFormation et Amazon S3.
  3. AWS CLI: Installation et configuration de l'interface de ligne de commande AWS(guide d'installation AWS CLI ).
  4. AWS CDK: Kit de développement du cloud AWS installé(guide d'installation du CDK).
  5. Quotas de services: Des quotas suffisants pour ml.m5.4xlarge pour l'utilisation des terminaux et des ordinateurs portables (demander une augmentation de quota).

Pour une configuration détaillée, voir cette section.

Pourquoi utiliser Ultralytics YOLO11 sur Amazon SageMaker ?

L'utilisation de Ultralytics YOLO11 sur Amazon SageMaker offre plusieurs avantages :

  1. Évolutivité et gestion: SageMaker fournit un environnement géré avec des fonctionnalités telles que l'autoscaling, qui permet de répondre aux besoins d'inférence en temps réel.
  2. Intégration avec les services AWS: Intégration transparente avec 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.
  3. Facilité de déploiement: Configuration simplifiée à l'aide de scripts AWS CDK et processus de déploiement rationalisés.
  4. Performance: Tirez parti de l'infrastructure haute performance d'Amazon SageMaker pour exécuter efficacement des tâches d'inférence à grande échelle.

DĂ©couvrez les avantages de l'utilisation de SageMaker dans la section introduction.

Puis-je personnaliser la logique d'inférence pour YOLO11 sur Amazon SageMaker ?

Oui, vous pouvez personnaliser la logique d'inférence pour YOLO11 sur Amazon SageMaker :

  1. Modifier inference.py: Localisez et personnalisez le output_fn dans la fonction inference.py pour 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)
    
  2. Déployer le modèle mis à jour: Assurez-vous de redéployer le modèle en utilisant les carnets Jupyter fournis (1_DeployEndpoint.ipynb) pour inclure ces changements.

Reportez-vous aux étapes détaillées du déploiement du modèle modifié.

Comment puis-je tester le modèle YOLO11 déployé sur Amazon SageMaker ?

Pour tester le modèle YOLO11 déployé sur Amazon SageMaker :

  1. Ouvrir le cahier de test: Localisez le 2_TestEndpoint.ipynb dans l'environnement Jupyter de SageMaker.
  2. Exécutez le carnet: Suivez les instructions du carnet pour envoyer une image au point de terminaison, effectuer une inférence et afficher les résultats.
  3. Visualiser les résultats: Utilisez les fonctionnalités de traçage intégrées pour visualiser les mesures de performance, telles que les boîtes de délimitation autour des objets détectés.

Pour obtenir des instructions complètes sur les tests, consultez la section consacrée aux tests.

📅C réé il y a 11 mois ✏️ Mis à jour il y a 2 mois

Commentaires