Ir al contenido principal

Perdidos en el medio: El sesgo de posición en los LLM y su impacto en la IA financiera

· 7 min de lectura
Mike Thrift
Mike Thrift
Marketing Manager

Cuando recuerdo la entrada de DocFinQA —donde tanto los pipelines basados en recuperación como los LLM de contexto largo colapsaron con presentaciones ante la SEC con contextos de 123K tokens— la pregunta que dejé en el aire fue por qué. Este artículo de Liu et al. (TACL 2024, arXiv:2307.03172) es la respuesta mecánica, y resulta que el modo de fallo es más simple y persistente de lo que hubiera esperado.

El artículo

2026-06-27-lost-in-the-middle-language-models-long-contexts

"Lost in the Middle: How Language Models Use Long Contexts" por Nelson F. Liu, Kevin Lin, John Hewitt, Ashwin Paranjape, Michele Bevilacqua, Fabio Petroni y Percy Liang realiza dos experimentos dirigidos: respuesta a preguntas sobre múltiples documentos en NaturalQuestions-Open (con 10, 20 y 30 documentos recuperados) y recuperación sintética de clave-valor (con 75, 140 y 300 pares). En cada experimento, varían sistemáticamente dónde se encuentra el documento relevante o el par clave-valor dentro del contexto de entrada —al principio, al medio o al final— mientras mantienen todo lo demás fijo. El hallazgo es claro: el rendimiento traza una curva en forma de U con el punto más bajo en el medio del contexto, y la curva aparece en todos los modelos probados.

Ideas clave

  • La forma de U es real y consistente. En la configuración de QA con 20 documentos, el rendimiento en la primera posición fue de aproximadamente el 75% y se degradó hasta alrededor del 55% en la posición 10 antes de recuperarse hasta cerca del 72% en la posición 20; una brecha de ~20 puntos entre los bordes y el centro.
  • Todos los modelos siguen el mismo patrón. Los modelos probados abarcan cerrados y abiertos, pequeños y grandes: GPT-3.5-Turbo (4K y 16K), GPT-4, Claude-1.3 (8K y 100K), MPT-30B-Instruct y LongChat-13B. La curva en U apareció en cada uno de ellos, incluidos los modelos comercializados explícitamente por sus ventanas de contexto extendidas.
  • Ni siquiera Claude-1.3-100K es inmune. La variante de contexto de 100K se comportó como las demás. Una ventana de contexto larga no significa que el modelo realmente preste atención de manera uniforme a lo largo de ella.
  • La línea base de "libro cerrado" establece un suelo aleccionador. GPT-3.5-Turbo sin ningún documento respondió correctamente al 56.1% de NaturalQuestions; con acceso de oráculo a solo el documento relevante, alcanzó el 88.3%. Pero en las peores posiciones intermedias en la configuración de 20 documentos, el rendimiento cayó por debajo de la línea base de libro cerrado, lo que significa que añadir más contexto fue activamente perjudicial.
  • Los modelos encoder-decoder (Flan-T5-XXL, Flan-UL2) son más robustos dentro de su longitud de entrenamiento pero revierten cuando los contextos la superan. La diferencia arquitectónica importa, pero ambos siguen degradándose a escala.
  • La causa raíz es el enmascaramiento de atención causal. Cada token solo puede atender a los tokens precedentes, por lo que las posiciones al principio acumulan más peso de atención total a través del modelo que las posiciones en el medio. Los efectos de recencia también elevan el rendimiento al final del contexto.

Lo que se sostiene — y lo que no

El diseño experimental aquí es admirablemente limpio: la posición es la única variable que se manipula, las tareas son benchmarks estándar y el hallazgo se replica en una amplia gama de familias de modelos. No tengo objeciones con el resultado central.

Lo que encuentro menos convincente es el planteamiento de la tarea de recuperación de clave-valor como un proxy significativo para el uso real. Las búsquedas de UUID a UUID prueban si un modelo puede repetir una cadena memorizada, no si puede hacer algo que requiera razonamiento. La curva en U también aparece allí, lo que refuerza la afirmación del sesgo de posición, pero también significa que el artículo está combinando dos fenómenos diferentes: la precisión de recuperación en tareas de coincidencia exacta y la calidad del razonamiento sobre pasajes relevantes. Me gustaría saber si la forma de U empeora o mejora cuando el documento relevante requiere una inferencia de múltiples pasos antes de la respuesta final, y no solo una repetición literal.

También hay una brecha que los autores reconocen en su mayoría pero no cierran: nunca prueban si el ajuste fino de instrucciones (instruction fine-tuning) o el RLHF cambia la sensibilidad a la posición, solo si lo hace una ventana de contexto más grande. Dado que la causa raíz es arquitectónica (enmascaramiento causal), sospecho que el ajuste de instrucciones no lo solucionará, pero el artículo no lo confirma.

Por qué esto importa para la IA financiera

Este artículo proporciona la explicación mecánica para un patrón empírico que encuentro constantemente. DocFinQA colapsó con informes extensos de la SEC. IRCoT y FLARE recuperan múltiples pasajes y los concatenan antes de razonar. Cada pipeline de RAG que he analizado en un contexto financiero vuelca los pasajes recuperados secuencialmente en el prompt y espera que el modelo preste atención al correcto.

La implicación para los agentes de Beancount es concreta. Si un agente recupera diez asientos del libro mayor como contexto, los asientos en las posiciones 3–7 tienen el mayor riesgo de ser ignorados o de generar alucinaciones a su alrededor. Esto no es un problema de recuperación, es un problema de presentación. Dos respuestas se derivan de este artículo: o se colocan los asientos más relevantes para el diagnóstico al principio (y al final), o no se concatena en absoluto y se razona sobre un pasaje a la vez.

El hallazgo también complica la narrativa de los LLM de contexto largo. Cada trimestre, un nuevo modelo anuncia una ventana de contexto más grande. Este artículo dice que el hecho de que la ventana sea larga no significa lo que crees si distribuyes la evidencia de manera uniforme en ella. Un modelo de contexto de 128K que entierra la transacción relevante en la posición 60K es peor que un modelo de contexto de 4K que recupera precisamente el pasaje correcto.

Para la seguridad de escritura (write-back safety), las implicaciones son incómodas: si se le pide al modelo que resuma una sesión del libro mayor y la regla de política relevante de "no publicar esta transacción" aparece en medio de un prompt de sistema largo, el modelo puede actuar como si nunca hubiera leído esa regla.

Qué leer a continuación

  • "Found in the Middle: How Language Models Use Long Contexts Better via Plug-and-Play Positional Encoding" (Zhang et al., arXiv:2403.04797): propone la Codificación Posicional Multiescala (Ms-PoE) como una solución sin entrenamiento mediante el escalado de RoPE; afirma una mejora de hasta 3.8 puntos en Zero-SCROLLS, abordando directamente la curva en U.
  • "Never Lost in the Middle: Mastering Long-Context Question Answering with Position-Agnostic Decompositional Training" (arXiv:2311.09198): toma el enfoque opuesto y entrena al modelo para que sea explícitamente agnóstico a la posición; la comparación con Ms-PoE aclara si el ajuste fino o los trucos en tiempo de inferencia son la mejor palanca.
  • "Mitigate Position Bias in Large Language Models via Scaling a Single Dimension" (arXiv:2406.02536): identifica la dimensión específica de los estados ocultos posicionales responsable del sesgo y la escala sin reentrenamiento; la solución más quirúrgica propuesta hasta ahora, relevante para desplegar modelos existentes sin reentrenar.