Inférence par lot avec Gemini

Obtenez une inférence asynchrone, à haut débit et économique pour vos besoins de traitement de données à grande échelle grâce à l'inférence par lot de Gemini (anciennement appelée "prédiction par lot"). Ce guide vous présente l'intérêt de l'inférence par lot, son fonctionnement, ses limites et les bonnes pratiques pour obtenir des résultats optimaux.

Pourquoi utiliser l'inférence par lot ?

Dans de nombreux scénarios réels, vous n'avez pas besoin d'une réponse immédiate d'un modèle de langage. Vous pouvez plutôt disposer d'un grand ensemble de données de requêtes que vous devez traiter de manière efficace et abordable. C'est là que l'inférence par lot se démarque.

Principaux avantages :

  • Rentabilité : le traitement par lot est proposé à un tarif réduit de 50% par rapport à l'inférence en temps réel, ce qui le rend idéal pour les tâches non urgentes à grande échelle. La mise en cache implicite est activée par défaut pour les modèles Gemini 2.5 et Gemini 3. La mise en cache implicite offre une remise de 90% sur les jetons mis en cache par rapport aux jetons d'entrée standards. Toutefois, les remises pour le cache et les requêtes par lot ne se cumulent pas. La remise de 90% succès de cache (hit) prévaut sur la remise par lot.
  • Limites de débit élevées : traitez des centaines de milliers de requêtes dans un seul lot avec une limite de débit plus élevée que l'API Gemini en temps réel.
  • Workflow simplifié : au lieu de gérer un pipeline complexe de requêtes individuelles en temps réel, vous pouvez envoyer un seul job par lot et récupérer les résultats une fois le traitement terminé. Le service gère la validation du format, parallélise les requêtes pour un traitement simultané et effectue automatiquement de nouvelles tentatives pour s'efforcer d'obtenir un taux d'achèvement élevé avec un délai d'exécution de 24 heures.

L'inférence par lot est optimisée pour les tâches de traitement à grande échelle, telles que :

  • Génération de contenu : générez des descriptions de produits, des posts sur les réseaux sociaux ou d'autres textes créatifs de manière groupée.
  • Annotation et classification des données : classifiez les avis des utilisateurs, catégorisez les documents ou effectuez une analyse des sentiments sur un grand corpus de texte.
  • Analyse hors connexion : résumez des articles, extrayez des informations clés de rapports ou traduisez des documents à grande échelle.
  • Génération d'embeddings : générez des embeddings vectoriels pour un grand corpus de documents afin d'alimenter les charges de travail de recherche sémantique, de récupération et de clustering.

Modèles Gemini compatibles avec l'inférence par lots

Les modèles Gemini de base et réglés suivants sont compatibles avec l'inférence par lots :

Cliquez pour développer la liste des modèles compatibles

Modèles d'embeddings compatibles avec l'inférence par lots

L'inférence par lot est également disponible pour les modèles d'embedding :

  • Modèles d'embedding Gemini (preview) : gemini-embedding-001 et gemini-embedding-2. Chaque job par lot accepte jusqu'à 1 000 000 de lignes, et chaque projet accepte jusqu'à 10 000 jobs par lot simultanés dans la file d'attente.
  • Anciens modèles d'embeddings textuels : toutes les versions stables, y compris text-embedding-004, text-embedding-005 et text-multilingual-embedding-002. Chaque requête peut inclure jusqu'à 30 000 requêtes.

Les jobs par lot d'embedding utilisent un schéma d'entrée et de sortie différent de celui des jobs par lot de génération de texte Gemini, et les limites de requêtes indiquées dans Quotas et limites ne s'appliquent pas à eux. Pour connaître le schéma JSONL requis, les options de configuration par modèle et des exemples, consultez Obtenir des inférences d'embeddings par lot.

Compatibilité avec les modèles de points de terminaison mondiaux

L'inférence par lots est compatible avec l'utilisation du point de terminaison global pour les modèles Gemini de base. Il n'est pas compatible avec le point de terminaison global pour les modèles Gemini réglés.

Le point de terminaison global permet d'améliorer la disponibilité générale en diffusant vos requêtes depuis n'importe quelle région compatible avec le modèle que vous utilisez. Notez qu'il n'est pas compatible avec les exigences de résidence des données. Si vous avez des exigences de résidence des données, utilisez les points de terminaison régionaux.

Quotas et limites

Bien que l'inférence par lot soit puissante, il est important de connaître les limites suivantes.

  • Quota : aucune limite de quota prédéfinie n'est appliquée à votre utilisation. Au lieu de cela, le service par lot donne accès à un grand pool de ressources partagé, alloué de manière dynamique en fonction de la disponibilité des ressources et de la demande en temps réel de tous les clients de ce modèle. Lorsque davantage de clients sont actifs et que notre capacité est saturée, vos requêtes par lot peuvent être mises en file d'attente.
  • Temps d'attente : lorsque notre service est soumis à un trafic élevé, votre job par lot est mis en file d'attente pour la capacité. Le job reste dans la file d'attente pendant 72 heures maximum avant d'expirer.
  • Limites de requêtes : un seul job par lot peut inclure jusqu'à 200 000 requêtes. Si vous utilisez Cloud Storage comme entrée, la taille des fichiers est également limitée à 1 Go. Les modèles d'embedding ont des limites de requêtes différentes. Pour en savoir plus, consultez Modèles d'embedding compatibles avec l'inférence par lot.
  • Temps de traitement : les jobs par lot sont traités de manière asynchrone et ne sont pas conçus pour les applications en temps réel. La plupart des jobs se terminent dans les 24 heures suivant leur démarrage (sans compter le temps d'attente). Après 24 heures, les jobs incomplets sont annulés et seules les requêtes terminées vous sont facturées.
  • Jobs annulés : vous pouvez annuler des jobs d'inférence par lot à tout moment. Lorsque vous annulez un job, tout travail restant est annulé et tout travail déjà terminé est renvoyé. Seul le travail effectué vous sera facturé.
  • Fonctionnalités non compatibles : l'inférence par lot n'est pas compatible avec le débit provisionné, la mise en cache explicite ou le RAG. La mise en cache implicite de l'inférence par lots n'est pas compatible avec Gemini 2.0 Flash ni Gemini 2.0 Flash-Lite.
  • Sortie d'image : l'inférence par lot est limitée à la résolution par défaut de 1K. Les sorties 2K et 4K ne sont pas acceptées.

Bonnes pratiques

Pour tirer le meilleur parti de l'inférence par lot avec Gemini, nous vous recommandons de suivre les bonnes pratiques suivantes :

  • Combiner des jobs : pour maximiser le débit, combinez des jobs plus petits en un seul job plus volumineux, dans les limites du système. Par exemple, l'envoi d'un job par lot avec 200 000 requêtes offre un meilleur débit que 1 000 jobs avec 200 requêtes chacun. Évitez les jobs comportant moins de 1 000 requêtes, car les frais fixes par job occupent la majeure partie de leur temps d'exécution.
  • Surveiller l'état du job : vous pouvez surveiller la progression du job à l'aide de l'API, du SDK ou de l'interface utilisateur. Pour en savoir plus, consultez Surveiller l'état du job. Si un job échoue, consultez les messages d'erreur pour diagnostiquer et résoudre le problème.
  • Optimiser les coûts : profitez des économies offertes par le traitement par lot pour toutes les tâches qui ne nécessitent pas de réponse immédiate.

Étapes suivantes