Contrôler les coûts à l'aide de quotas de jetons

Ce document explique comment définir et gérer les limites quotidiennes du nombre de jetons d'entrée et de sortie consommés par les fonctions d'IA générative.

Les fonctions d'IA générative de BigQuery utilisent des grands modèles de langage (LLM) pour effectuer des analyses avancées dans vos requêtes SQL. Étant donné que l'utilisation des LLM est généralement facturée en fonction du nombre de jetons traités, BigQuery fournit des quotas de jetons pour vous aider à gérer et à contrôler les coûts associés à l'utilisation de ces fonctions.

Les quotas de jetons s'appliquent aux fonctions SQL BigQuery conçues pour toutes les tâches d'inférence d'IA générative qui utilisent des LLM Gemini, telles que les fonctions AI.CLASSIFY et AI.GENERATE.

Détails des quotas

BigQuery fournit les quotas quotidiens suivants en fonction de l'utilisation des jetons LLM. L'utilisation des jetons est directement corrélée à la facturation Vertex AI pour les fonctions d'IA générative BigQuery qui utilisent des modèles Gemini. Ces quotas sont suivis globalement dans toutes les régions.

Ces quotas de jetons régissent le nombre de jetons d'entrée et de sortie traités par les LLM pour les fonctions d'IA générative :

  • Jetons d'entrée : jetons envoyés au modèle pour traitement. Cela inclut les jetons dans le texte du prompt et toutes les autres données fournies au modèle en entrée.
  • Jetons de sortie : jetons générés par le modèle dans sa réponse. Cela inclut les jetons dans le texte généré (jetons candidats) et les jetons générés lors des étapes de raisonnement internes (jetons de pensée).
Nom du quota Métrique Scope (Portée) Valeur par défaut
GenAiInputTokensPerDay Jetons d'entrée utilisés par le LLM Par jour et par projet 200 000 000 000
GenAiInputTokensPerUserPerDay Jetons d'entrée utilisés par le LLM Par jour et par utilisateur 40 000 000 000
GenAiOutputTokensPerDay Jetons de sortie et de pensée utilisés par le LLM Par jour et par projet 20 000 000 000
GenAiOutputTokensPerUserPerDay Jetons de sortie et de pensée utilisés par le LLM Par jour et par utilisateur 4 000 000 000

Ces quotas sont suivis par incréments de millions de jetons. Bien que vous puissiez définir des limites précises, les valeurs inférieures à quelques millions de jetons peuvent ne pas être reflétées avec une précision parfaite en raison de la nature des rapports et de l'agrégation des jetons.

Les jetons mis en cache ne sont pas comptabilisés dans les quotas.

Gérer les quotas

Selon l'utilisation de vos ressources, vous pouvez afficher ou ajuster les valeurs de votre quota de jetons à la hausse ou à la baisse. Vous pouvez utiliser la Google Cloud console pour effectuer ces tâches :

  1. Dans la Google Cloud console, accédez à la page IAM et administration > Quotas et limites du système.

    Accéder à la page Quotas et limites du système

  2. Filtrez les quotas en saisissant Service: BigQuery API.

  3. Recherchez un quota spécifique dans la liste des quotas (par exemple, recherchez GenAiInputTokensPerDay).

  4. Cliquez sur Modifier.

  5. Augmentez ou diminuez le quota dans le volet Modifications de quota en saisissant une nouvelle valeur.

  6. Cliquez sur Envoyer la requête.

Comportement d'application des quotas

BigQuery surveille votre consommation de jetons à plusieurs étapes de l'exécution des requêtes :

  • Vérification avant l'exécution : BigQuery vérifie le quota de jetons disponible avant d'exécuter une requête contenant des fonctions d'IA générative. Si le quota pertinent (par exemple, les jetons d'entrée quotidiens du projet) est déjà épuisé, la requête est rejetée avec une erreur QuotaExceeded.
  • Pendant l'exécution : si une requête est en cours d'exécution et consomme des jetons de sorte qu'elle épuise l'un des quotas configurés (entrée ou sortie, par projet ou par utilisateur), les nouveaux appels LLM de cette requête sont rejetés.
    • Toutes les lignes restantes qui dépendent des appels LLM rencontrent une erreur d'épuisement du quota.
    • Le résultat de la requête dépend de l'argument max_error_ratio s'il est utilisé dans des fonctions telles que AI.IF. Si le taux d'erreur reste dans la limite autorisée, des résultats partiels peuvent être renvoyés. Sinon, l'ensemble de la requête échoue.
    • Les requêtes suivantes qui tentent d'utiliser des fonctions d'IA générative échouent avec une erreur QuotaExceeded jusqu'à la réinitialisation du quota quotidien.

Remarques importantes

  • Quotas mondiaux : les quotas définis sont mondiaux. L'utilisation des jetons est agrégée dans toutes les régions où votre projet fonctionne, ce qui fournit un mécanisme unifié de contrôle des coûts. Cela évite les frais inattendus liés à l'utilisation dans différentes régions.
  • Débit provisionné : si vous utilisez des modèles Vertex AI avec un débit provisionné, la facturation n'est pas basée sur l'utilisation des jetons. Vous devez définir ces quotas de jetons BigQuery sur une valeur élevée pour éviter de bloquer inutilement vos requêtes.

Étape suivante