A seguirPróximo guia
Atenção de consulta agrupada
IA de linguagem
GUIA de IA de linguagem
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.
Ouça este guiaNarrado por IA · ~2 min
It dramatically speeds up text generation by shrinking the memory the model must shuffle around.
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.
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.
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.
Boletim informativo gratuito
Três histórias verificadas de IA a cada manhã de dia útil, escritas em linguagem simples. Gratuito para sempre, sem anúncios.
Um e-mail a cada dia útil. Cancele a inscrição com um clique. Nunca vendemos ou compartilhamos seu endereço.
Teste você mesmo
Feedback instantâneo sobre cada resposta e um certificado compartilhável com um ID verificável assim que você concluir um curso.
Apoie a educação gratuita em IA. O AI Understanding é uma organização sem fins lucrativos 501(c)(3) — sem anúncios, sem paywall, nunca. Faça uma doação
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 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.
Recarregar o grande cache KV em cada etapa depende da largura de banda; O MQA reduz esse cache para acelerar a decodificação.
Como as chaves e os valores são reduzidos de H cabeças para um, o cache diminui aproximadamente na contagem de cabeças.
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.
O Grouped-Query Attention (GQA) usa vários grupos KV em vez de um, equilibrando qualidade e velocidade.
Continue aprendendo
Mais guias escolhidos para este tópico
A seguirPróximo guia
Atenção de consulta agrupada
IA de linguagem