PRZEWODNIK Językowy AI

Uwaga dotycząca zapytania grupowego

Funkcja Grouped-Query Attention (GQA) to sposób na zmniejszenie pamięci potrzebnej podczas generowania tekstu poprzez umożliwienie kilku głowicom zapytań współużytkowania tych samych kluczy i wartości.

2 minuty czytaniaOstatnia aktualizacja

Przegląd

It makes large models much faster to serve with almost no quality loss.

Głębokie nurkowanie

W standardowej warstwie uwagi obejmującej wiele głów każda głowa ma własne zapytania, klucze i wartości. Podczas generowania klucze i wartości wszystkich poprzednich tokenów są buforowane („pamięć podręczna KV”), więc model nie oblicza ich ponownie. Przy wielu głowach i długich kontekstach ta pamięć podręczna staje się ogromna i dominuje w przepustowości pamięci w momencie wnioskowania. GQA, wprowadzona przez badaczy Google w 2023 r., grupuje głowice zapytań i daje każdej grupie pojedynczy wspólny zestaw głów kluczy i wartości. Jeśli masz 32 głowice zapytań, ale tylko 8 grup KV, pamięć podręczna KV zmniejsza się mniej więcej czterokrotnie. Znajduje się to pomiędzy pełną uwagą wielogłowicową (każda głowa osobna) a uwagą wielozadaniową (jeden wspólny KV dla wszystkich głów), przechwytując większość szybkości MQA przy jednoczesnym zachowaniu jakości bliskiej pełnej uwagi. Przyjęła go Lama 2 70B i wiele późniejszych modeli.

Wgląd techniczny

Jakość uwagi zależy w dużej mierze od posiadania wielu odrębnych kierunków zapytań, ale toleruje udostępnianie kluczy i wartości. GQA wykorzystuje tę asymetrię: zachowuje wszystkie nagłówki zapytań, ale replikuje każdy wspólny nagłówek KV w zapytaniach w swojej grupie. Oszczędności wynikają z faktu, że pamięć podręczna KV jest głównym konsumentem przepustowości pamięci; mniej głowic KV oznacza mniej danych do odczytania na wygenerowany token. Modele są często „szkolone” na krótko, aby przekształcić istniejący wielogłowicowy punkt kontrolny w punkt kontrolny GQA.

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 na zapytania grupowe

GQA jest obecnie standardem domyślnym w modelach o otwartej wadze, ponieważ w prosty sposób zamienia niewielki koszt jakości na duże wygrane w serwowaniu. Można się spodziewać, że będzie ono coraz częściej łączone z innymi sztuczkami zwiększającymi wydajność, takimi jak FlashAttention, kwantyzacja pamięci podręcznej KV i nowszymi schematami, takimi jak ukryta uwaga wielogłowicowa, które jeszcze bardziej kompresują pamięć podręczną. W miarę powiększania się okien kontekstowych kontrolowanie rozmiaru pamięci podręcznej KV pozostanie głównym problemem projektowym, a dzielenie głowy w stylu GQA pozostanie kluczową dźwignią.

Implementacja w świecie rzeczywistym

Llama 2 70B i Llama 3 wykorzystujące GQA do obsługi długich kontekstów z mniejszą pamięcią podręczną KV

Zmniejszenie pamięci GPU, aby duży model czatu pasował do mniejszej liczby lub tańszych akceleratorów

Przyspieszenie generowania tokenów tokenów w produkcyjnych interfejsach API, w których przepustowość pamięci podręcznej KV stanowi wąskie gardło

Umożliwianie obsługi większych partii w celu jednoczesnej obsługi wielu użytkowników bez obciążania pamięci

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 Grouped-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 wielu zapytań

Często zadawane pytania

What is Grouped-Query Attention?

Funkcja Grouped-Query Attention (GQA) to sposób na zmniejszenie pamięci potrzebnej podczas generowania tekstu poprzez umożliwienie kilku głowicom zapytań współużytkowania tych samych kluczy i wartości. Dzięki temu obsługa dużych modeli jest znacznie szybsza, niemal bez utraty jakości.

Co w przypadku zapytań grupowych jest wspólne dla grupy kierowników zapytań?

GQA utrzymuje oddzielne głowice zapytań, ale pozwala każdej grupie współdzielić jeden zestaw kluczy i wartości, zmniejszając pamięć podręczną KV.

GQA najlepiej opisać jako środek pomiędzy jakimi dwiema skrajnościami?

Funkcja wielogłowicowa nadaje każdej głowicy własny współczynnik KV; wiele zapytań dzieli jeden KV dla wszystkich głowic; GQA znajduje się pomiędzy kilkoma grupami KV.

Jaką część wnioskowania GQA przede wszystkim obniża?

Oszczędności pojawiają się w czasie generowania, gdzie odczyt pamięci podręcznej KV jest dominującym kosztem przepustowości pamięci.

Jeśli model ma 32 głowice zapytań i 8 grup KV, pamięć podręczna KV zmniejsza się mniej więcej o jaki współczynnik?

32 głowice zapytań podzielone przez 8 współdzielonych grup KV daje w przybliżeniu czterokrotną redukcję kluczy i wartości w pamięci podręcznej.

Dlaczego GQA może zachować większość jakości modelu pomimo wspólnych głowic KV?

Uwaga znacznie lepiej toleruje udostępnianie kluczy i wartości niż utratę odrębnych kierunków zapytań, więc GQA utrzymuje wysoką jakość.