Contexte long

Gemini 1.5 Flash est fourni en standard avec une fenêtre de contexte d'un million de jetons. Gemini 1.5 Pro est fourni avec une fenêtre de contexte de deux millions de jetons. Auparavant, les grands modèles de langage (LLM) étaient considérablement limités par la quantité de texte (ou de jetons) pouvant être transmise au modèle en même temps. Gemini 1.5 (long) de contexte, avec une extraction presque parfaite (> 99%), offre de nombreux nouveaux cas d'utilisation et paradigmes de développement.

Le code que vous utilisez déjà pour des cas tels que du texte génération ou multimodal d'entrée fonctionnent immédiatement avec un contexte long.

Tout au long de ce guide, vous découvrirez brièvement les principes de base de la fenêtre de contexte, comment les développeurs doivent envisager le contexte long, divers cas d'utilisation réels pour le contexte long et les moyens d'optimiser l'utilisation de ce type de contexte.

Qu'est-ce qu'une fenêtre de contexte ?

La manière de base d'utilisation des modèles Gemini 1.5 consiste à transmettre des informations (contexte) au modèle, qui générera ensuite une réponse. Une analogie pour cette fenêtre de contexte est la mémoire à court terme. Une quantité limitée d'informations peut être stockée dans la mémoire à court terme d'une personne, et il en va de même pour les modèles génératifs.

Pour en savoir plus sur le fonctionnement des modèles, consultez nos modèles génératifs guide de démarrage.

Premiers pas avec un contexte long

La plupart des modèles génératifs créés au cours des dernières années ne pouvaient traiter que 8 000 jetons à la fois. Les modèles plus récents ont permis d'aller plus loin en acceptant 32 000 jetons ou 128 000 jetons. Gemini 1.5 est le premier modèle capable de qui accepte 1 million de jetons, et maintenant 2 millions de jetons avec Gemini 1.5 Pro.

En pratique, 1 million de jetons ressemblerait à ceci :

  • 50 000 lignes de code (avec 80 caractères par ligne)
  • Tous les SMS que vous avez envoyés au cours des 5 dernières années
  • 8 romans anglais de durée moyenne
  • Transcriptions de plus de 200 épisodes de podcast de durée moyenne

Même si les modèles peuvent intégrer de plus en plus de contexte, une grande partie des connaissances conventionnelles sur l'utilisation de grands modèles de langage suppose cette limitation inhérente au modèle, ce qui n'est plus le cas depuis 2024.

Voici quelques stratégies courantes permettant de gérer la limitation des petites fenêtres de contexte :

  • Supprimer arbitrairement les anciens messages/textes de la fenêtre de contexte à mesure que de nouveaux textes arrivent
  • Résumer le contenu précédent et le remplacer par le résumé lorsque la fenêtre de contexte est sur le point d'être pleine
  • Utiliser l'approche RAG avec la recherche sémantique pour transférer des données hors de la fenêtre de contexte et vers une base de données vectorielle
  • Utiliser des filtres déterministes ou génératifs pour supprimer certains textes / caractères utilisés dans les requêtes pour enregistrer des jetons

Bien que beaucoup de ces méthodes restent pertinentes dans certains cas, le point de départ par défaut consiste à placer tous les jetons dans la fenêtre de contexte. Étant donné que les modèles Gemini 1.5 ont été conçus avec une grande fenêtre de contexte, ils sont beaucoup plus capables de procéder à l'apprentissage en contexte. Par exemple, si vous n'utilisez que des ressources pédagogiques aux supports (une grammaire de référence de 500 pages, un dictionnaire et environ 400 parallélisés supplémentaires phrases) sont fournis en contexte, Gemini 1.5 Pro et Gemini 1.5 Flash sont est capable d'apprendre à traduire de l'anglais au kalamang, une langue papouaise comptant moins de 200 locuteurs et Il n'y a donc quasiment aucune présence en ligne, et la qualité est semblable à celle d'une personne qui a appris à partir des mêmes matériaux.

Cet exemple montre comment commencer à réfléchir à ce qu'il est possible de faire avec un contexte long et les fonctionnalités d'apprentissage en contexte de Gemini 1.5.

Cas d'utilisation de contextes longs

Bien que le cas d'utilisation standard pour la plupart des modèles génératifs reste l'entrée textuelle, la famille de modèles Gemini 1.5 permet un nouveau paradigme de cas d'utilisation multimodaux. Ces peuvent comprendre de manière native du texte, de la vidéo, de l'audio et des images. Il s'agit accompagnée de l'API Gemini, qui accepte des fichiers multimodaux des types d'annonces pour pratique.

Texte long

