stamatios
← Voltar ao feed
Globo de sorteio mantém amostra de cartões de memória enquanto o resto escapa, técnica Random Attention da Salesforce alivia KV-cache
Open Source · IA & Modelos

Salesforce publica Random Attention para KV-cache mais leve

resumo de ~3 min

Um descarte aleatório que compete com seletores aprendidos

A Salesforce AI Research publicou no GitHub o código de Random Attention, técnica apresentada no artigo “Random Attention: Rethinking KV Cache Eviction for Efficient Reasoning” (arXiv:2609.03430), sob licença Apache 2.0. O repositório se apresenta como release de pesquisa que acompanha o artigo acadêmico e inclui arquivo de ética de IA, políticas de contribuição e de segurança.

Como funciona

Identificado como random_pp no código, o método é uma política de descarte (eviction) de KV-cache sem sinais, voltada a modelos de raciocínio. A regra: manter o prompt e, depois, manter um subconjunto uniformemente aleatório dos tokens gerados, por cabeça KV, até o orçamento, além de uma janela curta de recência. Ele não lê escores de atenção, estatísticas de valores nem dados de calibração; uma rodada de descarte custa apenas a própria compactação.

Resultados relatados

De acordo com o README, em MATH-500, GPQA-Diamond, AIME, HMMT e LiveCodeBench, com orçamentos iguais, o método iguala ou supera seletores aprendidos - SnapKV, R-KV, VaSE e TriAttention - em Qwen3-4B, Qwen3-14B, Qwen3-32B e Phi-4-reasoning. Também é o mais rápido entre os métodos de descarte, tanto no harness do Hugging Face quanto em um servidor vLLM. Os números detalhados estão no artigo; o repositório traz as ferramentas que os produziram, inclusive scripts de figuras que leem os TSVs avaliados.

O que o repositório contém

O motor de descarte (kvcompress/engine) implementa todos os métodos do artigo como modos de eviction, com forwards de evict-attention para Qwen3, phi3 e llama, um scorer fiel do TriAttention e testes do motor. O harness de avaliação, adaptado do VaSE, inclui o avaliador eval_hf.py, um executor paralelo multiworker com sharding e utilitários de calibração do TriAttention. A pasta kvcompress/eval cobre a correção de matemática, ciências e LiveCodeBench, auditoria de integridade de células, testes de significância pareados, reparo de shards e gerador de tabelas LaTeX; data/ traz o layout dos benchmarks e subconjuntos próprios de dificuldade do LiveCodeBench.

Para estudos de mecanismo, há logs de retenção (KEEPLOG=1), fork replay e autópsia, modos de mistura de carrier-heads, medições de carrier mass e um protocolo registrado de recuperação sintética controlada em kvcompress/synth, acionados por variáveis de ambiente documentadas no cabeçalho de cache_utils.py.

Eficiência e serving

Os protocolos de eficiência no Hugging Face cobrem o esquema fixed-batch do VaSE, serving com memória igualada, max-batch e a medição de tempo das rodadas de descarte. O README adverte a não reportar tokens/s das execuções de acurácia em lote, porque elas compartilham GPUs. No vLLM, o benchmark roda o Random Attention como seletor dentro do runtime vLLM 0.19 do TriAttention: a maquinaria de compressão paged-KV do baseline com a regra de seleção própria, com checagem de transferência de acurácia e shims documentados.

Reprodução e integridade

O setup cria um ambiente Python 3.10 com torch 2.4.0 (cu121), flash-attn 2.7.3 e transformers 5.0.0. Os checkpoints vêm do Hugging Face: Qwen3-4B, Qwen3-14B, Qwen3-32B, phi-4-reasoning e, opcionalmente, DeepSeek-R1-Distill-Llama-8B; os experimentos do artigo rodaram em 8x H200 de 141 GB. O script canônico executa uma célula - combinação de modelo, tarefa, método e orçamento - cujo K padrão é o ponto de cerca de 4x da tarefa (1024 em math), e células podem ser retomadas.

A correção é posicional, e o grade_cell.sh roda antes uma auditoria de integridade: células mistas, irregulares ou sobrepostas são recusadas em vez de silenciosamente mal avaliadas. A acurácia principal é a flag_acc; a acc_strict exige, adicionalmente, terminação dentro do teto de 32 mil tokens e serve como diagnóstico. Os testes estatísticos combinam bootstrap pareado e teste de sinal.

Proveniência

O harness e o esqueleto do motor descendem do VaSE (MIT); o baseline TriAttention e o benchmark de serving baseiam-se no TriAttention (Apache-2.0), com proveniência detalhada em THIRD_PARTY_NOTICES.md. A citação lista Heng Wang, Jielin Qiu, Wenting Zhao, Cheng Qian, Liangwei Yang, Jiawei Han, Heng Ji, Silvio Savarese, Shelby Heinecke e Huan Wang como autores. Na captura, o repositório somava 40 estrelas, 2 forks e 11 commits.