Uwaga dotycząca wielu zapytań
Uwaga wielozapytaniowa (MQA) to oszczędzająca pamięć odmiana uwagi transformatora, która udostępnia jeden zestaw kluczy i wartości wszystkim głowicom uwagi.
Przegląd
It dramatically speeds up text generation by shrinking the memory the model must shuffle around.
Głębokie nurkowanie
Standardowa uwaga wielogłowa zapewnia każdej głowie własne prognozy zapytań, kluczy i wartości. Podczas generowania klucze i wartości wszystkich poprzednich tokenów muszą być buforowane i ponownie ładowane na każdym kroku — pamięć podręczna KV staje się głównym wąskim gardłem, ponieważ odczytanie jej z pamięci jest wolniejsze niż sama matematyka. Funkcja Multi-Query Attention, zaproponowana przez Noama Shazeera w 2019 r., utrzymuje oddzielne projekcje zapytań na głowę, ale zwija klucze i wartości do jednej wspólnej głowy. Zmniejsza to pamięć podręczną KV o współczynnik równy liczbie głowic, czasami od 8 do 64 razy mniejszy. Rezultatem jest znacznie szybsze dekodowanie autoregresyjne i mniejsze zużycie pamięci, przy jedynie niewielkim spadku jakości. Rozwiązanie pośrednie, uwaga na zapytania grupowe, równoważy kompromis.
Wgląd techniczny
W MQA wagi zapytań nadal generują H oddzielnych wektorów zapytań, ale projekcja pojedynczego klucza i projekcja pojedynczej wartości są wspólne dla wszystkich głowic. Każda głowa oblicza uwagę, korzystając z własnego zapytania dotyczącego tych samych kluczy i wartości. Ponieważ buforowane tensory K i V nie skalują się już wraz z liczbą głowic, przepustowość pamięci podczas dekodowania gwałtownie spada – a przepustowość, a nie obliczenia, jest tym, co decyduje o szybkości generowania w nowoczesnych akceleratorach.
Wpływ strategiczny
Szybkość i skala
Przepływy pracy związane z językiem mogą przebiegać szybciej bez utraty spójności.
Dostęp i zasięg
Rozszerza dostęp w różnych językach i stylach komunikacji.
Jaśniejsze decyzje
Zespoły mogą spędzać więcej czasu na ocenie, podczas gdy automatyzacja radzi sobie z powtarzalnością.
Przyszłość uwagi wielozadaniowej
MQA ustaliło, że można przyciąć zbędne głowy klucz/wartość przy niewielkich szkodach, a ta wiedza kształtuje obecnie prawie każdy LLM z szybkim wnioskowaniem. Dziedzina ta w dużej mierze skupia się na funkcji Grouped-Query Attention (GQA), używanej w Lamie 2/3 i wielu innych, która wykorzystuje kilka grup KV zamiast jednej w celu odzyskania jakości przy zachowaniu większości przyspieszenia. Przyszłe prace łączą te pomysły z kompresją pamięci podręcznej KV, kwantyzacją i wieloutajoną uwagą, aby wydłużyć konteksty i obniżyć koszty obsługi.
Implementacja w świecie rzeczywistym
Przyspieszenie generowania tokenów tokenów w asystentach czatu, gdzie pamięć podręczna KV, a nie surowe obliczenia, ogranicza przepustowość.
PaLM firmy Google, który wykorzystuje funkcję Multi-Query Attention w celu umożliwienia wydajnego wnioskowania na dużą skalę.
Obsługa wielu jednoczesnych użytkowników na jednym procesorze graficznym poprzez zmniejszenie pamięci podręcznej KV na żądanie.
Grouped-Query Attention w Llama 2 70B i Llama 3, bezpośredni następca równoważący prędkość MQA z jakością pełnej uwagi.
Zagrożenia i poręcze
Halucynacyjne fakty mogą po cichu trafiać do raportów, strumieni wsparcia lub wyników badań.
Szybka czułość może spowodować niespójne wyniki w przypadku podobnych żądań.
Wrażliwe dane tekstowe mogą zostać ujawnione, jeśli kontrola dostępu jest słaba.
Plan wdrożenia
Zdefiniuj format wyjściowy, ton i standardy jakości przed wdrożeniem.
Zawsze, gdy liczy się dokładność, korzystaj z zaufanych źródeł.
Utrzymuj punkt kontrolny weryfikacji ręcznej w przypadku wyników o wysokiej stawce.
Śledź wzorce niepowodzeń i regularnie powtarzaj monity lub przepływy pracy.
Odkrywaj dalej
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
Następny poradnik
Uwaga dotycząca zapytania grupowego
Często zadawane pytania
What is Multi-Query Attention?
Uwaga wielozapytaniowa (MQA) to oszczędzająca pamięć odmiana uwagi transformatora, która udostępnia jeden zestaw kluczy i wartości wszystkim głowicom uwagi. Znacząco przyspiesza generowanie tekstu poprzez zmniejszenie pamięci, którą musi przetasować model.
Co funkcja Multi-Query Attention jest wspólna dla wszystkich głów uwagi?
MQA utrzymuje oddzielne zapytania na głowę, ale dzieli jedną projekcję klucza i jedną projekcję wartości dla wszystkich głów.
Jakie jest główne wąskie gardło, które rozwiązuje MQA podczas generowania autoregresyjnego?
Każdy krok ponownego ładowania dużej pamięci podręcznej KV jest ograniczony przepustowością; MQA zmniejsza pamięć podręczną, aby przyspieszyć dekodowanie.
O jaki mniej więcej współczynnik MQA zmniejsza pamięć podręczną KV?
Ponieważ klucze i wartości zbiegają się z głów H do jednej, pamięć podręczna zmniejsza się w przybliżeniu o liczbę głów.
Jaki jest główny kompromis związany ze stosowaniem MQA?
Udostępnianie kluczy i wartości nieznacznie zmniejsza możliwości reprezentacji, powodując niewielki spadek jakości w zamian za duży wzrost szybkości.
Który wariant plasuje się pomiędzy standardową uwagą wielogłową a MQA?
Funkcja Grouped-Query Attention (GQA) wykorzystuje kilka grup KV zamiast jednej, równoważąc jakość i szybkość.