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 :
Connectez-vous à Azure AI Studio.
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.
Dans la page Détails du modèle, sélectionnez Déployer, puis sélectionnez API serverless avec Azure AI Sécurité du Contenu.
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.
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é.
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.
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.
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.
Sélectionnez Déployer. Une fois que le déploiement est prêt, vous êtes redirigé vers la page Déploiements.
Sélectionnez Ouvrir dans le terrain de jeu pour commencer à interagir avec le modèle.
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.
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é.
Sélectionnez votre projet ou hub, puis sélectionnez Déploiements dans le menu de gauche.
Recherchez et sélectionnez le déploiement que vous avez créé.
Sélectionnez Ouvrir dans le terrain de jeu.
Sélectionnez Afficher le code, puis copiez l’URL du Point de terminaison et la valeur de la Clé.
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.
- Pour les modèles de complétions, comme
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_p ou 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_p ou 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.
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.
Sur la page Détails du modèle, sélectionnez Déployer en regard du bouton Afficher la licence.
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.
Sélectionnez Continuer.
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.
Sélectionnez la Machine virtuelle et le Nombre d’instances que vous voulez affecter au déploiement.
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.
Indiquez si vous souhaitez activer collecte de données d’inférence (préversion).
Sélectionnez Déployer. Après quelques instants, la page Détails du point de terminaison s’ouvre.
Attendez la fin de la création et du déploiement du point de terminaison. Cette étape peut prendre quelques minutes.
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.
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
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de l’année 2024, nous abandonnerons progressivement le mécanisme de retour d’information GitHub Issues pour le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultez :Soumettre et afficher des commentaires pour