
Este paper introduce un cambio significativo al benchmark tradicional Needle-in-a-Haystack (NIAH) al eliminar las coincidencias literales entre las preguntas y la aguja (información relevante) oculta en el pajar (texto irrelevante).
Esto destaca una limitación crítica en los LLM actuales: dependen en gran medida de la coincidencia de patrones superficiales, y su capacidad para realizar razonamiento asociativo profundo se deteriora rápidamente con el aumento de la longitud del contexto.
Basándonos en estos hallazgos, buscamos investigar si patrones de rendimiento similares ocurren en modelos de embedding, específicamente enfocándonos en jina-embeddings-v3. Dado que la efectividad de los sistemas RAG depende críticamente de la calidad de los modelos de recuperación, buscamos extender la investigación de NoLiMA a través de experimentos controlados que aborden dos preguntas fundamentales:
- ¿Cómo manejan los modelos de embedding la recuperación de aguja en un pajar a través de diferentes longitudes de contexto cuando se ven forzados a hacer saltos semánticos más allá de las coincidencias literales de palabras clave?
- ¿Puede la ampliación estratégica de consultas con contenido semánticamente similar mitigar esta brecha de rendimiento?
El marcado contraste observado en los LLM —robustos con coincidencias léxicas pero vulnerables con variaciones semánticas— sugiere que los sistemas de recuperación basados en embeddings podrían enfrentar desafíos similares al ir más allá de la coincidencia de términos superficiales, potencialmente revelando limitaciones fundamentales en las tecnologías actuales de búsqueda semántica.
tagConstrucción de Agujas y Pajares
tagConstrucción de Agujas
Las pruebas tradicionales de aguja en un pajar usan agujas que reflejan la redacción de la pregunta que se está buscando. Por ejemplo:
- Pregunta: "¿Qué personaje ha estado en Dresde?"
- Aguja: "Yuki vive en Dresde."
Pero como NoLiMA, queremos probar la comprensión semántica en lugar de la simple coincidencia de palabras clave, así que creamos variaciones de un salto (usando palabras específicamente no presentes en los documentos) con dos ordenamientos de palabras diferentes:
- Pregunta: "¿Qué personaje ha estado en Dresde?"
- Aguja (predeterminada): "De hecho, Yuki vive junto a la Casa de la Ópera Semper."
- Aguja (invertida): "La Casa de la Ópera Semper está junto a donde vive Yuki."
Siguiendo la metodología del paper, generamos estos grupos de aguja-pregunta (consistentes en una pregunta, una aguja de un salto, y una aguja de un salto invertida) a través de varias categorías, como los ejemplos a continuación:
Categoría | Pregunta | Aguja original (como referencia) | Aguja de un salto | Aguja de un salto invertida |
---|---|---|---|---|
Restricciones dietéticas | ¿Qué personaje no puede comer comidas a base de pescado? | Alice no puede comer comidas a base de pescado. | Entonces, Alice mencionó ser vegana durante años. | Ser vegana era importante para Alice durante años. |
Condiciones médicas | ¿Qué personaje no puede beber leche? | Bob no puede beber leche. | Bob explicó que era intolerante a la lactosa. | Ser intolerante a la lactosa afectaba a Bob diariamente. |
Dominio de idiomas | ¿Qué personaje habla francés? | Charlie habla francés. | De hecho, Charlie estudió en la Sorbona. | En la Sorbona, Charlie completó su título. |
Antecedentes profesionales | ¿Qué personaje es músico? | Diane es música. | En 2013, Diane dirigió en la Ópera de Sídney. | La presentación en la Ópera de Sídney fue dirigida por Diane. |
Nótese que las agujas originales (coincidencias literales de palabras clave) se proporcionan como referencia y no se utilizan en nuestros experimentos.
tagConstrucción de Pajares
Comenzamos con diez libros de dominio público, cada uno conteniendo al menos 50,000 tokens, concatenando aleatoriamente fragmentos cortos (menos de 250 tokens) de ellos en pajares de diferentes longitudes, específicamente 128, 256, 512, 1024, 2048, 4096 y 8192 tokens. Luego incrustamos una aguja en cada pajar:

