Modèles Llama


Les modèles Llama sur Vertex AI offrent des modèles entièrement gérés et sans serveur en tant qu'API. Pour utiliser un modèle Llama sur Vertex AI, envoyez une requête directement au point de terminaison de l'API Vertex AI. Étant donné que les modèles Llama utilisent une API gérée, il n'est pas nécessaire de provisionner ou de gérer l'infrastructure.

Vous pouvez diffuser vos réponses en flux continu pour réduire la perception de la latence côté utilisateur. Une réponse en flux continu utilise des événements envoyés par le serveur (SSE) pour diffuser la réponse de manière incrémentielle.

Aucuns frais ne sont facturés pendant la période de preview. Si vous avez besoin d'un service prêt pour la production, utilisez les modèles Llama auto-hébergés.

Modèles Llama 3.1 disponibles

Llama 3.1 est un modèle de langage autorégressif qui utilise une architecture de transformateur optimisée. Les versions réglées utilisent le réglage supervisé (SFT) et l'apprentissage par renforcement qui utilise le feedback humain (RLHF) afin de s'aligner sur les préférences humaines pour l'utilité et la sécurité.

Les modèles Llama suivants sont disponibles depuis Meta et peuvent être utilisés dans Vertex AI. Pour accéder à un modèle Llama, accédez à la fiche de modèle Model Garden.

Llama 3.1 405B

Llama 3.1 405B est le modèle le plus puissant et polyvalent de Meta à ce jour. Il s'agit du plus grand modèle de fondation disponible publiquement. Il offre des fonctionnalités allant de la génération de données synthétiques à la distillation de modèles, la maniabilité, les calculs, l'utilisation d'outils, la traduction multilingue, etc. Pour en savoir plus, consultez le site Llama 3.1 de Meta.

Llama 3.1 405B est optimisé pour les cas d'utilisation suivants :

  • Applications en entreprise
  • Recherche et développement
  • Génération de données synthétiques et distillation de modèle
Accéder à la fiche de modèle Llama 3.1 405B

Utiliser des modèles Llama

Lorsque vous envoyez des requêtes d'utilisation des modèles de Llama, utilisez les noms de modèles suivants :

  • Pour Llama 3.1 405B, utilisez llama3-405b-instruct-maas.
  • Pour Llama 3.1 70B, utilisez llama3-70b-instruct-maas.
  • Pour Llama 3.1 8B, utilisez llama3-8b-instruct-maas.

Nous vous recommandons d'utiliser les versions de modèle qui incluent un suffixe commençant par le symbole @, en raison des différences possibles entre les versions de modèle. Si vous ne spécifiez pas de version de modèle, la dernière version est toujours utilisée, ce qui peut affecter vos workflows de manière imprévue lorsqu'une version de modèle change.

Avant de commencer

Pour utiliser des modèles Llama avec Vertex AI, procédez comme suit. Vous devez activer l'API Vertex AI (aiplatform.googleapis.com) pour pouvoir utiliser Vertex AI. Si vous disposez déjà d'un projet pour lequel l'API Vertex AI est activée, vous pouvez utiliser ce projet au lieu de créer un projet.

Assurez-vous de disposer des autorisations requises pour activer et utiliser des modèles partenaires. Pour en savoir plus, consultez la section Accorder les autorisations requises.

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Vertex AI API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Vertex AI API.

    Enable the API

  8. Go to one of the following Model Garden model cards, then click enable:

Effectuer un appel en flux continu à un modèle Llama

L'exemple suivant effectue un appel en flux continu à un modèle Llama.

REST

Une fois que vous avez configuré votre environnement, vous pouvez utiliser REST pour tester une requête textuelle. L'exemple suivant envoie une requête au point de terminaison du modèle de l'éditeur.

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • LOCATION : région compatible avec les modèles Llama.
  • MODEL : nom du modèle que vous souhaitez utiliser.
  • ROLE : rôle associé à un message. Vous pouvez spécifier user ou assistant. Le premier message doit utiliser le rôle user. Les modèles fonctionnent avec des tours user et assistant alternés. Si le message final utilise le rôle assistant, le contenu de la réponse continue immédiatement à partir du contenu de ce message. Cela vous permet de limiter une partie de la réponse du modèle.
  • CONTENT : contenu, tel que le texte, du message user ou assistant.
  • MAX_OUTPUT_TOKENS : nombre maximal de jetons pouvant être générés dans la réponse. Un jeton correspond environ à quatre caractères. 100 jetons correspondent à environ 60-80 mots.

    Spécifiez une valeur inférieure pour obtenir des réponses plus courtes et une valeur supérieure pour des réponses potentiellement plus longues.

  • STREAM : valeur booléenne qui spécifie si la réponse est diffusée ou non. Diffusez votre réponse en flux continu pour réduire la perception de la latence d'utilisation finale. Définissez la valeur sur true pour diffuser la réponse et sur false pour la renvoyer simultanément.
  • ENABLE_LLAMA_GUARD : valeur booléenne qui indique si Llama Guard doit être activé sur vos entrées et sorties. Par défaut, Llama Guard est activé et signale les réponses si elles sont jugées non sécurisées.

