Partage via


Utilisation de GPU serverless dans Azure Container Apps

Azure Container Apps permet d’accéder aux GPU à la demande sans que vous ayez à gérer l’infrastructure sous-jacente. En tant que fonctionnalité sans serveur, vous ne payez que pour les GPU utilisés. Lorsque cette option est activée, le nombre de GPU utilisés pour votre application augmente et diminue pour répondre aux exigences de charge de votre application. Les GPU sans serveur vous permettent d'exécuter vos charges de travail de manière transparente avec une mise à l'échelle automatique, un démarrage à froid optimisé, une facturation à la seconde avec une mise à l'échelle jusqu'à zéro lorsqu'il n'est pas utilisé et une charge opérationnelle réduite.

Les GPU sans serveur ne sont pris en charge que pour les profils de charge de travail Consommation. Cette fonctionnalité n’est pas prise en charge pour les environnements de consommation uniquement.

Remarque

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.

Avantages

Les GPU sans serveur accélèrent le développement de l’IA en vous permettant de vous concentrer sur votre code d’IA principal et moins sur la gestion de l’infrastructure lorsque vous utilisez des GPU. Cette fonctionnalité fournit une option de couche intermédiaire entre les API sans serveur du catalogue de modèles Azure AI et les modèles d’hébergement sur le calcul géré.

La prise en charge du GPU sans serveur Container Apps offre une gouvernance complète des données, car vos données ne quittent jamais les limites de votre conteneur tout en fournissant une plate-forme gérée et sans serveur à partir de laquelle créer vos applications.

Lorsque vous utilisez des GPU sans serveur dans Container Apps, vos applications bénéficient des avantages suivants :

  • GPU évolutifs vers zéro : Prise en charge de la mise à l’échelle automatique serverless des GPU NVIDIA A100 et NVIDIA T4.

  • Facturation à la seconde : Payez uniquement pour le calcul GPU que vous utilisez.

  • Gouvernance des données intégrée : Vos données ne quittent jamais la limite du conteneur.

  • Options de calcul flexibles : Vous pouvez choisir entre les types de GPU NVIDIA A100 ou T4.

  • Couche intermédiaire pour le développement de l’IA : Apportez votre propre modèle sur une plateforme de calcul managée et serverless.

Scénarios courants

Les scénarios suivants, bien que non exhaustifs, décrivent des cas d’utilisation courants pour les GPU sans serveur.

  • Inférence en temps réel et par lots : Utilisation de modèles open source personnalisés avec des temps de démarrage rapides, une mise à l'échelle automatique et un modèle de facturation par seconde. Les GPU sans serveur sont idéaux pour les applications dynamiques. Vous ne payez que pour le calcul que vous utilisez, et vos applications s’adaptent automatiquement à la demande.

  • Scénarios d’apprentissage automatique : Accélérez considérablement les applications qui implémentent des modèles d’IA générative personnalisés affinés, le Deep Learning, les réseaux neuronaux ou l’analyse de données à grande échelle.

  • Calcul haute performance (HPC) : Les applications qui nécessitent des calculs et des simulations complexes, telles que le calcul scientifique, la modélisation financière ou les prévisions météorologiques, utilisent les GPU comme ressources pour répondre aux exigences de calcul élevées.

  • Rendu et visualisation : Les applications impliquant le rendu 3D, le traitement d’images ou le transcodage vidéo utilisent souvent des GPU pour accélérer le processus de rendu et permettre la visualisation en temps réel.

  • Analyse des mégadonnées : Les GPU peuvent accélérer le traitement et l’analyse des données parmi des ensembles de données massifs.

Considérations

Gardez à l’esprit les éléments suivants lorsque vous utilisez des GPU sans serveur :

  • Version CUDA : Les GPU sans serveur prennent en charge la dernière version de CUDA

  • Limitations de prise en charge :

    • Un seul conteneur dans une application peut utiliser le GPU à la fois. Si vous avez plusieurs conteneurs dans une application, le premier conteneur obtient l’accès au GPU.
    • Plusieurs applications peuvent partager le même profil de charge de travail GPU, mais chacune nécessite son propre réplica.
    • Les répliques GPU multiples et fractionnaires ne sont pas prises en charge.
    • Le premier conteneur de votre application a accès au GPU.
  • Adresses IP : Les GPU de consommation utilisent une adresse IP par réplique lorsque vous configurez l'intégration avec votre propre réseau virtuel.

Régions prises en charge

Les GPU serverless sont disponibles dans les régions suivantes :

Région A100 T4
Ouest des États-Unis 3 Oui Oui
USA Ouest Oui Non
Australie Est Oui Oui
Suède Centre Oui Oui
Europe Ouest1 Non Oui

1 Pour ajouter un profil de charge de travail GPU sans serveur T4 en Europe Ouest, vous devez créer un environnement de profil de charge de travail dans la région.

Utiliser des GPU sans serveur

Lorsque vous créez une application conteneur via le Portail Microsoft Azure, vous pouvez configurer votre conteneur pour utiliser les ressources GPU.

Dans l’onglet Conteneur du processus de création, définissez les paramètres suivants :

  1. Dans la section Allocation des ressources du conteneur, cochez la case GPU.

  2. Pour le type de GPU, sélectionnez l’option NVIDIA A100 ou NVIDIA T4.

Gérer le profil de charge de travail du GPU sans serveur

