Contexto largo

Muchos modelos de Gemini incluyen ventanas de contexto grandes de 1 millón o más tokens. Históricamente, los modelos de lenguaje grandes (LLM) estaban limitados de manera significativa por la cantidad de texto (o tokens) que se podían pasar al modelo a la vez. La ventana de contexto largo de Gemini desbloquea muchos casos de uso y paradigmas de desarrolladores nuevos.

El código que ya usas para casos como la generación de texto o las entradas multimodales funcionará sin ningún cambio con un contexto largo.

En este documento, se proporciona una descripción general de lo que puedes lograr con modelos con ventanas de contexto de 1 millón o más tokens. En la página, se ofrece una breve descripción general de una ventana de contexto y se explora cómo los desarrolladores deben pensar en el contexto largo, varios casos de uso reales para un contexto largo y formas de optimizar el uso del contexto largo.

Para conocer los tamaños de la ventana de contexto de modelos específicos, consulta la página Modelos.

¿Qué es una ventana de contexto?

La forma básica de usar los modelos de Gemini es pasar información (contexto) al modelo, que posteriormente generará una respuesta. Una analogía para la ventana de contexto es la memoria a corto plazo. Hay una cantidad limitada de información que se puede almacenar en la memoria a corto plazo de una persona, y lo mismo sucede con los modelos generativos.

Puedes obtener más información sobre cómo funcionan los modelos en nuestra guía de modelos generativos.

Comienza a usar el contexto largo

Las versiones anteriores de los modelos generativos solo podían procesar 8,000 tokens a la vez. Los modelos más nuevos fueron más allá y aceptaron 32,000 o incluso 128,000 tokens. Gemini es el primer modelo capaz de aceptar 1 millón de tokens.

En la práctica, 1 millón de tokens se vería de la siguiente manera:

  • 50,000 líneas de código (con los 80 caracteres por línea estándar)
  • Todos los mensajes de texto que enviaste en los últimos 5 años
  • 8 novelas en inglés de longitud promedio
  • Transcripciones de más de 200 episodios de podcasts de duración promedio

Las ventanas de contexto más limitadas que son comunes en muchos otros modelos a menudo requieren estrategias como descartar mensajes antiguos de forma arbitraria, resumir contenido, usar la RAG con bases de datos de vectores o filtrar instrucciones para guardar tokens.

Si bien estas técnicas siguen siendo valiosas en situaciones específicas, la amplia ventana de contexto de Gemini invita a un enfoque más directo: proporcionar toda la información relevante de antemano. Debido a que los modelos de Gemini se crearon con capacidades de contexto masivas, demuestran un aprendizaje en contexto potente. Por ejemplo, con solo materiales de instrucción contextuales (una gramática de referencia de 500 páginas, un diccionario y ≈400 oraciones paralelas), Gemini aprendió a traducir del inglés al kalamang, un idioma papuano con menos de 200 hablantes, con una calidad similar a la de un aprendiz humano que usa los mismos materiales. Esto ilustra el cambio de paradigma que permite el contexto amplio de Gemini, que potencia nuevas posibilidades a través de un aprendizaje sólido en contexto.

Casos de uso de contexto largo

Si bien el caso de uso estándar para la mayoría de los modelos generativos sigue siendo la entrada de texto, la familia de modelos de Gemini habilita un nuevo paradigma de casos de uso multimodales. Estos modelos pueden comprender de forma nativa texto, video, audio e imágenes. Se acompañan de la API de Gemini que acepta tipos de archivos multimodales para mayor comodidad.

Texto de formato largo

El texto demostró ser la capa de inteligencia que sustenta gran parte del impulso en torno a los LLMs. Como se mencionó anteriormente, gran parte de la limitación práctica de los LLMs se debía a que no tenían una ventana de contexto lo suficientemente grande como para realizar ciertas tareas. Esto llevó a la adopción rápida de la generación mejorada de recuperación (RAG) y otras técnicas que proporcionan de forma dinámica al modelo información contextual relevante. Ahora, con ventanas de contexto más y más grandes, hay técnicas nuevas disponibles que permiten casos de uso nuevos.

Estos son algunos casos de uso emergentes y estándar para el contexto largo basado en texto:

  • Cómo resumir grandes corpus de texto
    • Las opciones de resumen anteriores con modelos de contexto más pequeños requerirían una ventana deslizante o alguna otra técnica para mantener el estado de las secciones anteriores a medida que se pasan nuevos tokens al modelo.
  • Preguntas y respuestas
    • Históricamente, esto solo era posible con RAG, dada la cantidad limitada de contexto y el bajo recuerdo fáctico de los modelos.
  • Flujos de trabajo de agentes
    • El texto es la base de cómo los agentes mantienen el estado de lo que hicieron y lo que necesitan hacer; no tener suficiente información sobre el mundo y el objetivo del agente es una limitación en la confiabilidad de los agentes

El aprendizaje en contexto con muchas tomas es una de las capacidades más únicas que permiten los modelos de contexto largos. Las investigaciones demostraron que tomar el paradigma de ejemplo común "una sola toma" o "varias tomas", en el que se presenta al modelo con uno o algunos ejemplos de una tarea, y escalarlo a cientos, miles o incluso cientos de miles de ejemplos, puede generar capacidades de modelos novedosas. También se demostró que este enfoque de muchas fotos funciona de manera similar a los modelos que se ajustaron para una tarea específica. En el caso de los casos de uso en los que el rendimiento de un modelo de Gemini aún no es suficiente para un lanzamiento en producción, puedes probar el enfoque de muchas tomas. Como verás más adelante en la sección de optimización de contexto largo, la caché de contexto hace que este tipo de carga de trabajo de token de entrada alta sea mucho más factible económicamente y, en algunos casos, incluso tenga una latencia más baja.