Para un ejemplo más concreto, tomaremos la aguja "De hecho, Yuki vive junto a la Casa de la Ópera Semper" y la colocaremos en un pajar de 128 tokens en la posición 50:

Usando jina-embeddings-v3 para incrustar los textos, la puntuación de similitud entre el texto de la aguja y el texto del pajar es:
Question-Haystack similarity = 0.2391
Luego normalizamos la puntuación dividiendo este número por la puntuación de similitud de la pregunta y la aguja predeterminada (sin creación de pajar, solo comparación directa):
Question-Needle similarity = 0.3598
Normalized Query-Haystack similarity = 0.2391 / 0.3598 = 0.6644
Esta normalización es necesaria porque no todos los modelos producen las mismas puntuaciones de similitud entre dos textos, y jina-embeddings-v3 tiende a subcalcular la similitud entre dos textos.
Para cada aguja (incluyendo todas las predeterminadas e invertidas) generamos diez pajares por longitud de contexto, incrustando una aguja por pajar en una ubicación diferente. Para una aguja y longitud de contexto dadas, los pajares se verían algo así:

Como control, también generamos un pajar para cada condición de prueba sin ninguna aguja. En total, son 3,234 pajares. Codificamos cada pajar con jina-embeddings-v3 (usando el LoRA predeterminado de coincidencia de texto), luego para cada pajar lo truncamos (si el total de tokens excedía 8,192, el límite parajina-embeddings-v3) luego codificó su pregunta correspondiente.
tagMétricas de Evaluación
Nuestro marco de evaluación utiliza varias métricas para evaluar el rendimiento del modelo de embeddings a través de diferentes longitudes de contexto:
tagMétricas Primarias
Puntuación de Similitud Normalizada
La métrica principal es una puntuación de similitud normalizada que tiene en cuenta tanto la similitud semántica entre la pregunta y el contexto completo (similitud pregunta-pajar), como la similitud base entre la pregunta y su aguja predeterminada correspondiente (similitud pregunta-aguja). Esta normalización asegura que el rendimiento del modelo se evalúe en relación con un punto de referencia significativo en lugar de solo puntuaciones de similitud absolutas. El proceso de normalización implica calcular la puntuación de similitud de coseno directa entre preguntas y sus agujas correspondientes (nuestra línea base), y dividir la similitud pregunta-pajar por esta puntuación base:
Ratio Comparativo con el Azar
Para cualquier modelo de embeddings, las puntuaciones de similitud de coseno entre diferentes pares de consulta-documento solo son directamente comparables cuando la consulta permanece igual. Por lo tanto, más allá de usar puntuaciones de similitud normalizadas, también medimos con qué frecuencia la pregunta es más similar al pajar completo que a un pasaje aleatorio de la misma longitud sin aguja.
tagMétricas Secundarias
Análisis de Separación
Esta métrica evalúa qué tan bien el modelo distingue entre contenido relevante e irrelevante. Incluye la separación media, que representa la diferencia entre ejemplos positivos (pasajes que contienen la respuesta) y ejemplos negativos (pasajes que no contienen la respuesta), y la puntuación AUC (Área Bajo la Curva), que mide la capacidad de discriminación basada en el área bajo la curva ROC (Característica Operativa del Receptor).
Efectos de Posición
Analizamos cómo la ubicación de la aguja afecta el rendimiento a través del coeficiente de correlación entre posición y puntuación de similitud, pendiente de regresión que muestra el cambio de rendimiento a través de las posiciones, y análisis de rendimiento agrupado por posición.
tagHallazgos
tagDegradación de la Puntuación de Similitud y Corrección
Nuestros resultados muestran claramente que el rendimiento se degrada a medida que aumenta la longitud del contexto, con la puntuación de similitud media cayendo de 0.37 en 128 tokens a 0.10 en 8K tokens, siguiendo una tendencia no lineal con una caída pronunciada entre 128 y 1K tokens.

