Partage via


Comment déployer des modèles Meta Llama avec Azure AI Studio

Important

Certaines des fonctionnalités décrites dans cet article peuvent uniquement être disponibles en préversion. Cette préversion est fournie sans contrat de niveau de service, nous la déconseillons dans des charges de travail de production. Certaines fonctionnalités peuvent être limitées ou non prises en charge. Pour plus d’informations, consultez Conditions d’Utilisation Supplémentaires relatives aux Évaluations Microsoft Azure.

Dans cet article, vous allez découvrir les grands modèles de langage Meta Llama. Vous apprendrez également à utiliser Azure AI Studio pour déployer des modèles de cet ensemble sur des API serverless avec paiement à l’utilisation ou sur un calcul managé.

Important

Pour en savoir plus sur l’annonce de la mise à disposition des modèles Meta Llama 3 sur le catalogue de modèles Azure AI, consultez le blog de Microsoft Tech Community et le blog des annonces de Meta.

Les modèles et outils Meta Llama 3 sont une collection de modèles de texte génératifs pré-entraînés et ajustés, comprenant de 8 à 70 milliards de paramètres. La famille de modèles inclut également des versions ajustées, appelées Meta-Llama-3-8B-Instruct et Meta-Llama-3-70B-Instruct, qui sont optimisées pour des cas d’usage de dialogue avec apprentissage par renforcement à partir de retours humains (RLHF). Consultez les exemples GitHub suivants pour explorer les intégrations avec LangChain, LiteLLM, OpenAI et l’API Azure.

Déployer des modèles Meta Llama en tant qu’API serverless

Certains modèles du catalogue de modèles peuvent être déployés en tant qu’API serverless avec paiement à l’utilisation, ce qui permet de les consommer en tant qu’API sans les héberger sur votre abonnement, tout en conservant les besoins des organisations de sécurité et de conformité de l’entreprise. Cette option de déploiement ne nécessite pas de quota à partir de votre abonnement.

Les modèles Meta Llama 3 sont déployés en tant qu’API serverless avec paiement à l’utilisation, via la Place de marché Microsoft Azure, et peuvent être soumis à d’autres conditions d’utilisation et tarifs.

Offres de modèles de la Place de marché Azure

Les modèles suivants sont disponibles dans la Place de marché Azure pour Llama 3 quand ils sont déployés en tant que service avec paiement à l’utilisation :

Si vous devez déployer un autre modèle, déployez-le sur un calcul managé à la place.