Video de formato largo

La utilidad del contenido de video se ha visto limitada durante mucho tiempo debido a la falta de accesibilidad del medio en sí. Era difícil revisar el contenido, las transcripciones a menudo no lograban capturar las sutilezas de un video y la mayoría de las herramientas no procesaban imágenes, texto y audio en conjunto. Con Gemini, las capacidades de texto de contexto largo se traducen en la capacidad de razonar y responder preguntas sobre entradas multimodales con un rendimiento sostenido.

Estos son algunos casos de uso emergentes y estándar para contextos de video largos:

  • Búsqueda de respuestas sobre videos
  • Memoria de video, como se muestra en Project Astra de Google
  • Subtítulos de video
  • Los sistemas de recomendación de videos, ya que enriquecen los metadatos existentes con una nueva comprensión multimodal
  • Personalización de videos, a través del análisis de un corpus de datos y metadatos de video asociados y, luego, la eliminación de partes de videos que no son relevantes para el usuario
  • Moderación de contenido de video
  • Procesamiento de video en tiempo real

Cuando trabajas con videos, es importante tener en cuenta cómo los videos se procesan en tokens, lo que afecta los límites de facturación y uso. Obtén más información sobre cómo usar archivos de video para generar instrucciones en la Guía de instrucciones.

Audio de formato largo

Los modelos Gemini fueron los primeros modelos de lenguaje grandes multimodales de forma nativa que podían comprender audio. Históricamente, el flujo de trabajo típico de los desarrolladores implicaba unir varios modelos específicos de dominio, como un modelo de voz a texto y un modelo de texto a texto, para procesar el audio. Esto generó una latencia adicional necesaria para realizar varias solicitudes de ida y vuelta, y disminuyó el rendimiento, lo que suele atribuirse a las arquitecturas desconectadas de la configuración de varios modelos.

Estos son algunos casos de uso emergentes y estándar para el contexto de audio:

  • Transcripciones y traducciones en tiempo real
  • Preguntas y respuestas en podcasts o videos
  • Transcripción y resumen de reuniones
  • Asistentes de voz

Puedes obtener más información sobre cómo usar instrucciones con archivos de audio en la guía de instrucciones.

Optimizaciones de contexto largo

La optimización principal cuando se trabaja con contexto largo y los modelos de Gemini es usar el almacenamiento en caché de contexto. Además de la imposibilidad anterior de procesar muchos tokens en una sola solicitud, la otra restricción principal era el costo. Si tienes una app de "chat con tus datos" en la que un usuario carga 10 archivos PDF, un video y algunos documentos de trabajo, históricamente, tendrías que trabajar con una herramienta o un framework de generación mejorada de recuperación (RAG) más complejos para procesar estas solicitudes y pagar una cantidad significativa por los tokens que se mueven a la ventana de contexto. Ahora, puedes almacenar en caché los archivos que sube el usuario y pagar para almacenarlos por hora. Por ejemplo, el costo de entrada / salida por solicitud con Gemini Flash es aproximadamente 4 veces menor que el costo estándar de entrada / salida, por lo que si el usuario chatea con sus datos lo suficiente, se generará un gran ahorro de costos para ti como desarrollador.

Limitaciones de contexto largo

En varias secciones de esta guía, hablamos de cómo los modelos de Gemini logran un alto rendimiento en varias evaluaciones de recuperación de aguja en un pajar. Estas pruebas consideran la configuración más básica, en la que tienes una sola aguja que buscas. En los casos en los que puedas tener varias “agujas” o información específica que buscas, el modelo no funciona con la misma exactitid. El rendimiento puede variar en gran medida según el contexto. Es importante tener en cuenta esto, ya que existe un equilibrio inherente entre obtener la información correcta y el costo. Puedes obtener alrededor del 99% en una sola consulta, pero debes pagar el costo del token de entrada cada vez que envíes esa consulta. Por lo tanto, para que se recuperen 100 fragmentos de información, si necesitas un rendimiento del 99%, es probable que debas enviar 100 solicitudes. Este es un buen ejemplo de cómo la caché de contexto puede reducir significativamente el costo asociado con el uso de modelos de Gemini y, al mismo tiempo, mantener un alto rendimiento.

Preguntas frecuentes

¿Cuál es el mejor lugar para colocar mi consulta en la ventana de contexto?

En la mayoría de los casos, en especial si el contexto total es largo, el rendimiento del modelo será mejor si colocas tu consulta o pregunta al final de la instrucción (después de todo el otro contexto).

¿Pierdo el rendimiento del modelo cuando agrego más tokens a una consulta?

Por lo general, si no necesitas que se pasen tokens al modelo, es mejor evitar pasarlos. Sin embargo, si tienes una gran cantidad de tokens con cierta información y quieres hacer preguntas sobre ella, el modelo es muy capaz de extraer esa información (hasta un 99% de precisión en muchos casos).

¿Cómo puedo reducir mi costo con las consultas de contexto largo?

Si tienes un conjunto similar de tokens o contexto que deseas volver a usar muchas veces, el almacenamiento en caché de contexto puede ayudar a reducir los costos asociados con hacer preguntas sobre esa información.

¿La longitud del contexto afecta la latencia del modelo?

Hay una cantidad fija de latencia en cualquier solicitud, independientemente del tamaño, pero, por lo general, las consultas más largas tendrán una latencia más alta (tiempo hasta el primer token).