Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de changer d’annuaire.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer d’annuaire.
Dans cet article, vous allez apprendre à créer une application conteneur qui utilise des GPU serverless pour alimenter une application IA.
Avec des GPU serverless, vous bénéficiez d’un accès direct aux ressources de calcul des GPU sans aucune tâche manuelle de configuration de l’infrastructure, comme l’installation de pilotes. Il vous suffit de déployer l’image de votre modèle IA.
Dans ce tutoriel, vous allez :
- Créer une application conteneur et un environnement
- Configurer l’environnement pour utiliser des GPU serverless
- Déployer votre application sur Azure Container Apps
- Utiliser la nouvelle application avec des GPU serverless
- Activer la diffusion en continu d’artefacts pour réduire le démarrage à froid des GPU
Prérequis
| Ressource | Description |
|---|---|
| Compte Azure | Vous avez besoin d’un compte Azure associé à un abonnement actif. Si vous n’en avez pas, vous pouvez en créer un gratuitement. |
| Accès aux GPU serverless | L’accès aux GPU n’est disponible qu’après la demande de quotas de GPU. Vous pouvez soumettre votre demande de quota GPU via une tâche d’assistance à la clientèle. |
| Ressource | Description |
|---|---|
| Compte Azure | Vous avez besoin d’un compte Azure associé à un abonnement actif. Si vous n’en avez pas, vous pouvez en créer un gratuitement. |
| Accès aux GPU serverless | L’accès aux GPU n’est disponible qu’après la demande de quotas de GPU. Vous pouvez soumettre votre demande de quota GPU via une tâche d’assistance à la clientèle. |
| Azure CLI | Installez Azure CLI ou mettez à niveau vers la dernière version. |
Créer votre application conteneur
Accédez au Portail Azure, puis recherchez et sélectionnez Applications conteneur.
Sélectionnez Créer, puis Application conteneur.
Dans la fenêtre Informations de base, entrez les valeurs suivantes dans chaque section.
Sous Détails du projet, entrez les valeurs suivantes :
Paramètre Valeur Abonnement Sélectionnez votre abonnement Azure. groupe de ressources Sélectionnez Créer nouveau, puis entrez my-gpu-demo-group. Nom de l’application conteneur Entrez my-gpu-demo-group. Source de déploiement Sélectionnez Image conteneur. Sous Environnement Container Apps, entrez les valeurs suivantes :
Paramètre Valeur Région Sélectionnez Suède Centre.
Pour plus de régions prises en charge, reportez-vous à Utilisation de GPU serverless dans Azure.Environnement Container Apps Sélectionnez Créer nouveau. Dans la fenêtre Créer un environnement Container Apps, entrez les valeurs suivantes :
Paramètre Valeur Nom de l’environnement Entrez my-gpu-demo-env. Sélectionnez Create (Créer).
Sélectionnez Suivant : Conteneur >.
Dans la fenêtre Conteneur, entrez les valeurs suivantes :
Paramètre Valeur Nom Entrez my-gpu-demo-container. Source d’image Sélectionnez Docker Hub ou d’autres registres. Type d’image Sélectionnez public. Serveur de connexion au registre Entrez mcr.microsoft.com. Image et étiquette Entrez k8se/gpu-quickstart:latest. Profil de charge de travail Sélectionner Consommation : jusqu’à 4 processeurs virtuels, 8 Gib mémoire. GPU Cochez la case. Type de GPU Sélectionnez Consommation-GPU -NC8as-T4 - Jusqu’à 8 processeurs virtuels, 56 Gio de mémoire et sélectionnez le lien pour ajouter le profil à votre environnement. Sélectionnez Suivant : Entrée >.
Dans la fenêtre Entrée, entrez les valeurs suivantes :
Paramètre Valeur Entrée Cochez la case Activé. Trafic d’entrée Sélectionnez la case d’option Acceptation du trafic depuis n’importe où. Port cible Entrez 80. Sélectionnez Revoir + créer.
Sélectionnez Create (Créer).
Attendez quelques instants que le déploiement se termine, puis sélectionnez Accéder à la ressource.
Ce processus peut prendre jusqu’à cinq minutes.
Utiliser votre application GPU
Dans la fenêtre Vue d’ensemble, sélectionnez le lien URL de l’application pour ouvrir le front-end de l’application web dans votre navigateur et utiliser l’application GPU.
Remarque
- Pour optimiser les performances de vos applications GPU, suivez les étapes en vue d’améliorer le démarrage à froid de vos GPU serverless.
- Si votre application comprend plusieurs conteneurs, le premier conteneur obtient l’accès au GPU.
Créer des variables d’environnement
Définissez les variables d’environnement suivantes. Avant d’exécuter cette commande, remplacez-la <PLACEHOLDERS> par vos valeurs.
RESOURCE_GROUP="<RESOURCE_GROUP>"
ENVIRONMENT_NAME="<ENVIRONMENT_NAME>"
LOCATION="swedencentral"
CONTAINER_APP_NAME="<CONTAINER_APP_NAME>"
CONTAINER_IMAGE="mcr.microsoft.com/k8se/gpu-quickstart:latest"
WORKLOAD_PROFILE_NAME="NC8as-T4"
WORKLOAD_PROFILE_TYPE="Consumption-GPU-NC8as-T4"
Créer votre application conteneur
Créez le groupe de ressources pour contenir les ressources que vous créez dans ce didacticiel. Cette commande doit générer
Succeeded.az group create \ --name $RESOURCE_GROUP \ --location $LOCATION \ --query "properties.provisioningState"Créez un environnement Container Apps pour héberger votre application conteneur. Cette commande doit générer
Succeeded.az containerapp env create \ --name $ENVIRONMENT_NAME \ --resource-group $RESOURCE_GROUP \ --location "$LOCATION" \ --query "properties.provisioningState"Ajoutez un profil de charge de travail à votre environnement.
az containerapp env workload-profile add \ --name $ENVIRONMENT_NAME \ --resource-group $RESOURCE_GROUP \ --workload-profile-name $WORKLOAD_PROFILE_NAME \ --workload-profile-type $WORKLOAD_PROFILE_TYPECréez votre application conteneur.
az containerapp create \ --name $CONTAINER_APP_NAME \ --resource-group $RESOURCE_GROUP \ --environment $ENVIRONMENT_NAME \ --image $CONTAINER_IMAGE \ --target-port 80 \ --ingress external \ --cpu 8.0 \ --memory 56.0Gi \ --workload-profile-name $WORKLOAD_PROFILE_NAME \ --query properties.configuration.ingress.fqdnCette commande génère l’URL de l’application pour votre application conteneur.
Utiliser votre application GPU
Ouvrez l’URL de l’application pour votre application conteneur dans votre navigateur. Notez que le démarrage de l’application conteneur peut prendre jusqu’à cinq minutes.
L’application Azure Container Apps avec GPU sans serveur vous permet d’entrer une requête pour générer une image. Vous pouvez également simplement sélectionner Generate Image pour utiliser l'invite par défaut. À l’étape suivante, vous affichez les résultats du traitement GPU.
Remarque
- Pour optimiser les performances de vos applications GPU, suivez les étapes en vue d’améliorer le démarrage à froid de vos GPU serverless.
- Si votre application comprend plusieurs conteneurs, le premier conteneur obtient l’accès au GPU.
Surveiller votre GPU
Une fois que vous avez généré une image, procédez comme suit pour afficher les résultats du traitement GPU :
Ouvrez votre application de conteneur dans le Portail Azure.
Dans la section Surveillance, sélectionnez Console.
Sélectionnez votre réplica.
Sélectionnez votre conteneur.
Sélectionnez Reconnecter.
Dans la fenêtre Choisir la commande de démarrage, sélectionnez /bin/bash, puis Connecter.
Une fois l’interpréteur de commandes configuré, entrez la commande nvidia-smi pour passer en revue l’état et la sortie de votre GPU.
Nettoyer les ressources
Les ressources créées dans ce tutoriel ont un effet sur votre facture Azure.
Si vous ne prévoyez pas d’utiliser ces services à long terme, suivez les étapes pour supprimer tout ce qui a été créé dans ce tutoriel.
Dans le Portail Azure, recherchez et sélectionnez Groupes de ressources.
Sélectionnez my-gpu-demo-group.
Sélectionnez Supprimer le groupe de ressources.
Dans la zone de confirmation, entrez my-gpu-demo-group.
Sélectionnez Supprimer.
Exécutez la commande suivante.
az group delete --name $RESOURCE_GROUP