Q-Filters: Aproveitando a Geometria QK para Compressão Eficiente do Cache KV
Q-Filters: Leveraging QK Geometry for Efficient KV Cache Compression
March 4, 2025
Autores: Nathan Godey, Alessio Devoto, Yu Zhao, Simone Scardapane, Pasquale Minervini, Éric de la Clergerie, Benoît Sagot
cs.AI
Resumo
Modelos de linguagem autoregressivos dependem de um Cache de Chave-Valor (KV), que evita a re-computação de estados ocultos passados durante a geração, tornando-a mais rápida. À medida que os tamanhos dos modelos e os comprimentos de contexto aumentam, o Cache KV se torna um gargalo significativo de memória, o que exige métodos de compressão que limitem seu tamanho durante a geração. Neste artigo, descobrimos propriedades surpreendentes dos vetores de Consulta (Q) e Chave (K) que nos permitem aproximar eficientemente os escores de atenção sem calcular os mapas de atenção. Propomos Q-Filters, um método de compressão do Cache KV que não requer treinamento e filtra pares Chave-Valor menos cruciais com base em uma única projeção agnóstica ao contexto. Contrariamente a muitas alternativas, Q-Filters é compatível com FlashAttention, pois não requer acesso direto aos pesos de atenção. Resultados experimentais em configurações de contexto longo demonstram que Q-Filters é competitivo com métodos de compressão baseados em atenção, como SnapKV, em tarefas de recuperação, enquanto consistentemente supera esquemas de compressão eficientes, como Streaming-LLM, em configurações de geração. Notavelmente, Q-Filters alcança 99% de precisão na tarefa de "agulha no palheiro" com um nível de compressão de x32, enquanto reduz a queda de perplexidade na geração de texto em até 65% em comparação com Streaming-LLM.
English
Autoregressive language models rely on a Key-Value (KV) Cache, which avoids
re-computing past hidden states during generation, making it faster. As model
sizes and context lengths grow, the KV Cache becomes a significant memory
bottleneck, which calls for compression methods that limit its size during
generation. In this paper, we discover surprising properties of Query (Q) and
Key (K) vectors that allow us to efficiently approximate attention scores
without computing the attention maps. We propose Q-Filters, a training-free KV
Cache compression method that filters out less crucial Key-Value pairs based on
a single context-agnostic projection. Contrarily to many alternatives,
Q-Filters is compatible with FlashAttention, as it does not require direct
access to attention weights. Experimental results in long-context settings
demonstrate that Q-Filters is competitive with attention-based compression
methods such as SnapKV in retrieval tasks while consistently outperforming
efficient compression schemes such as Streaming-LLM in generation setups.
Notably, Q-Filters achieves a 99% accuracy in the needle-in-a-haystack task
with a x32 compression level while reducing the generation perplexity drop by
up to 65% in text generation compared to Streaming-LLM.Summary
AI-Generated Summary