La ventana de contexto (o "longitud de contexto") de un modelos de lenguaje de gran tamaño (LLM) es la cantidad de texto, en token, que el modelo puede considerar o "recordar" en cualquier momento. Una ventana de contexto más grande permite que un modelo de IA procese entradas más largas e incorpore una mayor cantidad de información en cada output.
La ventana de contexto de un LLM se puede considerar como el equivalente de su memoria de trabajo. Determina la duración de una conversación que puede llevar a cabo sin olvidar los detalles de anteriores en el intercambio. También determina el tamaño máximo de documentos o muestras de código que puede procesar a la vez. Cuando una instrucción, una conversación, un documento o una base de código supera la ventana de contexto de un modelo de inteligencia artificial, se debe truncar o resumir para que el modelo continúe.
En términos generales, el aumento del tamaño de la ventana de contexto de un LLM se traduce en una mayor precisión, menos alucinaciones, respuestas de modelo más coherentes, conversaciones más largas y una mayor capacidad para analizar secuencias de datos más largas. Sin embargo, el aumento de la longitud del contexto no está exento de concesiones: a menudo implica un aumento de los requisitos de potencia computacional y, por lo tanto, un aumento de los costes, y un aumento potencial de la vulnerabilidad a los ataques de adversarios.
En términos del mundo real, la longitud del contexto de un modelo de lenguaje no se mide en palabras, sino en tokens.Para entender cómo funcionan las ventanas de contexto en la práctica, es importante entender cómo funcionan estos tokens.
La forma en que los LLM procesan el lenguaje es completamente diferente de la forma en que lo hacen los humanos. Mientras que la unidad de información más pequeña que utilizamos para representar el lenguaje es un solo carácter,como una letra, un número o un signo de puntuación, la unidad de lenguaje más pequeña que utilizan los modelos de IA es un token. Para entrenar un modelo para que entienda el lenguaje, a cada token se le asigna un número de ID; estos números de ID, en lugar de las palabras o incluso los propios tokens, se utilizan para entrenar el modelo. Esta tokenización del lenguaje reduce significativamente la potencia computacional necesaria para procesar y aprender del texto.
La cantidad de texto que puede representar un token es muy variada: un token puede representar un solo carácter, una parte de una palabra (como un sufijo o prefijo), una palabra entera o incluso una frase corta de varias palabras. Considere los diferentes roles que desempeña la letra "a " en los siguientes ejemplos en inglés:
“Jeff drove a car.”
Aquí, "" es una palabra en sí. En esta situación, estaría representada por un token distinto.
“Jeff is amoral.”
Aquí, "" no es una palabra, pero su adición cambia significativamente el significado de la palabra. por lo tanto, se representaría con dos tokens distintos: un token para y otro para .
"Jeff loves his cat."
En este caso, es simplemente una letra en la palabra "." No conlleva ningún significado semántico en sí mismo y, por lo tanto, no necesitaría ser representado por un token distinto.
No existe un "tipo de cambio" fijo entre palabras y tokens, y diferentes modelos o tokenizadores (un subconjunto modular de un modelo mayor responsable de la tokenización) pueden tokenizar el mismo pasaje escrito de forma diferente. Una tokenización eficaz puede ayudar a aumentar la cantidad real de texto que cabe dentro de los límites de una ventana de contexto. Pero a efectos generales, una estimación decente sería de aproximadamente 1,5 tokens por palabra. El Tokenizer Playgroundde Hugging Face es una forma fácil de ver y experimentar cómo los diferentes modelos tokenizan las entradas de texto.
Las variaciones en la estructura lingüística y la representación en los datos de entrenamiento pueden hacer que algunas lenguas se tokenicen con más eficacia que otras. Por ejemplo, un estudio de octubre de 2024 exploró un ejemplo de tokenización de la misma oración tanto en inglés como en telugu. A pesar de que la traducción al telugu tiene muchos menos caracteres que su equivalente en inglés, el número de tokens en contexto es siete veces mayor.
Aunque las ventanas de contexto suelen asociarse a los LLM utilizados para resumir, generar texto y otras tareas de procesamiento del lenguaje natural (PLN), la longitud del contexto como consideración técnica no es exclusiva de los modelos de lenguaje. La noción de ventana de contexto es relevante para cualquier modelo de machine learning que utilice la arquitectura del transformador, que comprende la mayoría de los modelos de IA generativa modernos, incluidos casi todos los LLM.
Los modelos de transformadores utilizan un mecanismo de autoatención para calcular las relaciones y dependencias entre las diferentes partes de una entrada (como las palabras al principio y al final de un párrafo). Desde una perspectiva matemática, un mecanismo de autoatención calcula vectores de pesos para cada token en una secuencia de texto, en la que cada peso representa cuán relevante es ese token para otros en la secuencia. Un LLM autorregresivo consulta iterativamente esos pesos cada vez que genera la siguiente palabra de su salida. El tamaño de la ventana de contexto determina el número máximo de tokens que el modelo puede prestar atención en cualquier momento.
Vale la pena señalar que el texto de la entrada real del usuario no suele ser lo único que ocupa espacio dentro de la ventana contextual de un modelo. En muchos casos, como con los chatbots, los modelos también reciben una "instrucción del sistema", a menudo oculto al usuario, que condiciona su comportamiento y rige otros aspectos de la conversación. La información complementaria extraída de fuentes de datos externas para la generación aumentada por recuperación (RAG) también se almacena dentro de la ventana de contexto durante la inferencia. Los caracteres especiales, los saltos de línea y otras medidas de formato también consumen una parte del contexto disponible.
También vale la pena señalar que los modelos lingüísticos no son las únicas redes neuronales que utilizan transformadores. Por ejemplo, algunos modelos de difusión utilizados para la generación de imágenes incorporan la autoatención en su arquitectura. En su caso, el contexto al que se presta atención no es entre los tokens que representan palabras (o partes de palabras) en el contenido escrito, sino entre los píxeles de una imagen. En tal modelo, la longitud del contexto se aplicaría a la cantidad de píxeles cuyas relaciones debe comprender el modelo. Su ventana contextual podría verse sobrepasada por una imagen de alta resolución que contenga demasiados píxeles para procesarlos a la vez.
Equipar un modelo con una ventana de contexto grande tiene un coste, tanto en sentido figurado como literal. Los requisitos computacionales varían cuadráticamente con la longitud de la secuencia: por ejemplo, si el número de fichas de entrada se duplica, el modelo necesita cuatro veces más potencia de procesamiento para manejarlo.
Del mismo modo, el aumento de la longitud del contexto también puede ralentizar las salidas. Cada vez que el modelo predice automáticamente el siguiente token en una secuencia, calcula las relaciones entre ese token y cada uno de los tokens anteriores de la secuencia. La inferencia puede ser relativamente rápida al comienzo de una secuencia o conversación, pero progresivamente se vuelve más lenta a medida que aumenta la longitud del contexto. Esto es problemático para los casos de uso que requieren una inferencia casi instantánea en tiempo real.
Los avances recientes en la longitud media del contexto para los modelos de lenguaje han sido parcialmente permitidos por nuevas técnicas para aumentar la velocidad de inferencia y la eficiencia lo suficiente como para compensar suficientemente estas compensaciones inherentes. Estas técnicas de optimización han permitido que incluso los LLM modernos pequeños y de código abierto ofrezcan ventanas de contexto exponencialmente más grandes que las del modelo GPT-3.5 original que lanzó ChatGPT de OpenAI a finales de 2022.
Incluso cuando se toman las medidas adecuadas para compensar las compensaciones en los requisitos computacionales y la velocidad de procesamiento, ampliar el límite de longitud del contexto de un modelo presenta retos y complicaciones adicionales.
Al igual que las personas, los LLM pueden verse abrumados por una gran cantidad de detalles adicionales. También pueden volverse perezosos y tomar atajos cognitivos. Un documento de 2023 descubrió que los LLM no "hacen un uso sólido de la información en contextos de entrada largos". En concreto, los autores observaron que los modelos funcionan mejor cuando la información relevante se encuentra hacia el principio o el final del contexto de entrada. Además, observaron que el rendimiento se degrada cuando el modelo debe considerar cuidadosamente la información en medio de contextos largos.1
Los nuevos métodos para mejorar la eficacia del propio mecanismo de autoatención del transformador, como la incrustación de posición rotativa (RoPE), tienen como objetivo modificar la codificación posicional de los token en los vectores de atención. La adopción generalizada de métodos basados en RoPE ha permitido mejorar el rendimiento y la velocidad en las tareas que implican tokens a una gran distancia entre sí.
La investigación en curso ha producido una serie de puntos de referencia diseñados para medir la capacidad de un LLM para encontrar y utilizar eficazmente información relevante con grandes pasajes, como needle-in-a-haystack (NIAH), RULER y LongBench.
Una ventana de contexto más larga también podría tener el efecto no deseado de presentar una superficie de ataque más larga para las instrucciones adversarios. Una investigación reciente de Anthropic ha demostrado que el aumento de la longitud del contexto de un modelo también aumenta su vulnerabilidad al "jailbreaking" y (posteriormente) a ser provocado para producir respuestas perjudiciales.2
La ventana de contexto promedio de un modelo de lenguaje de gran tamaño ha crecido exponencialmente desde que se lanzaron los transformadores generativos preentrenados (GPT) originales. Hasta la fecha, cada generación sucesiva de LLM ha implicado normalmente longitudes de contexto significativamente más largas. En la actualidad, la mayor ventana de contexto que ofrece un modelo comercial destacado es de más de un millón de tokens. Queda por ver si las ventanas de contexto seguirán ampliándose o si ya nos estamos acercando al límite superior de la necesidad práctica.
Para referencia, estas son las longitudes de contexto actualmente ofrecidas por algunos modelos y familias de modelos comúnmente citados a partir de octubre de 2024.
La nueva familia de modelos o1 también ofrece una ventana de contexto de 128 000 tokens, aunque ofrecen una mayor longitud de contexto de salida.
Los modelos Llama originales tenían una longitud máxima de contexto de 2048 tokens, que se duplicó a 4096 tokens para Llama 2. Durante su lanzamiento en abril de 2024, los modelos Llama 3 ofrecieron una ventana de contexto de aproximadamente 8000 tokens.
La longitud del contexto de Llama aumentó significativamente con el lanzamiento de los modelos Llama 3.1, que ofrecían ventanas de contexto largas de 128 000 tokens. Los modelos Llama 3.2 también tienen una longitud máxima de contexto de 128 000 tokens.
Mistral Large 2, el modelo insignia ofrecido por Mistral AI, tiene una ventana de contexto de 128 000 tokens.
La serie de modelos Gemini de Google ofrece lo que actualmente es la ventana de contexto más grande entre los modelos de lenguaje comercial. Gemini 1.5 Pro, el modelo insignia de Google, ofrece una longitud de contexto de hasta dos millones de token. Otros modelos de Gemini 1.5, como Gemini 1.5 Flash, tienen una ventana de contexto de un millón de tokens.
Los últimos modelos Claude de Anthropic, como el Sonnet Claude 3.5, ofrecen una ventana de contexto estándar de unos 200 000 tokens. A principios de septiembre de 2024, Anthropic anunció que los modelos a los que se accedía a través de su nuevo plan "Claude Enterprise" ofrecerían una ventana de contexto ampliada de 500 000 tokens.
1. "Lost in the Middle: How Language Models Use Long Contexts". arXiv. 6 de julio de 2023
2 "Many-shot jailbreaking". Anthropic. 2 de abril de 2024
Diseñe asistentes y agentes de IA escalables con facilidad, automatice tareas repetitivas y simplifique procesos complejos con IBM watsonx Orchestrate.
Acelere el valor empresarial de la inteligencia artificial con una cartera potente y flexible de bibliotecas, servicios y aplicaciones.
Reinvente las operaciones y flujos de trabajo críticos añadiendo IA para maximizar las experiencias, la toma de decisiones en tiempo real y el valor empresarial.