Prérequis

  • Un abonnement Azure avec un moyen de paiement valide. Les abonnements Azure gratuits ou d’essai ne fonctionnent pas. Si vous ne disposez pas d’un abonnement Azure, commencez par créer un compte Azure payant.

  • Un hub AI Studio.

    Important

    Pour les modèles Meta Llama 3, l’offre de modèle de déploiement avec paiement à l’utilisation est disponible uniquement avec les hubs créés dans les régions USA Est 2 et Suède Centre.

  • Un Projet AI Studio dans Azure AI Studio.

  • Les contrôles d’accès en fonction du rôle (RBAC) Azure sont utilisés pour octroyer l’accès aux opérations dans Azure AI Studio. Pour effectuer les étapes décrites dans cet article, votre compte d’utilisateur doit avoir le rôle Propriétaire ou Contributeur pour l’abonnement Azure. Une autre possibilité est que votre compte dispose d’un rôle personnalisé avec les autorisations suivantes :

    • Sur l’abonnement Azure, pour abonner le projet AI Studio à l’offre de la Place de marché Azure, une fois par projet et par offre :

      • Microsoft.MarketplaceOrdering/agreements/offers/plans/read
      • Microsoft.MarketplaceOrdering/agreements/offers/plans/sign/action
      • Microsoft.MarketplaceOrdering/offerTypes/publishers/offers/plans/agreements/read
      • Microsoft.Marketplace/offerTypes/publishers/offers/plans/agreements/read
      • Microsoft.SaaS/register/action
    • Sur le groupe de ressources – pour créer et utiliser la ressource SaaS :

      • Microsoft.SaaS/resources/read
      • Microsoft.SaaS/resources/write
    • Sur le projet AI Studio, pour déployer des points de terminaison (le rôle Développeur Azure AI contient déjà ces autorisations) :

      • Microsoft.MachineLearningServices/workspaces/marketplaceModelSubscriptions/*
      • Microsoft.MachineLearningServices/workspaces/serverlessEndpoints/*

    Pour plus d’informations sur les autorisations, consultez Contrôle d’accès en fonction du rôle dans Azure AI Studio.

Créer un déploiement

Pour créer un déploiement :

  1. Connectez-vous à Azure AI Studio.

  2. Choisissez le modèle à déployer dans le catalogue de modèles Azure AI Studio.

    Vous pouvez également lancer le déploiement à partir de votre projet dans AI Studio. Sélectionnez un projet, puis sélectionnez Déploiements>+ Créer.

  3. Dans la page Détails du modèle, sélectionnez Déployer, puis sélectionnez API serverless avec Azure AI Sécurité du Contenu.

  4. Sélectionnez le projet dans lequel vous souhaitez déployer vos modèles. Pour que vous puissiez utiliser l’offre de modèle de déploiement avec paiement à l’utilisation, votre espace de travail doit appartenir à la région USA Est 2 ou Suède Centre.

  5. Dans l’Assistant Déploiement, sélectionnez le lien vers Conditions d’utilisation de la Place de marché Azure pour en savoir plus sur les conditions d’utilisation. Vous pouvez également sélectionner l’onglet Détails de l’offre de la Place de marché pour en savoir plus sur la tarification du modèle sélectionné.

  6. Si vous déployez le modèle dans le projet pour la première fois, vous devez abonner votre projet à l’offre spécifique (par exemple Meta-Llama-3-70B) à partir de la Place de marché Azure. Cette étape nécessite que votre compte dispose des autorisations sur l’abonnement Azure et sur le groupe de ressources qui sont répertoriées dans les prérequis. Chaque projet a son propre abonnement à l’offre spécifique de la Place de marché Azure, ce qui vous permet de contrôler et de suivre les dépenses. Sélectionnez S’abonner et se Déployer.

    Remarque

    L’abonnement d’un projet à une offre particulière de la Place de marché Azure (dans le cas présent, Meta-Llama-3-70B) nécessite que votre compte dispose d’un accès Contributeur ou Propriétaire au niveau de l’abonnement où le projet est créé. Comme alternative, votre compte d’utilisateur peut se voir attribuer un rôle personnalisé qui dispose des autorisations sur l’abonnement Azure et sur le groupe de ressources listées dans les prérequis.

  7. Une fois que vous avez inscrit le projet dans le cadre de l’offre spécifique de la Place de marché Azure, les déploiements suivants de la même offre dans le même projet ne nécessitent pas un nouvel abonnement. Par conséquent, vous n’avez pas besoin des autorisations au niveau de l’abonnement pour les déploiements suivants. Si ce scénario s’applique à vous, sélectionnez Continuer à déployer.

  8. Donnez un nom au déploiement. Ce nom va faire partie de l’URL de l’API de déploiement. Cette URL doit être unique dans chaque région Azure.

  9. Sélectionnez Déployer. Une fois que le déploiement est prêt, vous êtes redirigé vers la page Déploiements.

  10. Sélectionnez Ouvrir dans le terrain de jeu pour commencer à interagir avec le modèle.

  11. Vous pouvez retourner à la page Déploiements, sélectionner le déploiement, puis noter l’URL cible du point de terminaison ainsi que la Clé secrète pour pouvoir appeler ensuite le déploiement et générer des complétions.

  12. Vous pouvez toujours retrouver les détails, l’URL et les clés d’accès du point de terminaison en accédant à la page du projet et en sélectionnant Déploiements dans le menu de gauche.

Pour en savoir plus sur la facturation pour les modèles Meta Llama déployés avec paiement à l’utilisation, consultez Considérations relatives aux coûts et aux quotas pour les modèles Llama 3 déployés en tant que service.

Consommer des modèles Meta Llama en tant que service

Les modèles déployés en tant que service peuvent être consommés en utilisant l’API de conversation ou de complétions, selon le type de modèle que vous avez déployé.

  1. Sélectionnez votre projet ou hub, puis sélectionnez Déploiements dans le menu de gauche.

  2. Recherchez et sélectionnez le déploiement que vous avez créé.

  3. Sélectionnez Ouvrir dans le terrain de jeu.

  4. Sélectionnez Afficher le code, puis copiez l’URL du Point de terminaison et la valeur de la Clé.

  5. Effectuez une requête d’API en fonction du type de modèle que vous avez déployé.

    • Pour les modèles de complétions, comme Meta-Llama-3-8B, utilisez l’API /completions.
    • Pour les modèles de conversation, comme Meta-Llama-3-8B-Instruct, utilisez l’API /chat/completions.

    Pour plus d’informations sur l’utilisation des API, consultez la section Référence.

Informations de référence sur les modèles Meta Llama déployés en tant que service

Les modèles Llama acceptent à la fois l’API Inférence de modèle Azure AI sur la route /chat/completions et l’API Llama Chat sur /v1/chat/completions. De même, les saisies semi-automatiques de texte peuvent être générées en utilisant l’API Inférence de modèle Azure AI sur la route /completions ou une API Llama Completions sur /v1/completions

Le schéma API Inférence du modèle Azure AI est disponible dans l’article référence de saisie semi-automatique des conversations et une spécification OpenAPI peut être obtenue à partir du point de terminaison lui-même.

API de complétion

Utilisez la méthode POST pour envoyer la requête à l’itinéraire /v1/completions :

Requête

POST /v1/completions HTTP/1.1
Host: <DEPLOYMENT_URI>
Authorization: Bearer <TOKEN>
Content-type: application/json

Schéma de requête

La charge utile est une chaîne au format JSON contenant les paramètres suivants :

Clé Type Default Description
prompt string Aucune valeur par défaut. Cette valeur doit être spécifiée. Invite à envoyer au modèle.
stream boolean False La diffusion en continu permet aux jetons générés d’être envoyés en tant qu’événements envoyés par le serveur uniquement chaque fois qu’ils sont disponibles.
max_tokens integer 16 Nombre maximal de jetons à générer dans la saisie semi-automatique. Le nombre de jetons de votre invite plus max_tokens ne peut pas dépasser la longueur du contexte du modèle.
top_p float 1 Alternative à l’échantillonnage avec la température, appelée échantillonnage de noyau, où le modèle considère les résultats des jetons avec la masse de probabilité top_p. Par conséquent, 0,1 signifie que seuls les jetons comprenant la masse de probabilité supérieure de 10 % sont considérés. Nous vous recommandons généralement de modifier top_pou temperature, mais pas les deux.
temperature float 1 Température d’échantillonnage à utiliser, entre 0 et 2. Les valeurs plus élevées signifient que les exemples de modèle sont plus larges que la distribution des jetons. Zéro signifie un échantillonnage gourmand. Nous recommandons de modifier ceci ou top_p, mais pas les deux.
n integer 1 Nombre d’achèvements à générer pour chaque invite.
Remarque : comme ce paramètre génère de nombreuses saisies semi-automatiques, il peut rapidement consommer votre quota de jetons.
stop array null Chaîne ou liste de chaînes contenant le mot où l’API cesse de générer d’autres jetons. Le texte retourné ne contient pas la séquence d’arrêt.
best_of integer 1 Génère des complétions best_of côté serveur et retourne la « meilleure » (celle avec la probabilité logarithmique la plus faible par jeton). Les résultats ne peuvent pas être diffusés en continu. Quand il est utilisé avec n, best_of contrôle le nombre de complétions candidates, et n spécifie le nombre de retours. best_of doit être supérieur à n.
Remarque : comme ce paramètre génère de nombreuses saisies semi-automatiques, il peut rapidement consommer votre quota de jetons.
logprobs integer null Un nombre indiquant d’inclure les probabilités logarithmiques sur les jetons logprobs les plus probables et les jetons choisis. Par exemple, si logprobs est égal à 10, l’API retourne une liste des 10 jetons les plus probables. L’API retourne toujours la logprob du jeton échantillonné : il peut donc y avoir jusqu’à logprobs+1 éléments dans la réponse.
presence_penalty float null Nombre compris entre -2.0 et 2.0. Les valeurs positives pénalisent les nouveaux tokens selon qu’ils apparaissent ou non dans le texte jusqu’à présent, ce qui augmente la probabilité que le modèle parle de nouveaux sujets.
ignore_eos boolean True Indique s’il faut ignorer le jeton EOS et continuer à générer des jetons après la génération du jeton EOS.
use_beam_search boolean False Indique s’il faut utiliser la recherche par faisceau au lieu de l’échantillonnage. Dans ce cas, best_of doit être supérieur à 1 et temperature doit être supérieur à 0.
stop_token_ids array null Liste des ID pour les jetons qui, lorsqu’ils sont générés, arrêtent la génération de jetons supplémentaires. La sortie retournée contient les jetons d’arrêt, sauf si les jetons d’arrêt sont des jetons spéciaux.
skip_special_tokens boolean null Indique s’il faut ignorer des jetons spéciaux dans la sortie.

Exemple

Corps

{
    "prompt": "What's the distance to the moon?",
    "temperature": 0.8,
    "max_tokens": 512
}

Schéma de réponse

La charge utile de réponse est un dictionnaire avec les champs suivants.

Clé Type Description
id string Identificateur unique de la saisie semi-automatique.
choices array Liste des choix d’achèvement générés pour l’invite d’entrée.
created integer Horodatage Unix (en secondes) de la création de l’achèvement.
model string La model_id utilisée pour l’achèvement.
object string Le type d’objet, qui est toujours text_completion.
usage object Statistiques d’utilisation pour la demande d’achèvement.

Conseil

En mode streaming, pour chaque segment de réponse, finish_reason est toujours null, sauf à partir du dernier qui est arrêté par une charge utile [DONE].

L’objet choices est un dictionnaire avec les champs suivants.

Clé Type Description
index integer Index de choix. Quand best_of> 1, l’index de ce tableau peut ne pas être dans l’ordre, et ne pas être de 0 à n-1.
text string Résultat de la saisie semi-automatique.
finish_reason string La raison pour laquelle le modèle a cessé de générer des jetons :
- stop : le modèle a atteint un point d’arrêt naturel ou une séquence d’arrêt fournie.
- length : si le nombre maximal de jetons a été atteint.
- content_filter : quand RAI modère et que CMP force la modération.
- content_filter_error : une erreur lors de la modération, et n’a pas pu prendre de décision sur la réponse.
- null : réponse de l’API toujours en cours ou incomplète.
logprobs object Probabilités de journal des jetons générés dans le texte de sortie.

L’objet usage est un dictionnaire avec les champs suivants.

Clé Type Value
prompt_tokens integer Nombre de jetons dans l’invite.
completion_tokens integer Nombre de jetons générés lors de la saisie semi-automatique.
total_tokens integer Nombre total de jetons.

L’objet logprobs est un dictionnaire avec les champs suivants :

Clé Type Value
text_offsets array de integers Position ou index de chaque jeton dans la sortie d’achèvement.
token_logprobs array de float logprobs sélectionnés dans le dictionnaire dans un tableau top_logprobs.
tokens array de string Jetons sélectionnés.
top_logprobs array de dictionary Tableau de dictionnaires. Dans chaque dictionnaire, la clé est le jeton et la valeur est la prob.

Exemple

{
    "id": "12345678-1234-1234-1234-abcdefghijkl",
    "object": "text_completion",
    "created": 217877,
    "choices": [
        {
            "index": 0,
            "text": "The Moon is an average of 238,855 miles away from Earth, which is about 30 Earths away.",
            "logprobs": null,
            "finish_reason": "stop"
        }
    ],
    "usage": {
        "prompt_tokens": 7,
        "total_tokens": 23,
        "completion_tokens": 16
    }
}

API de conversation

Utilisez la méthode POST pour envoyer la requête à l’itinéraire /v1/chat/completions :

Requête

POST /v1/chat/completions HTTP/1.1
Host: <DEPLOYMENT_URI>
Authorization: Bearer <TOKEN>
Content-type: application/json

Schéma de requête

La charge utile est une chaîne au format JSON contenant les paramètres suivants :

Clé Type Default Description
messages string Aucune valeur par défaut. Cette valeur doit être spécifiée. Le message ou l’historique des messages à utiliser pour envoyer une invite au modèle.
stream boolean False La diffusion en continu permet aux jetons générés d’être envoyés en tant qu’événements envoyés par le serveur uniquement chaque fois qu’ils sont disponibles.
max_tokens integer 16 Nombre maximal de jetons à générer dans la saisie semi-automatique. Le nombre de jetons de votre invite plus max_tokens ne peut pas dépasser la longueur du contexte du modèle.
top_p float 1 Alternative à l’échantillonnage avec la température, appelée échantillonnage de noyau, où le modèle considère les résultats des jetons avec la masse de probabilité top_p. Par conséquent, 0,1 signifie que seuls les jetons comprenant la masse de probabilité supérieure de 10 % sont considérés. Nous vous recommandons généralement de modifier top_pou temperature, mais pas les deux.
temperature float 1 Température d’échantillonnage à utiliser, entre 0 et 2. Les valeurs plus élevées signifient que les exemples de modèle sont plus larges que la distribution des jetons. Zéro signifie un échantillonnage gourmand. Nous recommandons de modifier ceci ou top_p, mais pas les deux.
n integer 1 Nombre d’achèvements à générer pour chaque invite.
Remarque : comme ce paramètre génère de nombreuses saisies semi-automatiques, il peut rapidement consommer votre quota de jetons.
stop array null Chaîne ou liste de chaînes contenant le mot où l’API cesse de générer d’autres jetons. Le texte retourné ne contient pas la séquence d’arrêt.
best_of integer 1 Génère des complétions best_of côté serveur et retourne la « meilleure » (celle avec la probabilité logarithmique la plus faible par jeton). Les résultats ne peuvent pas être diffusés en continu. Quand il est utilisé avec n, best_of contrôle le nombre de complétions candidates et n spécifie le nombre de retours ; best_of doit être supérieur à n.
Remarque : comme ce paramètre génère de nombreuses saisies semi-automatiques, il peut rapidement consommer votre quota de jetons.
logprobs integer null Un nombre indiquant d’inclure les probabilités logarithmiques sur les jetons logprobs les plus probables et les jetons choisis. Par exemple, si logprobs est égal à 10, l’API retourne une liste des 10 jetons les plus probables. L’API retourne toujours la logprob du jeton échantillonné : il peut donc y avoir jusqu’à logprobs+1 éléments dans la réponse.
presence_penalty float null Nombre compris entre -2.0 et 2.0. Les valeurs positives pénalisent les nouveaux tokens selon qu’ils apparaissent ou non dans le texte jusqu’à présent, ce qui augmente la probabilité que le modèle parle de nouveaux sujets.
ignore_eos boolean True Indique s’il faut ignorer le jeton EOS et continuer à générer des jetons après la génération du jeton EOS.
use_beam_search boolean False Indique s’il faut utiliser la recherche par faisceau au lieu de l’échantillonnage. Dans ce cas, best_of doit être supérieur à 1 et temperature doit être supérieur à 0.
stop_token_ids array null Liste des ID pour les jetons qui, lorsqu’ils sont générés, arrêtent la génération de jetons supplémentaires. La sortie retournée contient les jetons d’arrêt, sauf si les jetons d’arrêt sont des jetons spéciaux.
skip_special_tokens boolean null Indique s’il faut ignorer des jetons spéciaux dans la sortie.

L’objet messages contient les champs suivants :

Clé Type Value
content string Contenu du message. Le contenu est requis pour tous les messages.
role string Rôle de l’auteur du message. Valeurs possibles : system, user ou assistant.

Exemple

Corps

{
    "messages":
    [
        { 
        "role": "system", 
        "content": "You are a helpful assistant that translates English to Italian."},
        {
        "role": "user", 
        "content": "Translate the following sentence from English to Italian: I love programming."
        }
    ],
    "temperature": 0.8,
    "max_tokens": 512,
}

Schéma de réponse

La charge utile de réponse est un dictionnaire avec les champs suivants.

Clé Type Description
id string Identificateur unique de la saisie semi-automatique.
choices array Liste des choix d’achèvement générés pour les messages d’entrée.
created integer Horodatage Unix (en secondes) de la création de l’achèvement.
model string La model_id utilisée pour l’achèvement.
object string Le type d’objet, qui est toujours chat.completion.
usage object Statistiques d’utilisation pour la demande d’achèvement.

Conseil

En mode streaming, pour chaque segment de réponse, finish_reason est toujours null, sauf à partir du dernier qui est arrêté par une charge utile [DONE]. Dans chaque objet choices , la clé de messages est modifiée par delta.

L’objet choices est un dictionnaire avec les champs suivants.

Clé Type Description
index integer Index de choix. Quand best_of> 1, l’index de ce tableau peut ne pas être dans l’ordre, et ne pas être de 0 à n-1.
messages ou delta string La saisie semi-automatique de conversation entraîne objet messages. Lorsque le mode de diffusion en continu est utilisé, la clé delta est utilisée.
finish_reason string La raison pour laquelle le modèle a cessé de générer des jetons :
- stop : le modèle a atteint un point d’arrêt naturel ou une séquence d’arrêt fournie.
- length : si le nombre maximal de jetons a été atteint.
- content_filter : quand RAI modère et que CMP force la modération
- content_filter_error : une erreur lors de la modération, et n’a pas pu prendre de décision sur la réponse
- null : réponse de l’API toujours en cours ou incomplète.
logprobs object Probabilités de journal des jetons générés dans le texte de sortie.

L’objet usage est un dictionnaire avec les champs suivants.

Clé Type Value
prompt_tokens integer Nombre de jetons dans l’invite.
completion_tokens integer Nombre de jetons générés lors de la saisie semi-automatique.
total_tokens integer Nombre total de jetons.

L’objet logprobs est un dictionnaire avec les champs suivants :

Clé Type Value
text_offsets array de integers Position ou index de chaque jeton dans la sortie d’achèvement.
token_logprobs array de float logprobs sélectionnés dans le dictionnaire dans un tableau top_logprobs.
tokens array de string Jetons sélectionnés.
top_logprobs array de dictionary Tableau de dictionnaires. Dans chaque dictionnaire, la clé est le jeton et la valeur est la prob.

Exemple

Voici un exemple de réponse :

{
    "id": "12345678-1234-1234-1234-abcdefghijkl",
    "object": "chat.completion",
    "created": 2012359,
    "model": "",
    "choices": [
        {
            "index": 0,
            "finish_reason": "stop",
            "message": {
                "role": "assistant",
                "content": "Sure, I\'d be happy to help! The translation of ""I love programming"" from English to Italian is:\n\n""Amo la programmazione.""\n\nHere\'s a breakdown of the translation:\n\n* ""I love"" in English becomes ""Amo"" in Italian.\n* ""programming"" in English becomes ""la programmazione"" in Italian.\n\nI hope that helps! Let me know if you have any other sentences you\'d like me to translate."
            }
        }
    ],
    "usage": {
        "prompt_tokens": 10,
        "total_tokens": 40,
        "completion_tokens": 30
    }
}

Déployer des modèles Meta Llama sur un calcul managé

En plus du déploiement avec le service géré de paiement à l’utilisation, vous pouvez également déployer des modèles Meta Llama sur un calcul managé dans AI Studio. Quand le déploiement est effectué sur un calcul managé, vous pouvez sélectionner tous les détails sur l’infrastructure exécutant le modèle, y compris les machines virtuelles à utiliser et le nombre d’instances pour gérer la charge attendue. Les modèles déployés sur un calcul managé réel consomment le quota de votre abonnement. Tous les modèles de la famille Llama peuvent être déployés sur un calcul managé.

Suivez les étapes ci-dessous pour déployer un modèle tel que Llama-2-7b-chat sur un point de terminaison en temps réel dans Azure AI Studio.

  1. Choisissez le modèle à déployer dans le catalogue de modèles Azure AI Studio.

    Vous pouvez également lancer le déploiement à partir de votre projet dans AI Studio. Sélectionnez votre projet, puis sélectionnez Déploiements>+ Créer.

  2. Sur la page Détails du modèle, sélectionnez Déployer en regard du bouton Afficher la licence.

    Capture d’écran montrant comment déployer un modèle avec l’option de point de terminaison en temps réel.

  3. Dans la page Déployer avec Azure AI Sécurité du Contenu (préversion), sélectionnez Ignorer Azure AI Sécurité du Contenu pour continuer à déployer le modèle en utilisant l’interface utilisateur.

    Conseil

    En règle générale, nous vous recommandons de sélectionner Activer Azure AI Sécurité du Contenu (recommandé) pour le déploiement du modèle Llama. Cette option de déploiement est actuellement prise en charge seulement avec le SDK Python et elle s’utilise dans un notebook.

  4. Sélectionnez Continuer.

  5. Sélectionnez le projet dans lequel vous souhaitez créer un déploiement.

    Conseil

    Si vous n’avez pas suffisamment de quota disponible dans le projet sélectionné, vous pouvez utiliser l’option je souhaite utiliser le quota partagé et je reconnais que ce point de terminaison sera supprimé en 168 heures.

  6. Sélectionnez la Machine virtuelle et le Nombre d’instances que vous voulez affecter au déploiement.

  7. Sélectionnez si vous souhaitez créer ce déploiement dans le cadre d’un nouveau point de terminaison ou d’un point de terminaison existant. Les points de terminaison peuvent héberger plusieurs déploiements tout en conservant une configuration des ressources exclusive pour chacun d’eux. Les déploiements sous le même point de terminaison partagent l’URI du point de terminaison et ses clés d’accès.

  8. Indiquez si vous souhaitez activer collecte de données d’inférence (préversion).

  9. Sélectionnez Déployer. Après quelques instants, la page Détails du point de terminaison s’ouvre.

  10. Attendez la fin de la création et du déploiement du point de terminaison. Cette étape peut prendre quelques minutes.

  11. Sélectionnez l’onglet Consommer du déploiement pour obtenir des exemples de code permettant de consommer le modèle déployé dans votre application.

Consommer des modèles Llama 2 déployés sur un calcul managé

Pour obtenir des informations de référence sur l’appel de modèles Llama déployés sur un calcul managé, consultez la carte du modèle dans le catalogue de modèles Azure AI Studio. La carte de chaque modèle comporte une page de vue d’ensemble qui comprend une description du modèle, des exemples pour l’inférence basée sur du code, et l’optimisation et l’évaluation du modèle.

Autres exemples d’inférence
Package Exemple de Notebook
Utilisation de l’interface CLI avec des requêtes web CURL et Python - Command R command-r.ipynb
Utilisation de l’interface CLI avec des requêtes web CURL et Python - Command R+ command-r-plus.ipynb
Kit de développement logiciel (SDK) OpenAI (expérimental) openaisdk.ipynb
LangChain langchain.ipynb
Kit de développement logiciel (SDK) Cohere cohere-sdk.ipynb
LiteLLM SDK litellm.ipynb

Coûts et quotas

Considérations relatives aux coûts et aux quotas pour les modèles Llama déployés en tant que service

Les modèles Llama déployés en tant que service sont proposés par Meta via la Place de marché Azure et intégrés à Azure AI Studio pour une utilisation. Vous trouverez la tarification de la Place de marché Azure lors du déploiement ou de l’optimisation des modèles.

Chaque fois qu’un projet s’abonne à une offre donnée à partir de la Place de marché Azure, une nouvelle ressource est créée pour suivre les coûts associés à sa consommation. La même ressource est utilisée pour suivre les coûts associés à l’inférence et à l’optimisation ; plusieurs compteurs sont cependant disponibles pour suivre chaque scénario indépendamment.

Pour plus d’informations sur le suivi des coûts, consultez Surveiller les coûts des modèles proposés dans la Place de marché Azure.

Capture d’écran montrant différentes ressources correspondant à différentes offres de modèle et à leurs compteurs associés.

Le quota est géré par déploiement. Chaque déploiement a une limite de débit de 200 000 jetons par minute et 1 000 requêtes d’API par minute. Toutefois, nous limitons actuellement un déploiement par modèle par projet. Contactez le Support Microsoft Azure si les limites de débit actuelles ne suffisent pas pour vos scénarios.

Considérations relatives aux coûts et aux quotas pour les modèles Llama déployés en tant que calcul managé

Pour le déploiement et l’inférence des modèles Llama avec un calcul managé, vous consommez le quota de cœurs de machine virtuelle qui est affecté à votre abonnement par région. Lorsque vous vous inscrivez à Azure AI Studio, vous recevez un quota de machines virtuelles par défaut pour plusieurs familles de machines virtuelles disponibles dans la région. Vous pouvez continuer à créer des déploiements jusqu’à atteindre votre limite de quota. Une fois que vous atteignez cette limite, vous pouvez demander une augmentation du quota.

Filtrage du contenu

Les modèles déployés en tant qu’API serverless avec paiement à l’utilisation sont protégés par Azure AI Sécurité du Contenu. Quand ils sont déployés sur un calcul managé, vous pouvez ne pas accepter cette fonctionnalité. Avec Azure AI Sécurité du Contenu activé, l’invite et la complétion sont soumises à un ensemble de modèles de classification visant à détecter et à empêcher la production d’un contenu nuisible. Le système de filtrage du contenu détecte les catégories spécifiques de contenu potentiellement nuisible dans les invites d’entrée et les achèvements de sortie et prend des mesures correspondantes. En savoir plus sur Azure AI Sécurité du Contenu.

Étapes suivantes