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 (LLMs) 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 cambios con un contexto largo.

En este documento, se proporciona una descripción general de lo que puedes lograr con modelos que tienen ventanas de contexto de 1 millón de tokens o más. En esta 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 luego generará una respuesta. Una analogía para la ventana de contexto es la memoria a corto plazo. La cantidad de información que se puede almacenar en la memoria a corto plazo de una persona es limitada, y lo mismo sucede con los modelos generativos.

Puedes obtener más información sobre cómo funcionan los modelos en segundo plano 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 recientes 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 el estándar de 80 caracteres por línea)
  • 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 arbitrariamente mensajes antiguos, resumir contenido, usar RAG con bases de datos vectoriales o filtrar instrucciones para ahorrar tokens.

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

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 complementan con la API de Gemini, que admite 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 cada vez más grandes, hay nuevas técnicas disponibles que permiten casos de uso nuevos.

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

  • 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 tokens nuevos 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 común de ejemplo "de un solo intento" o "de varios intentos", en el que se le presenta al modelo uno o algunos ejemplos de una tarea, y ampliarlo a cientos, miles o incluso cientos de miles de ejemplos, puede generar nuevas capacidades del modelo. También se demostró que este enfoque de aprendizaje con muchos ejemplos funciona de manera similar a los modelos que se ajustaron para una tarea específica. Para los casos de uso en los que el rendimiento de un modelo de Gemini aún no es suficiente para el lanzamiento en producción, puedes probar el enfoque de muchos ejemplos. 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 por la falta de accesibilidad del medio en sí. Era difícil revisar el contenido rápidamente, las transcripciones a menudo no captaban los matices de un video y la mayoría de las herramientas no procesan imágenes, texto y audio juntos. 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:

  • Preguntas y respuestas sobre videos
  • Memoria de video, como se muestra con Project Astra de Google
  • Subtitulado de videos
  • Sistemas de recomendación de videos, que enriquecen los metadatos existentes con una nueva comprensión multimodal
  • Personalización de videos a partir de un corpus de datos y metadatos de videos asociados, y luego se quitan las partes de los 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 se procesan los videos en tokens, lo que afecta los límites de facturación y uso. Puedes obtener más información sobre las instrucciones con archivos de video 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 del desarrollador implicaba encadenar varios modelos específicos del dominio, como un modelo de voz a texto y un modelo de texto a texto, para procesar audio. Esto generó una latencia adicional necesaria para realizar varias solicitudes de ida y vuelta, y un rendimiento reducido 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 sobre podcasts o videos
  • Transcripción y resumen de reuniones
  • Asistentes de voz

Puedes obtener más información sobre las 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 por 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 sobre 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 buscas una sola aguja. 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. Esto es importante tenerlo en cuenta, ya que existe una compensación inherente entre obtener la información correcta y el costo. Puedes obtener un 99% de precisión en una sola búsqueda, pero debes pagar el costo de los tokens de entrada cada vez que envías esa búsqueda. Por lo tanto, para recuperar 100 fragmentos de información, si necesitabas un rendimiento del 99%, probablemente tendrías que enviar 100 solicitudes. Este es un buen ejemplo de cómo el almacenamiento en caché del contexto puede reducir significativamente el costo asociado con el uso de los modelos de Gemini y, al mismo tiempo, mantener un rendimiento alto.

Preguntas frecuentes

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

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

¿Se pierde rendimiento del modelo cuando agrego más tokens a una búsqueda?

En general, si no necesitas que se pasen tokens al modelo, es mejor evitar pasarlos. Sin embargo, si tienes una gran cantidad de tokens con 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 mis costos con las preguntas de contexto extenso?

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

¿La longitud del contexto afecta la latencia del modelo?

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