DeepSeek, Google e Meta: 10 técnicas de compressão de KV-cache em LLM para reduzir memória em inferência
KV-cache há muito é uma limitação para executar LLMs com contexto longo, e agora pesquisadores oferecem não apenas um, mas uma dúzia de formas práticas para…
Processado por IA de MarkTechPost; editado por Hamidun News
O KV-cache evoluiu de um detalhe auxiliar para um dos principais gargalos da inferência LLM em produção. Uma nova pesquisa compilou 10 técnicas que ajudam a reduzir o consumo de memória sem retreinamento completo do modelo e em muitos casos aceleram significativamente a geração.
Onde os LLMs Ficam Presos
Quanto maior o contexto e quanto mais requisições simultâneas um modelo atende, mais rápido o KV-cache cresce—um armazenamento intermediário de chaves e valores do mecanismo de atenção. A pesquisa fornece um exemplo revelador: um modelo com 30 bilhões de parâmetros com tamanho de lote 128 e entrada de 1024 tokens pode ocupar até 180 GB de memória no KV-cache. Mesmo para um modelo 7B, os pesos ocupam cerca de 14 GB de memória GPU, enquanto o cache ocupa aproximadamente 72 GB—significando que o mecanismo de geração em si começa a custar mais do que armazenar os parâmetros.
Por isso, a otimização do KV-cache tornou-se uma direção de pesquisa separada, não uma tarefa menor de ajuste. Comprimir o cache permite aumentar o tamanho do lote, servir mais usuários na mesma GPU e evitar atingir limites de memória com prompts longos. Uma vantagem importante é que muitos desses métodos funcionam diretamente durante a inferência: o modelo base não precisa ser retreinado e o efeito é imediatamente visível na taxa de transferência e custo de atendimento.
Como É Comprimido
Os pesquisadores agora usam várias estratégias que diferem não apenas em qualidade mas também em posicionamento dentro do pipeline. Alguns métodos descartam os tokens menos úteis, outros reduzem a precisão da representação em cache e ainda outros alteram a própria arquitetura de atenção. Uma classe separada redistribui memória entre camadas porque camadas iniciais precisam de contexto mais rico, enquanto camadas mais profundas podem trabalhar com menos chaves e valores. Essencialmente, não se trata mais de percentuais de economia mas da capacidade de executar contexto longo no mesmo hardware.
- Poda de tokens: H2O, StreamingLLM e SnapKV mantêm apenas uma porção dos estados. H2O retém tokens "pesados" com alta contribuição de atenção, StreamingLLM mantém os primeiros tokens e uma janela recente, enquanto SnapKV seleciona posições importantes por atenção no final do prompt.
- Alocação de orçamento por camada: PyramidKV e PyramidInfer operam na suposição de que camadas profundas precisam de contexto menos rico do que as iniciais, então a memória é alocada desigualmente.
- Quantização: KIVI, KVQuant e TurboQuant reduzem a precisão da representação do KV-cache enquanto tentam preservar a qualidade da geração.
- Mudanças arquiteturais: MQA, GQA e MLA reduzem o tamanho do cache no nível do próprio esquema de atenção, em vez de estar no topo de um modelo existente.
- Compressão de baixo rank: Palu, LoRC e métodos similares cortam a dimensão oculta de tensores KV em vez do comprimento da sequência.
Os mais simples de implantar são métodos sem treinamento adicional. H2O encontra tokens que coletam a maior parte da atenção e descarta posições fracas. StreamingLLM mantém os primeiros tokens como "âncoras de atenção" mais uma janela recente, tornando-o adequado para conversas infinitas mas arriscando perda de informações importantes do meio do contexto. SnapKV opera durante o estágio de preenchimento prévio e seleciona posições importantes separadamente por cabeça de atenção, portanto normalmente supera esquemas mais grosseiros com o mesmo orçamento de cache.
Distribuições de peso de atenção frequentemente seguem uma lei de
potência, então remover tokens de baixa contribuição nem sempre impacta severamente a qualidade.
Quem Fornece os Melhores Ganhos
Em quantização, KIVI, KVQuant e TurboQuant se destacam notavelmente. KIVI converte KV-cache para representação de 2 bits sem fine-tuning e, de acordo com a pesquisa, oferece até 2,6x menos uso de memória de pico na combinação "pesos mais cache" e permite executar lotes até quatro vezes maiores. KVQuant vai além: usa calibração, precisão mista e tratamento separado de outliers para manter qualidade mesmo em contextos extremamente longos.
O resultado mais agressivo no material é atribuído a TurboQuant do Google Research. Este método primeiro alinha distribuições de valores através de rotação ortogonal aleatória, depois corrige o erro de quantização de forma que a estimativa do produto escalar permaneça imparcial. No H100, mostra pelo menos redução de 6x em memória e até 8x atenção mais rápida com precisão de 3 bits.
Para equipes de infraestrutura, isso não é mais uma otimização local mas uma reivindicação para um novo padrão de atendimento.
Uma pista separada é mudar a própria arquitetura do modelo. GQA já se tornou a norma de fato para LLMs modernos de peso aberto: enquanto era usado apenas na versão 70B do Llama 2, no Llama 3 se expandiu para 8B e 70B. Indo mais longe está MLA do DeepSeek, onde em vez de chave e valor de tamanho completo, uma representação latente comprimida é armazenada por token. A pesquisa nota que DeepSeek-V2 reduziu KV-cache em 93,3% em comparação com seu modelo anterior denso de 67B através de MLA.
O Que Significa
O mercado LLM está cada vez menos restringido pelo tamanho dos pesos e cada vez mais pelo custo de memória em contexto longo. Para equipes construindo serviços de inferência, a conclusão é direta: ganhos agora vêm não de uma técnica mágica mas de seleção cuidadosa entre eviction, quantização e arquitetura adaptadas a cargas de trabalho específicas, SLAs e orçamentos GPU.
Quer parar de ler sobre IA e começar a usar?
AI News é um feed curado de notícias de IA. A Hamidun Academy ensina você a usar IA no trabalho.