IndexCache: Accelerating Sparse Attention via Cross-Layer Index Reuse

El artículo presenta IndexCache, una técnica que acelera la atención dispersa en modelos de lenguaje de gran contexto reutilizando los índices de capas completas en capas compartidas, logrando reducir hasta un 75% los cálculos del indexador y mejorar significativamente la velocidad de inferencia sin degradar la calidad.

Yushi Bai, Qian Dong, Ting Jiang, Xin Lv, Zhengxiao Du, Aohan Zeng, Jie Tang, Juanzi Li

Publicado 2026-03-13
📖 4 min de lectura☕ Lectura para el café

Each language version is independently generated for its own context, not a direct translation.

¡Claro que sí! Imagina que tienes un chef de cocina extremadamente talentoso (este es nuestro modelo de Inteligencia Artificial) que necesita preparar un plato complejo basado en una receta gigante (un texto muy largo).

Aquí está la explicación de la investigación "IndexCache" usando una analogía de cocina y un equipo de trabajo:

1. El Problema: El Chef que Revisa Todo Twice

Imagina que el chef tiene que leer una receta de 100,000 ingredientes para cocinar un solo plato.

  • La forma antigua: Para saber qué ingredientes son importantes, el chef revisa cada palabra de la receta, una por una, antes de cocinar. Esto es lento y agotador.
  • La solución "DSA" (DeepSeek Sparse Attention): Para ir más rápido, el chef contrata a un ayudante rápido (llamado "indexer" o indexador). Este ayudante revisa la receta y le dice al chef: "Oye, solo necesitas mirar los ingredientes 5, 20 y 99. Ignora el resto".
    • El resultado: El chef ahora solo revisa unos pocos ingredientes, ¡qué velocidad!
    • El nuevo problema: Pero espera, el ayudante sigue revisando toda la receta de 100,000 palabras para cada paso de la cocina. Si la receta tiene 50 pasos (capas de la red neuronal), el ayudante tiene que leer la receta completa 50 veces. ¡Eso sigue siendo muy lento y costoso!

2. La Idea Brillante: ¡No necesitas 50 ayudantes diferentes!

Los investigadores se dieron cuenta de algo curioso: los ayudantes en pasos consecutivos casi siempre eligen los mismos ingredientes.

  • Si el ayudante del paso 1 dice "usa los ingredientes 5, 20 y 99", el ayudante del paso 2 probablemente dirá casi exactamente lo mismo.
  • La analogía: Es como si en una cadena de montaje, el inspector de la pieza 1 y el inspector de la pieza 2 estuvieran revisando el mismo producto y encontrando los mismos defectos. ¿Por qué pagar a dos personas para hacer el mismo trabajo?

3. La Solución: IndexCache (El "Cache" o Memoria Compartida)

Aquí es donde entra IndexCache. En lugar de tener un ayudante revisando la receta en cada paso, el equipo se reorganiza así:

  • Paso 1 (El "Jefe"): Un ayudante revisa la receta completa y anota los ingredientes importantes.
  • Paso 2, 3 y 4 (Los "Reutilizadores"): En lugar de tener sus propios ayudantes, estos pasos simplemente copian la lista que escribió el Jefe.
  • Paso 5 (Otro "Jefe"): Pasan unos cuantos pasos y el equipo decide: "Bueno, quizás las cosas han cambiado un poco, hagamos que otro ayudante revise la receta completa de nuevo".
  • Paso 6, 7 y 8: Copian la nueva lista del Paso 5.

En resumen: Tienes un equipo donde solo el 25% de los pasos tienen su propio ayudante revisando todo, y el 75% restante simplemente usa la lista de la última vez que alguien revisó.

4. ¿Cómo saben qué pasos son los "Jefes"?

El papel propone dos formas inteligentes de decidir quién revisa y quién copia:

  1. Sin entrenar (Búsqueda "Greedy"): Imagina que tienes un modelo ya cocinado. El equipo prueba diferentes combinaciones (¿qué pasa si el paso 3 es un Jefe? ¿Y si es el paso 4?) usando una pequeña prueba de sabor. Eligen la combinación que da el mejor sabor sin cambiar la receta original. Es como probar diferentes rutas en un mapa GPS para encontrar la más rápida sin construir nuevas carreteras.
  2. Entrenando juntos (Distilación Multi-Capa): Si están creando el modelo desde cero, entrenan a los "Jefes" para que sean expertos en dar listas que sirvan para varios pasos a la vez. En lugar de decir "esto es bueno para el paso 1", el ayudante aprende a decir "esto es bueno para los pasos 1, 2 y 3". Así, la lista que copia el paso 2 funciona perfectamente.

5. Los Resultados: ¡Volar!

Gracias a esta idea, los resultados son increíbles:

  • Velocidad de inicio (Prefill): El modelo empieza a hablar casi el doble de rápido (hasta 1.8 veces más rápido).
  • Velocidad de escritura (Decode): Sigue escribiendo mucho más rápido (hasta 1.5 veces más rápido).
  • Calidad: ¡Y lo mejor! El sabor del plato (la calidad de la respuesta) es casi idéntico al original. No se nota la diferencia.

En conclusión

IndexCache es como decirle a un equipo de trabajo: "Dejen de revisar el mismo documento 50 veces. Que solo tres personas lo revisen y el resto copie sus notas". Esto ahorra una cantidad enorme de tiempo y energía (dinero en servidores) sin sacrificar la calidad del trabajo final.

Es una solución brillante para hacer que las Inteligencias Artificiales sean más rápidas y baratas, especialmente cuando tienen que leer libros enteros o tener conversaciones muy largas.