En la siguiente figura, demostramos que invertir la aguja tiene poca diferencia en la puntuación de similitud normalizada. Tanto la aguja predeterminada (por ejemplo, "En realidad, Yuki vive cerca de la Ópera Semper") como la aguja invertida (por ejemplo, "La Ópera Semper está junto a donde vive Yuki") muestran un rendimiento casi idéntico:

Las diferentes conexiones semánticas del conjunto de datos muestran rendimientos variables, con los pares ubicación-punto de referencia manteniendo los resultados más fuertes, mientras que las conexiones dietéticas y de condiciones médicas se degradan más rápidamente:

La comparación de los resultados con el azar respalda nuestros hallazgos, mostrando que cuanto más grande es el pajar, más se acercan los resultados al azar, es decir, es casi tan probable seleccionar un pasaje aleatorio sin aguja (respuesta correcta) como el pajar para una pregunta dada:

Nuevamente, vemos rendimientos variables basados en diferentes conexiones semánticas, con algunas (como restricciones dietéticas) cayendo bien por debajo del azar incluso en contextos relativamente cortos, mientras que otras (como ubicaciones y puntos de referencia) muestran un rendimiento mucho mejor independientemente de la longitud del contexto:

Invertir la aguja tiene poco efecto en el rendimiento. En el siguiente gráfico, mostramos la ratio comparativa de preferir el pajar correcto al azar, dividido por si la aguja colocada contenía la respuesta en orden predeterminado u orden invertido:

Como podemos ver que los resultados para agujas en orden predeterminado e invertido siguen la misma tendencia, no continuaremos el análisis dividido respecto a este criterio.
tag¿Podemos Separar Resultados Positivos de Negativos?
Uno de nuestros hallazgos más importantes proviene del análisis de qué tan bien los modelos de embeddings pueden distinguir contenido relevante de irrelevante a través de diferentes longitudes de contexto. Este "análisis de separación" revela que la corrección de la recuperación cae rápidamente entre longitudes de contexto de 128 y 1000 tokens, y luego continúa cayendo, aunque a una tasa más lenta:

Para contextos cortos (128 tokens), el modelo muestra una fuerte separación con una diferencia media de 0.1 y una discriminación clara, alcanzando un AUC de 0.81 (lo que significa que el 81% del tiempo, el modelo clasifica un pasaje relevante más alto que uno irrelevante). Esto indica que en contextos más cortos, el modelo puede distinguir de manera confiable los pasajes que contienen la respuesta de aquellos que no la contienen.
Sin embargo, esto se deteriora rápidamente a medida que aumenta la longitud del contexto. En 1.000 tokens, la separación cae un 60% a 0,040, y el AUC disminuye a 0,66, señalando una notable caída en el rendimiento. A los 8.000 tokens, hay una separación mínima (0,001) y una discriminación casi aleatoria, con un AUC de solo 0,50. Este patrón revela una perspectiva crucial: incluso cuando los modelos pueden calcular puntuaciones de similitud razonables en contextos más largos, apenas pueden usar estas puntuaciones para distinguir información relevante de irrelevante. A los 8.000 tokens, la capacidad del modelo para diferenciar contenido relevante es esencialmente aleatoria.
La velocidad de esta degradación a medida que crece el contexto es sorprendente. Las puntuaciones de similitud brutas caen aproximadamente un 75% de 128 a 8.000 tokens, pero las métricas de separación disminuyen casi un 99% en el mismo intervalo. Más preocupante aún, el tamaño del efecto muestra una disminución aún más pronunciada, cayendo un 98,6%. Esto sugiere que las dificultades de los modelos de embedding con contextos largos van más allá de simplemente reducir las puntuaciones de similitud—su capacidad fundamental para identificar información relevante se deteriora mucho más severamente de lo que se entendía anteriormente.
tag¿Cómo Afecta la Posición de la Aguja a las Métricas Principales?
Si bien las métricas de rendimiento principales suelen ser mejores cuando la aguja está al principio del pajar, la degradación del rendimiento no siempre se correlaciona con la ubicación en el medio del contexto:

