Skip to main content

Ventana de Contexto (Context Window)

El volumen máximo de tokens que un modelo de lenguaje puede mantener simultáneamente en el mecanismo de Self-Attention y en la memoria KV Cache durante el cálculo de una única solicitud de inferencia.

1. Visión general del concepto y problema sistémico

Los desarrolladores principiantes a menudo perciben la ventana de contexto como un análogo de un disco duro: un lugar donde se puede volcar cualquier cantidad de documentación para que el modelo "simplemente la conozca".

Sin embargo, en la física real de las redes neuronales, la ventana de contexto es la memoria de acceso aleatorio del procesador gráfico (GPU VRAM) involucrada en cálculos matriciales intensivos:

  1. Complejidad cuadrática de la atención: En el mecanismo clásico de Attention, la relación se calcula entre cada par de tokens ($O(N^2)$). Aumentar la longitud de la entrada 10 veces requiere 100 veces más recursos computacionales en la fase de prefijo (Prefill).
  2. Limitaciones de memoria de hardware: Cuando la longitud del diálogo alcanza cientos de miles de tokens, el tamaño del KV Cache supera la capacidad de la memoria de video de la tarjeta gráfica (Out of Memory - OOM).
  3. Límite de extrapolación de posiciones: El modelo no puede percibir adecuadamente las posiciones de los tokens que exceden su entrenamiento sin métodos especiales de interpolación (RoPE / YaRN).

La ventana de contexto (Context Window) define el horizonte de la memoria de trabajo activa del sistema: todo lo que entra en la ventana participa en el cálculo de probabilidades; todo lo que queda fuera de ella no existe físicamente para el modelo.

2. Taxonomía arquitectónica y modelo mental

El trabajo con la ventana de contexto se divide en dos fases de cálculos y las optimizaciones correspondientes:

  • 1. Fase de prefijo (Prefill Phase): Procesamiento paralelo de toda la solicitud de entrada del usuario. Fase limitada computacionalmente (Compute-bound), optimizada con tecnologías como FlashAttention-2/3, que eliminan accesos innecesarios a la memoria global de la GPU.
  • 2. Fase de decodificación (Decode Phase): Generación secuencial de nuevos tokens uno a uno por paso. Limitada por el ancho de banda de memoria (Memory-bandwidth bound), donde la velocidad depende de la muestra de vectores del KV Cache.
  • 3. Arquitecturas de contexto largo:
    • RoPE (Rotary Position Embeddings): embeddings posicionales rotativos que permiten escalar la ventana de 8K a 1M tokens a través de escalado de frecuencia.
    • Ring Attention: distribución del cálculo del mecanismo de atención en un anillo de decenas de servidores GPU para procesar secuencias de millones.
  • 4. Estructura del presupuesto de la ventana: Total Window = System Prompt + Long-term Memory + Ingestion Files + History + Tools Output + Max Generation Tokens.

3. Pipeline técnico y mecánica interna

El ciclo de vida del contexto a través del transformador:

  1. Tokenization & BPE Mapping (Tokenización): Una cadena de código o texto en bruto se traduce en un vector numérico de ID de tokens a través de un diccionario BPE/Tiktoken.
  2. Positional Encoding Injection (Inyección de coordenadas): Cada token recibe un vector de posición en la secuencia (a través de matrices de rotación RoPE).
  3. Multi-Head Self-Attention & KV Cache Allocation (Cálculo de atención): Se calculan las matrices Query, Key, Value. Los vectores $K$ y $V$ se almacenan en el búfer VRAM del KV Cache para evitar cálculos repetidos en pasos posteriores.
  4. Context Length Enforcement (Control de límites): Si el número total de tokens excede max_context_length, el runtime o lanza un error 400 BadRequest: context_length_exceeded, o automáticamente recorta los mensajes más antiguos (Sliding Window Truncation).

4. Escenarios prácticos de ingeniería en producción

01. In-Context Learning sobre todo el repositorio del proyecto

Cargar 200,000 tokens de la base de código directamente en la ventana del modelo (Cursor / Claude Code). El modelo ve todos los tipos, importaciones y patrones arquitectónicos simultáneamente, generando un nuevo módulo con la conservación ideal de las convenciones del proyecto.

02. Análisis de paquetes legales de M&A y auditorías

Transferir un paquete de contratos de 500 páginas a la ventana de Gemini 2.5/3 Pro (1M tokens) para buscar contradicciones mutuas, condiciones financieras no acordadas y obligaciones ocultas sin perder contexto entre documentos.

03. Optimización económica a través de Prompt Caching

En asistentes de larga duración, el prompt del sistema y la documentación de la API (por ejemplo, 40,000 tokens) son almacenados en caché por el proveedor (Anthropic/OpenAI). Esto permite que cada solicitud subsiguiente se procese 4 veces más rápido y cueste un 90% menos.

5. Errores comunes, trampas y seguridad

  • Recorte silencioso de contexto (Silent Truncation): Algunos clientes ingenuos eliminan automáticamente el inicio del diálogo al acercarse al límite. Si allí se encontraban reglas de seguridad del sistema importantes, el modelo se vuelve vulnerable.
  • Out of Memory (OOM) en servidores autoalojados: Ejecutar Llama 3 70B en un nodo propio con 80GB de VRAM funciona bien en pruebas cortas, pero falla con un error crítico de memoria cuando el usuario envía una solicitud de 64K tokens debido a la expansión del KV Cache. Siempre limite max_model_len en vLLM.
  • Crecimiento exponencial de la factura: El envío incontrolado de la historia con cada mensaje lleva a que un simple chat de 20 réplicas genere cientos de miles de tokens de entrada pagados.
/ Preguntas frecuentesSchema.org FAQPage

FAQ: Ventana de Contexto (Context Window)

Durante la generación, el modelo almacena vectores de claves (Keys) y valores (Values) para cada token anterior en un búfer especial: KV Cache. Para un modelo de 70B parámetros, procesar 100,000 tokens de contexto requiere más de 40-80 GB de memoria HBM de alta velocidad exclusivamente para el caché de atención, sin contar el peso de la red neuronal en sí.
/ Enlaces internos
Todos los términos