Les GPU sans serveur fonctionnent sur des profils de charge de travail GPU de consommation. Vous gérez un profil de charge de travail GPU de consommation de la même manière que tout autre profil de charge de travail. Vous pouvez gérer votre profil de charge de travail à l’aide de CLI ou du Portail Microsoft Azure.

Demander un quota de GPU sans serveur

Remarque

Les clients disposant de contrats d’entreprise et de clients avec paiement à l’utilisation ont un quota A100 et T4 activé par défaut.

L'accès à cette fonctionnalité n'est disponible qu'après avoir obtenu un quota de GPU sans serveur. Vous pouvez soumettre votre demande de quota GPU via une tâche d’assistance à la clientèle. Lorsque vous ouvrez un cas de support pour une demande de quota GPU, sélectionnez ce qui suit :

  1. Ouvrez le nouveau formulaire de demande de support dans le portail Azure.

  2. Entrez les valeurs suivantes dans le formulaire :

    Propriété Valeur
    Type de problème Sélectionner les limites de service et d’abonnement (quotas)
    Subscription Sélectionnez votre abonnement.
    Type de quota Sélectionnez Container Apps.
  3. Cliquez sur Suivant.

  4. Dans la fenêtre Détails supplémentaires , sélectionnez Entrer les détails pour ouvrir la fenêtre détails de la demande.

    Capture d’écran de la fenêtre détails du système de gestion des quotas Azure.

  5. Pour le type de quota, sélectionnez GPU de consommation d’environnement managé NCA100 ou Gpu T4 de consommation d’environnement managé. Entrez vos valeurs supplémentaires.

  6. Sélectionnez Enregistrer et continuer.

  7. Renseignez les autres détails pertinents dans la fenêtre Détails supplémentaires .

  8. Cliquez sur Suivant.

  9. Cliquez sur Créer.

Améliorer le démarrage à froid du GPU

Vous pouvez améliorer considérablement les temps de démarrage à froid en activant la diffusion en continu d’artefacts et en localisant les fichiers volumineux, tels que les modèles de langue, dans un montage de stockage.

  • Diffusion en continu d’artefacts : Azure Container Registry offre un service de diffusion d’images en continu qui permet d’accélérer considérablement les temps de démarrage des images. Pour utiliser la diffusion en continu d’artefacts, vos images conteneur doivent être hébergées dans un Registre de conteneurs Azure Premium.

  • Montages de stockage : réduisez les effets de la latence réseau en stockant des fichiers volumineux dans un compte de stockage Azure associé à votre application conteneur.

Déployer des modèles Foundry sur des GPU serverless (préversion)

En préversion publique, les GPU sans serveur des Azure Container Apps prennent désormais en charge les modèles d'Azure AI Foundry. Les modèles Azure AI Foundry ont deux options de déploiement :

  • API serverless qui fournissent une facturation de paiement à l’utilisation pour certains des modèles les plus populaires.

  • Calcul managé qui vous permet de déployer la sélection complète des modèles Foundry avec des tarifs de paiement par GPU.

Azure Container Apps serverless GPU offre une option de déploiement équilibrée entre les API serverless et le calcul managé pour vous permettre de déployer des modèles Foundry. Cette option est à la demande avec une mise à l’échelle serverless s’adaptant à zéro lorsqu’elle n’est pas utilisée et conforme à vos besoins en matière de résidence des données. Avec des GPU serverless, l'utilisation des modèles Foundry vous offre la flexibilité d'exécuter n'importe quel modèle pris en charge avec une mise à l'échelle automatique, une tarification à la seconde, une gouvernance complète des données, ainsi qu'un support immédiat pour la mise en réseau d'entreprise et la sécurité.

Les modèles de langage du type MLFLOW sont pris en charge. Pour afficher la liste des MLFLOW modèles, accédez à la liste des modèles disponibles dans le registre azureml. Pour localiser les modèles, ajoutez un filtre pour MLFLOW les modèles en procédant comme suit :

  1. Sélectionnez Filtrer.

  2. Sélectionnez Ajouter un filtre.

  3. Pour la règle de filtre, entrez Type = MLFLOW.

Pour les modèles répertoriés ici dans le référentiel Azure Container Apps, vous pouvez les déployer directement sur des GPU serverless sans avoir à générer votre propre image à l’aide de la commande CLI suivante :

az containerapp up \
  --name <CONTAINER_APP_NAME> \
  --location <LOCATION> \
  --resource-group <RESOURCE_GROUP_NAME> \
  --model-registry <MODEL_REGISTRY_NAME> \
  --model-name <MODEL_NAME> \
  --model-version <MODEL_VERSION>

Pour tout modèle qui ne se présente pas dans cette liste, vous devez :

  1. Téléchargez le modèle GitHub pour l’image du modèle à partir du référentiel Azure Container Apps.

  2. Modifiez le fichier score.py pour qu’il corresponde à votre type de modèle. Le script de scoring (nommé score.py) définit la façon dont vous interagissez avec le modèle. L’exemple suivant montre comment utiliser un fichier de score.py personnalisé.

  3. Générez l’image et déployez-la dans un registre de conteneurs.

  4. Utilisez la commande CLI précédente pour déployer le modèle sur des GPU serverless, mais spécifiez le --image. En utilisant les paramètres --model-registry, --model-name et --model-version, les variables d'environnement clés sont définies pour vous permettre d'optimiser le démarrage à froid de votre application.

Envoyer des commentaires

Envoyez le problème au dépôt GitHub Azure Container Apps.

Étapes suivantes