Le texte s'est avéré être la couche d'intelligence qui sous-tend une grande partie de l'essor autour des LLM. Comme indiqué précédemment, la plupart des limites pratiques des LLM étaient dues à l'absence d'une fenêtre de contexte suffisamment grande pour effectuer certaines tâches. Cela a conduit à l'adoption rapide de la génération augmentée par récupération (RAG) et d'autres techniques qui fournissent au modèle des informations contextuelles pertinentes de manière dynamique. Désormais, avec des fenêtres de contexte de plus en plus grandes (actuellement, (jusqu'à 2 millions sur Gemini 1.5 Pro), de nouvelles techniques sont disponibles. qui débloquent de nouveaux cas d'utilisation.

Voici quelques cas d'utilisation émergents et standards du contexte long basé sur du texte :

  • Résumer de grands corpus de textes <ph type="x-smartling-placeholder">
      </ph>
    • Les options de synthèse précédentes avec des modèles de contexte plus petits nécessiteraient une fenêtre glissante ou une autre technique permettant de conserver l'état des sections précédentes à mesure que de nouveaux jetons sont transmis au modèle
  • Questions et réponses <ph type="x-smartling-placeholder">
      </ph>
    • Auparavant, cela n'était possible qu'avec l'approche RAG, en raison de la quantité limitée de contexte et du faible rappel factuel des modèles.
  • Workflows d'agents
    • Le texte est essentiel pour que les agents conservent un état de ce qu'ils ont accompli et de ce qu'ils doivent faire. Un manque d'informations sur le monde et sur les objectifs des agents limite leur fiabilité.

L'apprentissage en contexte "multi-shot" est l'une des fonctionnalités les plus remarquables offertes par les modèles de contexte longs. Les recherches ont montré que l'utilisation du paradigme commun "one-shot" ou "multi-shot", où le modèle reçoit un ou plusieurs exemples d'une tâche, et les fait évoluer jusqu'à des centaines, des milliers, voire des centaines de milliers d'exemples, peut entraîner de nouvelles capacités pour le modèle. Cette approche "multi-shot" a également montré des performances comparables à celles des modèles qui ont été affinés pour une tâche spécifique. Pour les cas d'utilisation où les performances d'un modèle Gemini ne sont pas encore suffisantes pour un déploiement en production, vous pouvez essayer l'approche "multi-shot". Comme vous pourrez le découvrir plus tard dans la section sur l'optimisation du contexte long, la mise en cache de contexte rend ce type de charge de travail à jetons d'entrée élevés beaucoup plus économique et avec une latence encore plus faible dans certains cas.

Vidéo longue

L'utilité du contenu vidéo a longtemps été limitée par le manque d'accessibilité du support lui-même. Il était difficile de parcourir le contenu, les transcriptions ne parviennent souvent pas à capturer les nuances d'une vidéo, et la plupart des outils ne traitent pas les images, le texte et l'audio simultanément. Avec Gemini 1.5, les fonctionnalités textuelles à contexte long se traduisent par la capacité à raisonner et à répondre aux questions sur les entrées multimodales avec des performances soutenues. Flash Gemini 1.5, lorsqu'il est testé sur l'aiguille dans une vidéo problème de botte de foin avec 1 million de jetons, avec un rappel de plus de 99,8% de la vidéo dans le de contexte, et 1,5 Pro a atteint des performances optimales Analyse comparative vidéo-MME.

Voici quelques cas d'utilisation émergents et standards du contexte long basé sur de la vidéo :

  • Questions et réponses sur la vidéo
  • Mémoire vidéo, telle qu'illustrée avec le projet Google Astra
  • Sous-titrage vidéo
  • Systèmes de recommandation vidéo, en enrichissant les métadonnées existantes grâce à une nouvelle compréhension multimodale
  • Personnalisation des vidéos, en examinant un corpus de données et des métadonnées vidéo associées, puis en supprimant les parties des vidéos qui ne sont pas pertinentes pour le lecteur
  • Modération de contenu vidéo
  • Traitement vidéo en temps réel

Lorsque vous travaillez avec des vidéos, il est important de tenir compte de la façon dont elles sont traités en jetons, ce qui affecte la facturation et les limites d'utilisation. Pour en savoir plus sur l'envoi de requêtes avec des fichiers vidéo, consultez la page Invite guide de démarrage.

Audio long

Les modèles Gemini 1.5 étaient les premiers grands modèles de langage multimodaux natifs pouvant comprendre du contenu audio. Auparavant, le workflow de développeur classique impliquait l'association de plusieurs modèles spécifiques à un domaine, tels qu'un modèle de reconnaissance vocale et un modèle texte-vers-texte, afin de traiter le contenu audio. Cela entraînait une latence supplémentaire en raison des multiples requêtes aller-retour nécessaires, et une baisse des performances, généralement attribuée aux architectures déconnectées de la configuration à plusieurs modèles.

