Modelos Locales13 min de lecturaActualizado: 2026-10-28Ingeniería Verificada

Ventana de Contexto en LLMs: El Problema 'Lost in the Middle' y Cómo Evaluar Needle in a Haystack

Respuesta Rápida y Protocolo de SoluciónResumen ejecutivo directo para ingenieros

Tener una ventana de contexto de 128.000 o 1.000.000 de tokens no significa que el LLM sea capaz de razonar sobre toda esa información: 1) El fenómeno 'Lost in the Middle' demuestra que los Transformers retienen con gran precisión la información ubicada al principio (Primacy bias) y al final (Recency bias) del prompt, pero su capacidad de recuperación desciende en picado cuando el dato clave se ubica en el tercio central; 2) El benchmark NIAH (Needle in a Haystack) mide este comportamiento insertando una frase específica en distintas profundidades del contexto para generar un mapa de calor visual; 3) Para mitigar este problema en producción se recomienda ordenar el contexto colocando los documentos más relevantes al principio y al final, o combinar ventanas largas con un pipeline RAG previo con Re-Ranking.

⚡ Resumen Técnico: Ventana Nominal vs Atención Efectiva

Existe un abismo entre la Ventana de Contexto Nominal (el número máximo de tokens admitido por la arquitectura antes de un error de desbordamiento) y la Ventana de Atención Efectiva (la capacidad real del modelo de razonar sobre hechos interconectados sin perder datos).

  • Los modelos retienen con facilidad información situada en el 0% - 15% (inicio del prompt) y en el 85% - 100% (final del prompt).
  • En la zona intermedia (30% - 70%), la tasa de éxito de recuperación puede desplomarse del 99% a menos del 50% en secuencias de más de 32.000 tokens.

1. La Carrera por el Contexto: De 2K a 1 Millón de Tokens

En los inicios de la era de los Transformers modernos con GPT-3, la ventana de contexto estaba rígidamente limitada a 2.048 tokens. Con la invención de esquemas de codificación posicional avanzados como RoPE (Rotary Position Embedding), la interpolación posicional dinámica (YaRN) y FlashAttention-2, los proveedores comenzaron una carrera comercial publicitaria anunciando ventanas de 32K, 128K, 1M e incluso 2M de tokens.

Muchos equipos concluyeron apresuradamente: "Ya no necesitamos bases de datos vectoriales ni RAG; simplemente inyectaremos la base de código completa o los 20 manuales de la empresa directamente en el prompt". Sin embargo, los benchmarks empíricos pronto revelaron un fenómeno demoledor: la degradación cognitiva por dilución de atención.

PUBLICIDAD

2. El Descubrimiento de 'Lost in the Middle'

En el influyente estudio publicado por investigadores de Stanford University, UC Berkeley y Samaya AI titulado "Lost in the Middle: How Language Models Use Long Contexts" (Liu et al.), se demostró empíricamente que el rendimiento de los modelos decae drásticamente cuando la información clave para responder se sitúa en la mitad del texto suministrado.

Este comportamiento responde a dos sesgos inductivos fundamentales de la arquitectura Transformer y sus datos de entrenamiento:

  1. Primacy Bias (Sesgo de Primacía): Los modelos prestan una atención desproporcionada a los primeros tokens de la secuencia porque allí es donde invariablemente residen el System Prompt y las directivas de comportamiento centrales.
  2. Recency Bias (Sesgo de Recencia): Los últimos tokens procesados justo antes de que comience la decodificación autoregresiva están más frescos en los estados ocultos de la red, facilitando que el cálculo de atención los recupere con nitidez.

Cualquier dato situado en el ecuador del contexto sufre de entropía de atención: el vector softmax distribuye probabilidades diminutas entre miles de tokens intermedios, diluyendo la señal hasta hacerla indistinguible del ruido de fondo.

3. El Benchmark Needle in a Haystack (NIAH) y sus Variantes Complejas

Para visualizar este fallo de forma rigurosa, Greg Kamradt diseñó el benchmark Needle in a Haystack (NIAH). El experimento consiste en crear una matriz de dos dimensiones:

  • Eje X (Longitud del contexto): De 1.000 tokens hasta la longitud máxima del modelo (ej. 128.000 tokens) evaluada a intervalos regulares.
  • Eje Y (Profundidad del documento): Ubicación del dato objetivo en incrementos del 10% (desde el 0% al inicio hasta el 100% al pie).

En un modelo ideal, todo el mapa de calor resultante debería ser de un verde intenso (100% de recuperación correcta). En modelos con problemas de contexto largo, se observa una franja roja o amarilla en el centro que se expande a medida que el contexto total sobrepasa los 16.000 tokens.

Modelo Evaluado Ventana Nominal Declarada Atención Efectiva Estable Comportamiento en Lost in the Middle
Claude 3.5 Sonnet 200.000 tokens ~ 150.000 tokens Excelente retención (mapa casi 100% verde)
GPT-4o 128.000 tokens ~ 90.000 tokens Muy buena en NIAH simple; cae en razonamiento multi-aguja
Llama-3.1-70B-Instruct 128.000 tokens ~ 64.000 tokens Notable degradación en el tercio central a partir de 64K
Llama-3.1-8B-Instruct 128.000 tokens ~ 32.000 tokens Sufre severamente más allá de 32K en tareas complejas
Qwen-2.5-72B 128.000 tokens ~ 96.000 tokens Muy sólida preservación del contexto intermedio
PUBLICIDAD

4. De la 'Aguja Simple' al 'Razonamiento Multidocumental' (Multi-Needle Reasoning)