También vemos que el rendimiento es mejor cuando la aguja está al inicio de un contexto dado, y en contextos cortos vemos un pequeño aumento en el rendimiento cuando la aguja se coloca hacia el final. Sin embargo, en todos los contextos vemos una caída en el rendimiento cuando la aguja está en posiciones intermedias:

tag¿Qué Efecto Tiene la Expansión de Consultas en los Resultados?
Recientemente publicamos un post sobre expansión de consultas, una técnica utilizada en sistemas de búsqueda para mejorar el rendimiento de búsqueda agregando términos relevantes a las consultas.

En el post, usamos un LLM para generar términos de expansión, que luego se agregaron a los embeddings de consulta para mejorar el rendimiento de recuperación. Los resultados mostraron mejoras significativas. Ahora, queremos examinar cómo (o si) la técnica mejorará los resultados para la búsqueda de aguja en un pajar. Por ejemplo, dada una consulta:
Which character has been to Dresden?
Usamos un LLM (Gemini 2.0) para expandirla y agregar 100 términos adicionales que se ven así:
Which character has been to Dresden? Character: fictional character literary character protagonist antagonist figure persona role dramatis personae\\n\\nDresden: Dresden Germany; bombing of Dresden World War II historical fiction Kurt Vonnegut Slaughterhouse-Five city in Saxony Elbe River cultural landmark\\n\\nHas been to: visited traveled to journeyed to presence in appears in features in set in takes place in location setting
tag¿Cuánto Ayuda la Expansión de Consultas a Emparejar la Aguja con el Pajar?
Para nuestro experimento, generamos tres conjuntos de términos de consulta expandidos (como se describe en el post original) - 100, 150 y 250 términos. Luego ejecutamos el mismo conjunto de experimentos que antes, repetidos tres veces, una vez con cada conjunto de términos de consulta expandidos.
Los resultados con todos los conjuntos de expansión mostraron una clara degradación a medida que aumentaba la longitud del contexto, con un efecto similar a no usar expansión de consulta en absoluto (Figuras 4 y 7):

En comparación con las consultas no expandidas, todas las condiciones de expansión de consulta mostraron el mismo patrón de rendimiento degradado a medida que crecía el contexto. La tendencia de degradación también sigue siendo no lineal con una fuerte disminución entre 128 y 1K tokens:

Sin embargo, al examinar el ratio comparativo se muestra que la expansión de consultas tiene claros beneficios: El modelo es mucho más propenso a seleccionar el pajar con la aguja sobre el que no la tiene. En contraste, sin expansión de consulta la probabilidad de seleccionar el pasaje correcto cayó tanto que, con un tamaño de pajar de 8K tokens, era casi lo mismo que elegir un pasaje al azar.
tag¿Cómo Explicamos los Resultados de Emparejamiento de Agujas con Expansión de Consultas?
Estos resultados se alinean con los hallazgos tanto del paper NoLiMa como de la investigación de expansión de consultas, y pueden explicarse de la siguiente manera:
- Compensación entre calidad y cantidad: El mejor rendimiento de la expansión de 100 términos, en comparación con 150 y 250 términos, sugiere que hay un punto óptimo donde términos adicionales comienzan a agregar más ruido que señal. La expansión de 250 términos probablemente introduce términos con relaciones semánticas más débiles con la consulta original, que se vuelven contraproducentes en contextos más largos.
- La longitud del contexto sigue siendo el desafío principal: A pesar de los beneficios de la expansión de consultas, el rendimiento aún se degrada significativamente con el aumento de la longitud del contexto. Esto sugiere que incluso con expansión, persiste la limitación arquitectónica fundamental de los modelos basados en atención en contextos largos.
- Identificación del umbral práctico: El ratio comparativo que se mantiene por encima de 0,5 indica que la expansión mantiene un rendimiento superior al azar incluso a 8K tokens, proporcionando una forma práctica de extender la ventana de contexto efectiva para modelos de embedding. La comparación con el azar muestra que, incluso cuando se presentan documentos con contexto largo, expandir la consulta hace más probable encontrar la respuesta correcta (es decir, la aguja) que una incorrecta. Esto es una mejora en comparación con las consultas no expandidas, donde la probabilidad de encontrar la respuesta correcta se aproxima al azar a medida que aumenta la longitud del contexto.
tagDiagnóstico: ¿Qué Papel Juega la Coincidencia Léxica en los Embeddings?
En los experimentos anteriores, medimos la efectividad de los modelos de embedding para hacer inferencias semánticas de "un salto" en pasajes de contexto largo, eliminando toda posibilidad de coincidencia literal. Encontramos que, incluso con expansión de consultas, la capacidad del modelo de embedding para encontrar pasajes relevantes se deteriora a medida que crece la longitud del contexto. Este efecto es significativo, y el hallazgo es notable porque normalmente esperaríamos que un modelo de embedding pudiera hacer las inferencias relevantes sin asistencia adicional. Cuando reemplazamos coincidencias literales con variaciones de un salto (por ejemplo, "Dresden" → "Semper Opera House"), todo lo que estamos haciendo es reemplazar un concepto por otro cercano.
Ahora, agarremos el toro por los cuernos y hagamos la pregunta directamente: ¿La coincidencia literal realmente juega un papel lo suficientemente significativo en la coincidencia semántica, o el efecto de la longitud del contexto la supera? Para responder esta pregunta, rehicicimos nuestras pruebas con agujas que contienen coincidencias literales, por ejemplo:
- Pregunta: "Which character has been to Dresden?"
- Aguja (predeterminada): "Actually, Yuki lives in Dresden."
- Aguja (invertida): "Dresden is where Yuki lives."
Observe que, en lugar de una variación de un paso para inferir que la Ópera Semper está en Dresde y, por lo tanto, un personaje que vive junto a ella debería haber sido el que visitó Dresde, estas pistas indican directamente el nombre del personaje que vive en Dresde.
Después de reformular los 22 pares de pregunta-pista de esta manera, volvimos a ejecutar nuestros experimentos con todas las longitudes de contexto incluidas y las ubicaciones de las pistas, utilizando el mismo modelo de embeddings jina-embeddings-v3.



Los resultados son sorprendentes. Incluso con coincidencias literales en el contexto, la capacidad del modelo para distinguir la respuesta correcta de una aleatoria se deteriora rápidamente a medida que crece la longitud del contexto, aunque mantiene una ligera ventaja sobre la ausencia completa de cualquier coincidencia literal.
Esto demuestra finalmente que la capacidad de un modelo de embeddings para encontrar una aguja en un pajar se ve afectada mucho más por el tamaño del pajar (y la ubicación de la aguja en él) que por la formulación semántica de la aguja.
tagConclusión
Nuestros hallazgos con modelos de embeddings se alinean con el artículo de NoLiMA sobre LLMs: El tamaño del contexto es altamente determinante para la coincidencia y recuperación correcta. Demostramos que esto es cierto incluso cuando hay una coincidencia exacta letra por letra.
El problema no es la capacidad de un embedding para realizar coincidencias semánticas. Los modelos de embeddings como jina-embeddings-v3 manejan bien los contextos cortos, pero su efectividad disminuye a medida que aumenta la longitud del contexto. La expansión de consultas puede reducir este efecto hasta cierto punto, pero la calidad de recuperación aún se degrada en contextos más largos. Además, la expansión de consultas plantea problemas adicionales, ya que es crucialmente importante identificar términos de expansión que mejoren la recuperación sin agregar ruido semántico. Estamos investigando y buscando formas de abordar directamente la recuperación de aguja en un pajar y mejorar el rendimiento futuro de jina-embeddings-v4.