En los últimos años, los grandes modelos de lenguaje (LLM) basados en la arquitectura Transformer han experimentado un progreso notable. Nuevos modelos como Gemini-Pro1.5, Claude-3, GPT-4 y Llama-3.1 pueden procesar cientos o miles de tokens.

Sin embargo, estas longitudes de contexto extendidas presentan importantes desafíos en aplicaciones reales. A medida que aumenta la longitud de la secuencia, el retardo de decodificación también aumenta, y las limitaciones de memoria se convierten en un serio cuello de botella. La caché KV almacena información de contexto durante la inferencia, y a medida que aumenta la longitud del contexto, el tamaño de la caché crece proporcionalmente, lo que lleva a la saturación de la memoria y afecta gravemente la eficiencia en el procesamiento de secuencias de entrada largas. Por lo tanto, se necesitan urgentemente soluciones de optimización.

QQ_1741335458994.png

Si bien existen algunos métodos sin entrenamiento en el mercado, suelen depender de la obtención de pesos de atención para determinar la importancia de los pares clave-valor, lo que los hace incompatibles con algoritmos de atención eficientes (como FlashAttention). Estos métodos a menudo requieren un recálculo parcial de la matriz de atención, lo que introduce costos de tiempo y memoria. Por lo tanto, los algoritmos de compresión existentes se utilizan principalmente para comprimir las indicaciones antes de generar respuestas, en lugar de optimizar el proceso de generación con recursos de memoria limitados. Esta limitación destaca la necesidad de desarrollar técnicas de compresión que mantengan el rendimiento del modelo sin necesidad de modificaciones arquitectónicas.

Un equipo de investigación de la Universidad de la Sorbona, el Instituto Nacional de Investigación en Informática y Automática de Francia, la Universidad Sapienza de Roma, la Universidad de Edimburgo y Miniml.AI propone Q-Filters, una potente técnica de compresión de caché KV sin entrenamiento que utiliza un método de filtrado basado en consultas para optimizar el uso de la memoria mientras se mantiene el rendimiento del modelo. Q-Filters evalúa la importancia de los pares clave-valor relacionados con la consulta actual, en lugar de depender de los pesos de atención. Este método garantiza la compatibilidad con algoritmos de atención eficientes y no requiere volver a entrenar o modificar la arquitectura. Mediante la evaluación dinámica y la retención de la información de contexto más relevante, Q-Filters logra una reducción significativa de la memoria mientras mantiene la calidad de la inferencia.

QQ_1741335465420.png

Q-Filters ha demostrado un excelente rendimiento en múltiples escenarios de evaluación, superando constantemente a los métodos de compresión de caché KV existentes. En las pruebas de modelado del lenguaje en el conjunto de datos Pile, la técnica logró la menor perplejidad entre todas las soluciones de compresión. En particular, en el modelo Llama-3.1-70B, Q-Filters mostró una reducción significativa de la perplejidad en la segunda mitad de las secuencias, donde la retención del contexto es crucial.

En la tarea de "la aguja en el pajar", Q-Filters mantuvo una precisión del 91%, conservando con éxito la información importante en longitudes de contexto extremas (de 1K a 64K tokens). La evaluación integral también verificó la superioridad del método, especialmente a altas tasas de compresión (32 veces), donde Q-Filters obtuvo la puntuación más alta en las pruebas de referencia de modelado de contexto largo.

Artículo: https://arxiv.org/abs/2503.02812

Huggingface: https://huggingface.co/collections/nthngdy/q-filters-67a4994dcb302a3d37f3d119

Puntos clave:

🔍 Q-Filters es una técnica de compresión de caché KV sin entrenamiento que optimiza eficazmente el uso de la memoria sin pérdida de rendimiento del modelo.

📊 El método muestra un rendimiento superior en múltiples evaluaciones, obteniendo la menor perplejidad y la mayor precisión en tareas de modelado de lenguaje y contexto extremo.

🛠️ Q-Filters es compatible con algoritmos de atención eficientes y solo requiere un paso de preparación después del entrenamiento del modelo para su uso en aplicaciones reales.