Atenção multiconsulta
Multi-Query Attention (MQA) é um toque de economia de memória na atenção do transformador que compartilha um conjunto de chaves e valores em todas as cabeças de atenção.
Visão geral
It dramatically speeds up text generation by shrinking the memory the model must shuffle around.
Mergulho profundo
A atenção padrão de vários cabeçotes dá a cada cabeçote sua própria consulta, chave e projeções de valor. Durante a geração, as chaves e os valores de todos os tokens anteriores devem ser armazenados em cache e recarregados a cada etapa — esse cache KV se torna o principal gargalo, pois a leitura da memória é mais lenta do que a própria matemática. A atenção multiconsulta, proposta por Noam Shazeer em 2019, mantém projeções de consulta separadas por cabeçalho, mas recolhe as chaves e os valores em um único cabeçalho compartilhado. Isso reduz o cache KV por um fator igual ao número de cabeças, às vezes de 8 a 64 vezes menor. O resultado é uma decodificação autoregressiva muito mais rápida e um consumo de memória mais leve, com apenas uma modesta queda na qualidade. Um meio-termo, Atenção de Consulta Agrupada, equilibra a compensação.
Visão Técnica
No MQA, os pesos de consulta ainda produzem H vetores de consulta separados, mas uma única projeção de chave e uma projeção de valor único são compartilhadas em todos os cabeçalhos. Cada cabeça calcula a atenção usando sua própria consulta com as mesmas chaves e valores. Como os tensores K e V armazenados em cache não são mais escalonados com o número de cabeças, a largura de banda da memória durante a decodificação cai drasticamente - e a largura de banda, e não a computação, é o que controla a velocidade de geração nos aceleradores modernos.
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 multiconsulta
O MQA estabeleceu que você pode eliminar cabeças redundantes de chave/valor com poucos danos, e esse insight agora molda quase todos os LLM de inferência rápida. O campo convergiu amplamente para o Grouped-Query Attention (GQA), usado no Llama 2/3 e muitos outros, que usa alguns grupos KV em vez de um para recuperar a qualidade enquanto mantém a maior parte da aceleração. Trabalhos futuros combinam essas ideias com compactação de cache KV, quantização e atenção multilatente para impulsionar contextos mais longos e serviços mais baratos.
Implementação no mundo real
Acelerando a geração token por token em assistentes de bate-papo onde o cache KV, e não a computação bruta, limita o rendimento.
PaLM de Google, que usou Multi-Query Attention para permitir inferência eficiente em grande escala.
Atendendo muitos usuários simultâneos em uma GPU, reduzindo a memória cache KV por solicitação.
Atenção de consulta agrupada no Llama 2 70B e Llama 3, um descendente direto que equilibra a velocidade do MQA com qualidade de atenção total.
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 Multi-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 de consulta agrupada
Perguntas frequentes
What is Multi-Query Attention?
Multi-Query Attention (MQA) é um toque de economia de memória na atenção do transformador que compartilha um conjunto de chaves e valores em todas as cabeças de atenção. Ele acelera drasticamente a geração de texto, reduzindo a memória que o modelo deve embaralhar.
O que a Multi-Query Attention compartilha com todas as cabeças de atenção?
O MQA mantém consultas separadas por cabeça, mas compartilha uma projeção principal e uma projeção de valor em todas as cabeças.
Qual é o principal gargalo que o MQA aborda durante a geração autoregressiva?
Recarregar o grande cache KV em cada etapa depende da largura de banda; O MQA reduz esse cache para acelerar a decodificação.
Aproximadamente por que fator o MQA reduz o cache KV?
Como as chaves e os valores são reduzidos de H cabeças para um, o cache diminui aproximadamente na contagem de cabeças.
Qual é a principal desvantagem do uso do MQA?
O compartilhamento de chaves e valores reduz ligeiramente a capacidade representacional, causando uma pequena diminuição de qualidade em troca de grandes ganhos de velocidade.
Qual variante fica entre a atenção multi-head padrão e o MQA?
O Grouped-Query Attention (GQA) usa vários grupos KV em vez de um, equilibrando qualidade e velocidade.