Atenção de consulta agrupada
Atenção de consulta agrupada (GQA) é uma maneira de reduzir a memória necessária durante a geração de texto, permitindo que vários cabeçalhos de consulta compartilhem os mesmos cabeçalhos de chave e valor.
Visão geral
It makes large models much faster to serve with almost no quality loss.
Mergulho profundo
Em uma camada de atenção multi-head padrão, cada head tem suas próprias consultas, chaves e valores. Durante a geração, as chaves e os valores de todos os tokens anteriores são armazenados em cache (o 'cache KV') para que o modelo não os recalcule. Com muitas cabeças e contextos longos, esse cache torna-se enorme e domina a largura de banda da memória no momento da inferência. O GQA, introduzido por pesquisadores Google em 2023, agrupa os cabeçalhos de consulta e dá a cada grupo um único conjunto compartilhado de cabeçalhos de chave e valor. Se você tiver 32 cabeçalhos de consulta, mas apenas 8 grupos de KV, o cache de KV será reduzido aproximadamente quatro vezes. Isso fica entre a atenção total de vários cabeçotes (cada cabeçote separado) e a atenção de múltiplas consultas (um KV compartilhado para todos os cabeçotes), capturando a maior parte da velocidade do MQA e mantendo a qualidade próxima da atenção total. O Llama 2 70B e muitos modelos posteriores o adotaram.
Visão Técnica
A qualidade da atenção depende muito de ter muitas direções de consulta distintas, mas tolera o compartilhamento de chaves e valores. O GQA explora essa assimetria: ele mantém todos os cabeçalhos de consulta, mas replica cada cabeçalho KV compartilhado nas consultas de seu grupo. A economia vem na inferência, onde o cache KV é o principal consumidor de largura de banda de memória; menos cabeças KV significam menos dados para ler por token gerado. Os modelos são frequentemente 'atualizados' brevemente para converter um ponto de verificação de vários cabeçotes existente em um GQA.
Impacto Estratégico
Velocidade e escala
Os fluxos de trabalho de idiomas podem avançar mais rapidamente sem sacrificar a consistência.
Acesso e alcance
Ele expande o acesso entre idiomas e estilos de comunicação.
Decisões mais claras
As equipes podem gastar mais tempo julgando enquanto a automação cuida da repetição.
O futuro da atenção às consultas agrupadas
GQA é agora um padrão em modelos de peso aberto porque negocia de forma limpa um pequeno custo de qualidade por grandes ganhos de serviço. Espere que ele se combine cada vez mais com outros truques de eficiência, como FlashAttention, quantização de cache KV e esquemas mais recentes, como atenção latente de múltiplas cabeças, que comprimem ainda mais o cache. À medida que as janelas de contexto crescem, o controle do tamanho do cache KV continuará sendo um problema central de design, e o compartilhamento de cabeçalho no estilo GQA continuará sendo uma alavanca fundamental.
Implementação no mundo real
Llama 2 70B e Llama 3 usando GQA para atender contextos longos com um cache KV menor
Redução da memória da GPU para que um modelo de bate-papo grande caiba em menos aceleradores ou em aceleradores mais baratos
Acelerando a geração token por token em APIs de produção onde a largura de banda do cache KV é o gargalo
Permitir tamanhos de lote maiores para atender muitos usuários simultaneamente sem esgotar a memória
Riscos e guarda-corpos
Fatos alucinados podem entrar silenciosamente em relatórios, fluxos de apoio ou resultados de pesquisas.
A sensibilidade do prompt pode criar resultados inconsistentes em solicitações semelhantes.
Dados de texto confidenciais podem ser expostos se os controles de acesso forem fracos.
Roteiro de implementação
Defina o formato de saída, o tom e os padrões de qualidade antes da implementação.
Respostas terrestres com fontes confiáveis sempre que a precisão for importante.
Mantenha um ponto de verificação de revisão humana para resultados de alto risco.
Rastreie padrões de falha e treine novamente prompts ou fluxos de trabalho regularmente.
Continue explorando
Free newsletter
Get the daily AI briefing
Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.
One email each weekday. Unsubscribe in one click. We never sell or share your address.
Test yourself
Take the Grouped-Query Attention quiz
Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
Próximo guia
Atenção multiconsulta
Perguntas frequentes
What is Grouped-Query Attention?
Atenção de consulta agrupada (GQA) é uma maneira de reduzir a memória necessária durante a geração de texto, permitindo que vários cabeçalhos de consulta compartilhem os mesmos cabeçalhos de chave e valor. Isso torna o atendimento de modelos grandes muito mais rápido, quase sem perda de qualidade.
Na atenção de consulta agrupada, o que é compartilhado entre um grupo de cabeçalhos de consulta?
O GQA mantém cabeçalhos de consulta separados, mas permite que cada grupo compartilhe um conjunto de cabeçalhos de chave e valor, reduzindo o cache KV.
A GQA é melhor descrita como um meio termo entre quais dois extremos?
Multi-head dá a cada cabeçote seu próprio KV; a multiconsulta compartilha um KV para todos os cabeçotes; O GQA fica no meio de alguns grupos KV.
Que parte da inferência o GQA torna principalmente mais barata?
A economia aparece no momento da geração, onde a leitura do cache KV é o custo dominante de largura de banda de memória.
Se um modelo tiver 32 cabeças de consulta e 8 grupos KV, o cache KV será reduzido aproximadamente em que fator?
32 cabeçalhos de consulta divididos por 8 grupos KV compartilhados proporcionam uma redução de aproximadamente quatro vezes nas chaves e valores armazenados em cache.
Por que o GQA pode preservar a maior parte da qualidade do modelo apesar de compartilhar cabeçotes KV?
A atenção tolera o compartilhamento de chaves e valores muito melhor do que a perda de direções de consulta distintas, portanto, o GQA mantém a qualidade alta.