PRZEWODNIK Językowy AI

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.

2 minuty czytaniaOstatnia aktualizacja

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

1

Zdefiniuj format wyjściowy, ton i standardy jakości przed wdrożeniem.

2

Zawsze, gdy liczy się dokładność, korzystaj z zaufanych źródeł.

3

Utrzymuj punkt kontrolny weryfikacji ręcznej w przypadku wyników o wysokiej stawce.

4

Ś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.

Rozpocznij quiz

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ść.