El benchmark NIAH clásico tiene una limitación metodológica: encontrar una aguja aislada (retrieval superficial) es una tarea relativamente trivial. La prueba de fuego en el mundo real es el Multi-Needle Reasoning:

"El informe A (en la página 10) dice que el componente X falló a 400 RPM. El informe B (en la página 90) dice que la válvula de escape Y se abre a 380 RPM. ¿Pudo la válvula Y prevenir el fallo del componente X?"

Aquí el modelo no solo debe localizar dos fragmentos dispersos en un mar de texto, sino que debe sostener ambos estados en su memoria de trabajo y computar una deducción lógica cruzando ambas variables. En este escenario, la precisión de los modelos cae drásticamente a partir de los 20.000 tokens si no se emplean arquitecturas de soporte.

5. Estrategias de Mitigación en Producción

1. Reordenación Perimetral en U (Perimeter Re-ordering)

Si tu pipeline recupera 10 documentos de una base de datos vectorial para insertarlos en el contexto, no los ordenes de forma lineal descendente (del 1 al 10 de arriba a abajo), ya que el documento más débil (el 10) quedará al final (zona de alta atención) y el documento 5 quedará en el centro (el agujero negro).

Reordena los fragmentos distribuyendo la relevancia en forma de "U":

def reordenar_contexto_en_u(documentos_ordenados_por_score):
    """
    Distribuye los documentos más relevantes en los extremos (primacía y recencia)
    dejando los documentos menos críticos en el centro.
    """
    reordenados = [None] * len(documentos_ordenados_por_score)
    izquierda = 0
    derecha = len(documentos_ordenados_por_score) - 1
    
    for i, doc in enumerate(documentos_ordenados_por_score):
        if i % 2 == 0:
            reordenados[izquierda] = doc
            izquierda += 1
        else:
            reordenados[derecha] = doc
            derecha -= 1
            
    return reordenados

2. Arquitectura de Síntesis Jerárquica (Map-Reduce)

Si debes analizar un libro contable o una auditoría de 300 páginas, no lo envíes en una única petición masiva. Aplica una arquitectura Map-Reduce:

  1. Fase Map: Un modelo procesa cada capítulo por separado (ventanas pequeñas de 4.000 tokens de máxima agudeza) y genera un extracto estructurado de hallazgos.
  2. Fase Reduce: Un modelo final consolida los 10 extractos sintetizados, logrando una visión panorámica sin sufrir pérdidas por dilución de atención.

6. Artículos Relacionados en The Calata

Continúa explorando la vanguardia del procesamiento del lenguaje natural y la ingeniería de contexto:

Puntos Clave y Mejores Prácticas de Ingeniería

Checklist de validación técnica en producción
  • Optimización de hardware primero: Evita escalar a instancias más caras antes de aplicar técnicas de precisión reducida (FP8, AWQ, 4-bit) y reducción de activación en memoria GPU.
  • Monitorización empírica continua: Audita la asignación activa y el ancho de banda con herramientas nativas de Linux (nvidia-smi dmon, torch.cuda.memory_summary, perfiles HNSW).
  • Arquitectura modular y streaming: Desacopla la lógica de recuperación de vectores (RAG) o el servicio de inferencia mediante microservicios con soporte SSE (Server-Sent Events) para minimizar el Time-To-First-Token.
RESOLUCIÓN DE DUDAS

Preguntas Frecuentes Técnicas

Dudas habituales planteadas por ingenieros y desarrolladores en entornos de producción:

?¿Por qué los modelos Transformer sufren el sesgo de posición 'Lost in the Middle'?

La atención en los Transformers se diluye a medida que aumenta la longitud de la secuencia debido al cálculo de normalización softmax sobre miles de tokens. Además, las técnicas de codificación posicional rotatoria (RoPE) y los sesgos inductivos del entrenamiento favorecen el inicio del texto (donde se ubican las instrucciones de sistema) y el final (justo antes de la generación del primer token de respuesta).

?¿Qué es el benchmark Needle in a Haystack (NIAH)?

Es una prueba automatizada que toma un texto masivo de relleno (el pajar o haystack, como ensayos o código) e inserta una frase arbitraria con un dato factual aislado (la aguja o needle, ej. 'El color favorito de Napoleón en 1812 era el verde manzana') a diferentes profundidades (del 0% al 100%) y diferentes longitudes de contexto. Luego se evalúa si el modelo responde correctamente.

?¿Sustituyen las ventanas de contexto de 1 millón de tokens a los sistemas RAG?

No. Enviar 1 millón de tokens en cada petición resulta económicamente prohibitivo (miles de dólares diarios en APIs), dispara la latencia TTFT a decenas de segundos y sufre de degradación por fatiga de atención. RAG sigue siendo superior para filtrar el 99% de ruido previo, inyectando solo el contexto depurado.

?¿Cómo mitigar 'Lost in the Middle' al ordenar los documentos en el prompt?

Aplica el patrón de 'ordenación en U' o intercalado: ubica el documento número 1 más relevante al principio del contexto, el documento número 2 al final de la sección de documentos (justo antes de la pregunta) y distribuye los documentos secundarios en la zona intermedia.

TC

Equipo Técnico y de Arquitectura · The Calata

Ingeniería Verificada

Especialistas en Inferencia de alto rendimiento, optimización de VRAM y CUDA en PyTorch, arquitecturas RAG avanzadas y evaluación de modelos Open Source. Todas las recomendaciones y scripts de código publicados en The Calata son probados en entornos Linux de producción con aceleradores Nvidia y clusters locales.

Publicidad Patrocinada