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.
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
Před zavedením definujte výstupní formát, tón a standardy kvality.
Pozemní reakce s důvěryhodnými zdroji, kdykoli záleží na přesnosti.
Udržujte kontrolní bod lidské kontroly pro vysoce důležité výstupy.
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.
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.