Partager via


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

Dans cet article, vous allez découvrir les grands modèles de langage (LLM) Meta Llama. Vous apprenez également à utiliser Azure Machine Learning studio pour déployer des modèles à partir de cet ensemble, soit vers des API sans serveur avec une facturation à l’usage, soit vers des calculs gérés.

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

Important

Cette fonctionnalité est actuellement disponible en préversion publique. Cette préversion est fournie sans contrat de niveau de service et n’est pas recommandée pour les 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.

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 le niveau de sécurité professionnel et la conformité dont les organisations ont besoin. Cette option de déploiement ne nécessite pas de quota à partir de votre abonnement.

Les modèles Meta Llama sont déployés en tant qu’API sans serveur avec une facturation de paiement à l’usage sont proposés par Meta AI via la Place de marché Microsoft Azure, et ils pourraient ajouter d’autres conditions d’utilisation et de tarification.

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

Les modèles suivants sont disponibles sur la Place de marché pour les modèles Meta Llama lorsqu’ils sont déployés en tant qu’API sans serveur avec une facturation à la carte :

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 espace de travail Azure Machine Learning et une instance de calcul. Si vous ne les avez pas, suivez les étapes dans l’article Démarrage rapide : Créer des ressources d’espace de travail pour les créer. L’offre de modèle de déploiement d’API serverless pour Meta Llama 3-3 est uniquement disponible avec des espaces de travail créés dans ces régions :

    • USA Est
    • USA Est 2
    • Centre-Nord des États-Unis
    • États-Unis - partie centrale méridionale
    • USA Ouest
    • USA Ouest 3
    • Suède Centre

    Pour obtenir la liste des régions disponibles pour chacun des modèles prenant en charge les déploiements de points de terminaison d’API serverless, consultez Disponibilité des régions pour les modèles dans les points de terminaison d’API serverless.

  • Les contrôles d’accès en fonction du rôle Azure (Azure RBAC) sont utilisés pour accorder l’accès aux opérations dans Azure Machine Learning. 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 l’espace de travail à l’offre de la Place de marché Azure, une fois pour chaque espace de travail, 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 l’espace de travail – pour déployer des points de terminaison (le rôle Scientifique des données Azure Machine Learning a déjà ces autorisations) :

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

    Pour plus d’informations sur les autorisations, consultez Gérer l’accès à un espace de travail Azure Machine Learning.

Créer un déploiement

Pour créer un déploiement :

  1. Accédez à Azure Machine Learning Studio.

  2. Sélectionnez l’espace de travail dans lequel vous voulez 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.

  3. Choisissez le modèle que vous voulez déployer dans le catalogue de modèles.

    Vous pouvez également lancer le déploiement en accédant à votre espace de travail et en sélectionnant Points de terminaison>Points de terminaison serverless>Créer.

  4. Dans la page de présentation, sélectionnez Déployer, puis sélectionnez API serverless avec Azure AI Sécurité du Contenu.

  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 c’est la première fois que vous déployez le modèle dans l’espace de travail, vous devez abonner votre espace de travail à l’offre particulière (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 espace de travail a de son propre abonnement à l’offre particulière de la Place de marché Azure, ce qui vous permet de contrôler et de surveiller les dépenses. Sélectionnez S’abonner et se Déployer.

    Remarque

    L’abonnement d’un espace de travail à une offre particulière de la Place de marché Azure (dans ce cas, Llama-3-70B) nécessite que votre compte ait 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 l’espace de travail pour l’offre particulière de la Place de marché Azure, les déploiements suivants de la mêmeoffre dans le même espace de travail ne nécessitent pas de s’abonner à nouveau. 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. Attendez que le déploiement soit terminé : vous êtes alors redirigé vers la page des points de terminaison serverless.

  10. Sélectionnez le point de terminaison pour ouvrir sa page Détails.

  11. Sélectionnez l’onglet Test pour commencer à interagir avec le modèle.

  12. Vous pouvez également prendre note de l’URL de la Cible et de la Clé secrète pour appeler le déploiement et générer des complétions.

  13. Vous pouvez toujours trouver les détails, l’URL et les clés d’accès du point de terminaison en accédant à Espace de travail>Points de terminaison>Points de terminaison serverless.

Pour en savoir plus sur la facturation des modèles Meta Llama déployés en tant qu’API sans serveur, voir Considérations sur les coûts et les quotas pour les modèles Meta Llama déployés en tant qu’API sans serveur.

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. Dans l’espace de travail, sélectionnez Points de terminaison>Points de terminaison serverless.

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

  3. Copiez l’URL de la Cible et les valeurs de jeton de la Clé.

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

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

Les informations de référence sur les modèles Meta Llama ont déployé un API serverless

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é

Outre le déploiement avec le service géré « paiement à l’utilisation », vous pouvez également déployer des modèles Llama 3 sur des ordinateurs managés dans Azure Machine Learning 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 Meta Llama peuvent être déployés sur un calcul managé.

Créer un déploiement

Suivez ces étapes pour déployer un modèle comme Llama-3-7B-Instruct sur un point de terminaison en temps réel dans Azure Machine Learning studio.

  1. Sélectionnez l’espace de travail où vous voulez déployer le modèle.

  2. Choisissez le modèle que vous voulez déployer dans le catalogue de modèles du studio.

    Vous pouvez également lancer le déploiement en accédant à votre espace de travail et en sélectionnant Points de terminaison>Points de terminaison en temps réel>Créer.

  3. Dans la page de présentation, sélectionnez Déployer, puis sélectionnez Calcul managé avec Azure AI Sécurité du Contenu.

  4. 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 Meta Llama. Cette option de déploiement est actuellement prise en charge seulement avec le SDK Python et elle s’utilise dans un notebook.

  5. Sélectionnez Continuer.

    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. Indiquez si vous voulez activer Empaqueter un modèle (préversion).

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

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

  12. Sélectionnez la page Consommer du point de terminaison pour obtenir des exemples de code que vous pouvez utiliser pour consommer le modèle déployé dans votre application.

Pour plus d’informations sur la manière de déployer des modèles vers le calcul managé à l’aide du studio, voir Déployer des modèles de fondation vers des points de terminaison pour l’inférence.

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

Pour obtenir des informations de référence sur l’appel de modèles Meta Llama 3 déployés sur des points de terminaison en temps réel, consultez la carte du modèle dans le catalogue de modèles d’Azure Machine Learning 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.

Exemples d’inférence additionnels

Package Exemple de Notebook
Kit de développement logiciel (SDK) OpenAI (expérimental) openaisdk.ipynb
LangChain langchain.ipynb
WebRequests webrequests.ipynb
LiteLLM SDK litellm.ipynb

Coûts et quotas

Considérations relatives aux coûts et aux quotas pour les modèles Meta Llama 3 déployés en tant qu’API serverless

Les modèles Meta Llama déployés en tant qu’API serverless sont proposés par Meta via la Place de marché Azure et sont intégrés à Azure Machine Learning studio pour pouvoir y être utilisés. 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 espace de travail s’abonne à une offre de modèle donnée provenant 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 via 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.

Les considérations relatives aux coûts et aux quotas pour les modèles Meta Llama ont déployé en le calcul managé

Pour le déploiement et l’inférence des modèles Meta Llama avec un calcul managé, vous consommez le quota de cœurs de machine virtuelle qui est affecté à votre abonnement par région. Quand vous vous inscrivez à Azure Machine Learning 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 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.