Contrôler les coûts avec des quotas de jetons

Ce document explique comment définir et gérer des limites quotidiennes sur le 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 BigQuery SQL conçues pour les tâches d'inférence d'IA générative qui utilisent les LLM Gemini, comme les fonctions AI.CLASSIFY et AI.GENERATE_TEXT. Les quotas de jetons ne s'appliquent pas aux fonctions de génération d'embeddings et de recherche sémantique, telles que AI.EMBED, qui ont des structures de facturation différentes.

Détails des quotas

BigQuery fournit les quotas quotidiens suivants en fonction de l'utilisation des jetons LLM. L'utilisation de jetons est directement corrélée à votre facturation Vertex AI pour les fonctions d'IA générative BigQuery qui utilisent les modèles Gemini. Ces quotas sont suivis à l'échelle mondiale 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 de la requête 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 réflexion).

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 150 000 000 000
GenAiOutputTokensPerDay Jetons de sortie et de réflexion utilisés par le LLM Par jour et par projet 20 000 000 000
GenAiOutputTokensPerUserPerDay Jetons de sortie et de réflexion utilisés par le LLM Par jour et par utilisateur 15 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 quota de jetons à la hausse ou à la baisse. Vous pouvez utiliser la console Google Cloud pour effectuer les tâches suivantes :

  1. Dans la console Google Cloud , 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 disponibles avant d'exécuter une requête contenant des fonctions d'IA générative. Si le quota concerné (par exemple, les jetons d'entrée quotidiens du projet) est déjà épuisé, la requête est refusée et une erreur QuotaExceeded s'affiche.
  • Pendant l'exécution : si une requête est en cours d'exécution et consomme des jetons au point d'épuiser l'un des quotas configurés (d'entrée ou de sortie, par projet ou par utilisateur), les nouveaux appels LLM de cette requête sont refusés.
    • Toutes les lignes restantes qui dépendent des appels LLM génèrent une erreur de dépassement de 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 ultérieures qui tentent d'utiliser des fonctions d'IA générative échoueront et généreront une erreur QuotaExceeded jusqu'à ce que le quota quotidien soit réinitialisé.

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 permet d'éviter les frais inattendus liés à l'utilisation dans différentes régions.
  • Débit provisionné : si vous utilisez des modèles Gemini Enterprise Agent Platform avec un débit provisionné, la facturation n'est pas basée sur l'utilisation de jetons. Vous devez définir ces quotas de jetons BigQuery sur une valeur élevée pour éviter de bloquer inutilement vos requêtes.

Étapes suivantes