Nos últimos anos, os grandes modelos de linguagem (LLMs) baseados na arquitetura Transformer fizeram progressos significativos. Novos modelos como Gemini-Pro1.5, Claude-3, GPT-4 e Llama-3.1 conseguem processar centenas ou milhares de tokens.

No entanto, esses comprimentos de contexto expandidos trazem desafios significativos para aplicações práticas. Com o aumento do comprimento da sequência, o atraso na decodificação aumenta e as limitações de memória tornam-se um gargalo sério. O cache KV armazena informações de contexto durante a inferência, e com o aumento do comprimento do contexto, o tamanho do cache também aumenta proporcionalmente, levando à saturação da memória e afetando severamente a eficiência no processamento de sequências de entrada longas. Portanto, soluções de otimização são urgentemente necessárias.

QQ_1741335458994.png

Embora existam alguns métodos sem treinamento no mercado, eles geralmente dependem da obtenção de pesos de atenção para determinar a importância dos pares chave-valor, o que os torna incompatíveis com algoritmos de atenção eficientes (como FlashAttention). Esses métodos geralmente exigem o recálculo parcial da matriz de atenção, introduzindo sobrecarga de tempo e memória. Portanto, os algoritmos de compressão existentes são usados principalmente para compactar prompts antes da geração de respostas, e não para otimizar o processo de geração com memória limitada. Essa limitação destaca a necessidade de desenvolver técnicas de compressão que mantenham o desempenho do modelo sem modificações de arquitetura.

Uma equipe de pesquisa da Sorbonne University, do Instituto Nacional de Informação e Automática da França, da Universidade Sapienza de Roma, da Universidade de Edimburgo e da Miniml.AI propôs o Q-Filters, uma poderosa técnica de compressão de cache KV sem treinamento que utiliza um método de filtragem baseado em consultas para otimizar o uso de memória, mantendo ao mesmo tempo o desempenho do modelo. O Q-Filters avalia a importância dos pares chave-valor relacionados à consulta atual, em vez de depender dos pesos de atenção. Esse método garante compatibilidade com algoritmos de atenção eficientes e não requer recálculo ou modificação da arquitetura. Ao avaliar e reter dinamicamente as informações de contexto mais relevantes, o Q-Filters consegue uma redução significativa da memória, mantendo a qualidade da inferência.

QQ_1741335465420.png

O Q-Filters apresentou desempenho excelente em vários cenários de avaliação, superando consistentemente os métodos de compressão de cache KV existentes. Em testes de modelagem de linguagem no conjunto de dados Pile, a técnica atingiu a menor perplexidade entre todas as soluções de compressão. Especificamente no modelo Llama-3.1-70B, o Q-Filters mostrou uma redução significativa na perplexidade na parte posterior das sequências, onde a preservação do contexto é crucial.

Na tarefa de "agulha no palheiro", o Q-Filters manteve 91% de precisão, preservando com sucesso informações importantes em comprimentos de contexto extremos (de 1K a 64K tokens). A avaliação abrangente também validou a superioridade do método, especialmente em altas taxas de compressão (32 vezes), onde o Q-Filters obteve a pontuação mais alta nos benchmarks de modelagem de contexto longo.

Artigo:https://arxiv.org/abs/2503.02812

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

Destaques:

🔍 O Q-Filters é uma técnica de compressão de cache KV sem treinamento que otimiza eficazmente o uso da memória sem perda de desempenho do modelo.

📊 O método apresentou desempenho superior em várias avaliações, obtendo a menor perplexidade e a maior precisão em tarefas de modelagem de linguagem e contexto extremo.

🛠️ O Q-Filters é compatível com algoritmos de atenção eficientes e requer apenas uma etapa de preparação após o treinamento do modelo para uso em aplicações práticas.