Jazyk AI GUIDE

Multi-Query Attention

Multi-Query Attention (MQA) je paměť šetřící twist na pozornost transformátoru, který sdílí jednu sadu klíčů a hodnot napříč všemi hlavami pozornosti.

2 minuty čteníNaposledy aktualizováno

Přehled

It dramatically speeds up text generation by shrinking the memory the model must shuffle around.

Hluboký ponor

Standardní vícehlavá pozornost dává každé hlavě vlastní projekce dotazu, klíče a hodnoty. Během generování musí být klíče a hodnoty všech minulých tokenů uloženy do mezipaměti a znovu načteny v každém kroku — tato mezipaměť KV se stává hlavním úzkým hrdlem, protože její čtení z paměti je pomalejší než samotná matematika. Multi-Query Attention, navržený Noamem Shazeerem v roce 2019, uchovává samostatné projekce dotazů na hlavu, ale sbaluje klíče a hodnoty do jedné sdílené hlavy. Tím se KV cache zmenší o faktor rovný počtu hlav, někdy 8x až 64x menší. Výsledkem je mnohem rychlejší autoregresivní dekódování a lehčí paměťová stopa s pouze mírným poklesem kvality. Střední cesta, Grouped-Query Attention, vyvažuje kompromis.

Technický přehled

V MQA váhy dotazů stále vytvářejí H samostatných dotazovacích vektorů, ale projekce jediného klíče a projekce jedné hodnoty jsou sdíleny všemi hlavami. Každá hlava počítá pozornost pomocí vlastního dotazu proti stejným klíčům a hodnotám. Protože tenzory K a V uložené v mezipaměti se již neškálují s počtem hlav, šířka pásma paměti během dekódování prudce klesá – a šířka pásma, nikoli výpočet, je to, co u moderních akcelerátorů udává rychlost generování bran.

Strategický dopad

Rychlost a měřítko

Jazykové pracovní postupy se mohou pohybovat rychleji, aniž by byla obětována konzistentnost.

Přístup a dosah

Rozšiřuje přístup napříč jazyky a komunikačními styly.

Jasnější rozhodnutí

Týmy mohou strávit více času úsudkem, zatímco automatizace zvládne opakování.

Budoucnost Multi-Query Attention

MQA zjistila, že můžete ořezat redundantní klíč/hodnota hlavy s malým poškozením, a tento náhled nyní formuje téměř každý LLM s rychlým odvozením. Pole se do značné míry sblížilo s Grouped-Query Attention (GQA), používaným v Llama 2/3 a mnoha dalších, které k obnovení kvality využívají spíše několik skupin KV než jednu, přičemž si zachovává většinu zrychlení. Budoucí práce spojí tyto myšlenky s kompresí KV-cache, kvantizací a multilatentní pozorností, aby se prosadily delší kontexty a levnější poskytování.

Real-World Implementace

Urychlení generování tokenu po tokenu v chatových asistentech, kde propustnost omezuje mezipaměť KV, nikoli nezpracovaný výpočet.

PaLM společnosti Google, která používala Multi-Query Attention k umožnění efektivního vyvozování velkého rozsahu.

Obsluhování mnoha souběžných uživatelů na jednom GPU zmenšením mezipaměti KV na žádost.

Grouped-Query Attention v Llama 2 70B a Llama 3, přímý potomek vyvažující rychlost MQA s kvalitou plné pozornosti.

Rizika a zábradlí

Halucinovaná fakta mohou tiše vstupovat do zpráv, podpůrných toků nebo výstupů výzkumu.

Citlivost na výzvy může způsobit nekonzistentní výsledky napříč podobnými požadavky.

Citlivá textová data mohou být vystavena, pokud je řízení přístupu slabé.

Plán implementace

1

Před zavedením definujte výstupní formát, tón a standardy kvality.

2

Pozemní reakce s důvěryhodnými zdroji, kdykoli záleží na přesnosti.

3

Udržujte kontrolní bod lidské kontroly pro vysoce důležité výstupy.

4

Sledujte vzorce selhání a pravidelně opakujte výzvy nebo pracovní postupy.

Pokračujte v objevování

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.

Spustit kvíz

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

Další průvodce

Pozornost na seskupené dotazy

Často kladené otázky

What is Multi-Query Attention?

Multi-Query Attention (MQA) je paměť šetřící twist na pozornost transformátoru, který sdílí jednu sadu klíčů a hodnot napříč všemi hlavami pozornosti. Dramaticky urychluje generování textu zmenšením paměti, kterou musí model prohazovat.

Co sdílí Multi-Query Attention napříč všemi hlavami pozornosti?

MQA uchovává samostatné dotazy na hlavu, ale sdílí jednu klíčovou projekci a jednu hodnotovou projekci napříč všemi hlavami.

Jaké je hlavní úzké místo, které MQA řeší během autoregresního generování?

Opětovné načítání velké mezipaměti KV je každý krok vázán na šířku pásma; MQA zmenšuje mezipaměť, aby urychlila dekódování.

Jakým zhruba faktorem MQA zmenšuje mezipaměť KV?

Protože se klíče a hodnoty zhroutí z H hlav na jednu, mezipaměť se zmenší přibližně o počet hlav.

Jaký je hlavní kompromis používání MQA?

Sdílení klíčů a hodnot mírně snižuje reprezentační kapacitu, což způsobuje malý pokles kvality výměnou za velké zvýšení rychlosti.

Která varianta se nachází mezi standardní vícehlavou pozorností a MQA?

Grouped-Query Attention (GQA) používá několik skupin KV místo jedné, čímž vyvažuje kvalitu a rychlost.