Partager via


Tutoriel : Générer des images à l’aide de GPU serverless dans Azure Container Apps

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

  1. Accédez au Portail Azure, puis recherchez et sélectionnez Applications conteneur.

  2. Sélectionnez Créer, puis Application conteneur.

  3. 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 >.

  4. 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 >.

  5. 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.
  6. Sélectionnez Revoir + créer.

  7. Sélectionnez Create (Créer).

  8. 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

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

  1. 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"
    
  2. 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"
    
  3. 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_TYPE
    
  4. Cré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.fqdn
    

    Cette 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

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 :

  1. Ouvrez votre application de conteneur dans le Portail Azure.

  2. Dans la section Surveillance, sélectionnez Console.

  3. Sélectionnez votre réplica.

  4. Sélectionnez votre conteneur.

  5. Sélectionnez Reconnecter.

  6. Dans la fenêtre Choisir la commande de démarrage, sélectionnez /bin/bash, puis Connecter.

  7. 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.

  1. Dans le Portail Azure, recherchez et sélectionnez Groupes de ressources.

  2. Sélectionnez my-gpu-demo-group.

  3. Sélectionnez Supprimer le groupe de ressources.

  4. Dans la zone de confirmation, entrez my-gpu-demo-group.

  5. Sélectionnez Supprimer.

Exécutez la commande suivante.

az group delete --name $RESOURCE_GROUP

Étapes suivantes