Méthode HTTP et URL :

POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions

Corps JSON de la requête :

{
  "model": "meta/MODEL",
  "messages": [
    {
      "role": "ROLE",
      "content": "CONTENT"
    }
  ],
  "max_tokens": MAX_OUTPUT_TOKENS,
  "stream": true,
  "extra_body": {
    "google": {
      "model_safety_settings": {
        "enabled": ENABLE_LLAMA_GUARD,
        "llama_guard_settings": {}
      }
    }
  }
}

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions"

PowerShell

Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions" | Select-Object -Expand Content

Vous devriez recevoir une réponse JSON semblable à la suivante.

Effectuer un appel unaire à un modèle Llama

L'exemple suivant effectue un appel unaire à un modèle Llama.

REST

Une fois que vous avez configuré votre environnement, vous pouvez utiliser REST pour tester une requête textuelle. L'exemple suivant envoie une requête au point de terminaison du modèle de l'éditeur.

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • LOCATION : région compatible avec les modèles Llama.
  • MODEL : nom du modèle que vous souhaitez utiliser.
  • ROLE : rôle associé à un message. Vous pouvez spécifier user ou assistant. Le premier message doit utiliser le rôle user. Les modèles fonctionnent avec des tours user et assistant alternés. Si le message final utilise le rôle assistant, le contenu de la réponse continue immédiatement à partir du contenu de ce message. Cela vous permet de limiter une partie de la réponse du modèle.
  • CONTENT : contenu, tel que le texte, du message user ou assistant.
  • MAX_OUTPUT_TOKENS : nombre maximal de jetons pouvant être générés dans la réponse. Un jeton correspond environ à quatre caractères. 100 jetons correspondent à environ 60-80 mots.

    Spécifiez une valeur inférieure pour obtenir des réponses plus courtes et une valeur supérieure pour des réponses potentiellement plus longues.

  • STREAM : valeur booléenne qui spécifie si la réponse est diffusée ou non. Diffusez votre réponse en flux continu pour réduire la perception de la latence d'utilisation finale. Définissez la valeur sur true pour diffuser la réponse et sur false pour la renvoyer simultanément.
  • ENABLE_LLAMA_GUARD : valeur booléenne qui indique si Llama Guard doit être activé sur vos entrées et sorties. Par défaut, Llama Guard est activé et signale les réponses si elles sont jugées non sécurisées.

Méthode HTTP et URL :

POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions

Corps JSON de la requête :

{
  "model": "meta/MODEL",
  "messages": [
    {
      "role": "ROLE",
      "content": "CONTENT"
    }
  ],
  "max_tokens": MAX_OUTPUT_TOKENS,
  "stream": false,
  "extra_body": {
    "google": {
      "model_safety_settings": {
        "enabled": ENABLE_LLAMA_GUARD,
        "llama_guard_settings": {}
      }
    }
  }
}

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions"

PowerShell

Enregistrez le corps de la requête dans un fichier nommé request.json, puis exécutez la commande suivante :

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions" | Select-Object -Expand Content

Vous devriez recevoir une réponse JSON semblable à la suivante.

Réponses signalées

Par défaut, Llama Guard est activé pour toutes les prédictions que vous faites avec des modèles Llama. Llama Guard permet de protéger les réponses en vérifiant les entrées et les sorties. Si Llama Guard détermine qu'elles ne sont pas sûres, il signale la réponse.

Si vous souhaitez désactiver Llama Guard, modifiez le paramètre de sécurité du modèle. Pour en savoir plus, consultez le champ model_safety_settings dans l'exemple d'appels en streaming ou d'appels unaires.

Disponibilité et quotas des régions d'un modèle Llama

Pour les modèles Llama, un quota s'applique à chaque région dans laquelle le modèle est disponible. Le quota est spécifié en requêtes par minute (RPM).

Les régions compatibles, les quotas par défaut et la longueur maximale de contexte pour chaque modèle Llama sont regroupés dans les tableaux suivants :

Llama 3.1 405B

Région Système de quotas Longueur de contexte compatible
us-central1 60 RPM 32 000 jetons

Llama 3.1 70B

Région Système de quotas Longueur de contexte compatible
us-central1 60 RPM 32 000 jetons

Llama 3.1 8B

Région Système de quotas Longueur de contexte compatible
us-central1 60 RPM 32 000 jetons

Si vous souhaitez augmenter vos quotas pour l'IA générative sur Vertex AI, vous pouvez en faire la demande via la console Google Cloud. Pour en savoir plus sur les quotas, consultez la page Utiliser des quotas.