Pour les évaluations standards de type "meule de foin" audio, Gemini 1.5 Pro peut trouver ont caché l'audio dans 100% des tests, et Gemini 1.5 Flash le trouve 98,7% des tests. Gemini 1.5 Flash accepte jusqu'à 9,5 heures d'audio en une seule fois requête et Gemini 1.5 Pro peut accepter jusqu'à 19 heures d'audio à l'aide d'un jeton de 2 millions de jetons dans la fenêtre de contexte. De plus, sur un ensemble de test de clips audio de 15 minutes, Gemini 1.5 Pro archive un taux d'erreur sur les mots (WER) d'environ 5,5%, bien inférieur à celui des mots de reconnaissance vocale, sans la complexité supplémentaire liée à la segmentation supplémentaire des entrées et le prétraitement.

Voici quelques cas d'utilisation émergents et standards du contexte audio :

  • Transcription et traduction en temps réel
  • Questions et réponses sur un podcast/une vidéo
  • Transcription et synthèse de réunions
  • Assistants vocaux

Pour en savoir plus sur les invites avec des fichiers audio, consultez la section Requêtes guide de démarrage.

Optimisations de contextes longs

La principale optimisation lorsque vous travaillez avec un contexte long et la version 1.5 de Gemini consiste à utiliser le contexte mise en cache. Au-delà de l'impossibilité de traiter de nombreux jetons dans une seule requête auparavant, l'autre contrainte principale était le coût. Si vous disposez d'une application de type "discuter avec vos données" où un utilisateur importe 10 fichiers PDF, une vidéo et des documents de travail, vous auriez dû utiliser un outil/framework de génération augmentée par récupération (RAG) plus complexe afin de traiter ces requêtes et de payer un montant important pour les jetons déplacés dans la fenêtre de contexte. Maintenant, vous pouvez mettre en cache les fichiers que l'utilisateur les importations et les frais de stockage à l'heure. Le coût d'entrée / de sortie par requête avec Gemini 1,5 Flash par exemple est environ 4 fois moins cher que le coût d'entrée / sortie standard, donc si lorsque l'utilisateur discute avec ses données, cela représente pour vous d'énormes économies, car le développeur.

Limites de contexte long

Dans différentes sections de ce guide, nous avons expliqué comment les modèles Gemini 1.5 obtiennent des performances élevées lors de différents tests de récupération de type "aiguille dans une botte de foin". Ces Les tests prennent en compte la configuration de base, qui ne nécessite qu'une aiguille, que vous recherchez. Si vous avez plusieurs "aiguilles" ou des pièces spécifiques d'informations recherchées, les performances du modèle ne sont pas précision. Les performances peuvent varier considérablement en fonction du contexte. Ce est important, car il existe un compromis inhérent entre l'obtention les bonnes informations récupérées et les coûts. Vous pouvez obtenir des performances à hauteur de 99 % sur une seule requête, mais vous devez payer le coût du jeton d'entrée chaque fois que vous envoyez cette requête. Ainsi, pour 100 d'informations à récupérer. Si vous aviez besoin d'un taux de performances de 99 %, vous devrez probablement envoyer 100 requêtes. C'est un bon exemple de cas où la mise en cache du contexte peut réduire considérablement les coûts associés à l'utilisation des modèles Gemini tout en maintenant des performances élevées.

questions fréquentes

L'ajout de jetons à une requête entraîne-t-il une perte de performances du modèle ?

En règle générale, si vous n'avez pas besoin de transmettre des jetons au modèle, évitez de les dépasser. Toutefois, si vous avez un gros bloc de jetons avec et que vous souhaitez poser des questions à leur sujet, le modèle très capables d'extraire ces informations (jusqu'à 99% de précision dans de nombreux cas).

Quelles sont les performances de Gemini 1.5 Pro lors du test standard ?

Gemini 1.5 Pro atteint un rappel de 100% jusqu'à 530 000 jetons et plus de 99,7% de rappel jusqu'à 1 million les jetons.

Comment réduire mes coûts avec les requêtes contextuelles longues ?

Si vous avez un ensemble de jetons ou un contexte similaire que vous souhaitez réutiliser la mise en cache contextuelle peut aider à réduire les coûts associées au fait de poser des questions sur ces informations.

Comment accéder à la fenêtre de contexte de 2 millions de jetons ?

Tous les développeurs ont désormais accès à la fenêtre de contexte de deux millions de jetons avec Gemini 1.5 Pro.

La longueur du contexte affecte-t-elle la latence du modèle ?

La latence est définie dans une requête donnée, quelle que soit la mais généralement, les requêtes longues ont une latence plus élevée (temps de latence ).

Les fonctionnalités de contexte long diffèrent-elles entre Gemini 1.5 Flash et Gemini 1.5 Pro ?

Oui, certains chiffres ont été mentionnés dans différentes sections de ce guide, mais Gemini 1.5 Pro est généralement plus performant pour les cas d'utilisation de contexte les plus longs.