PagedAttention i vLLM
PagedAttention to technika zarządzania pamięcią, która przechowuje pamięć podręczną uwagi modelu językowego w małych blokach wielokrotnego użytku zamiast w jednej dużej, ciągłej porcji.
Przegląd
It powers vLLM, an open-source serving engine that dramatically boosts how many requests a single GPU can handle.
Głębokie nurkowanie
Kiedy model języka generuje tekst, przechowuje „pamięć podręczną KV” (wektory klucza i wartości) dla każdego tokena, który zobaczył, aby następny token mógł uwzględnić pełny kontekst. Tradycyjnie każde żądanie rezerwowało jeden duży, ciągły blok pamięci GPU o rozmiarze odpowiadającym jej maksymalnej możliwej długości, marnując ogromne ilości, gdy sekwencje były krótsze lub miały różną długość. PagedAttention, wprowadzony w artykule vLLM z 2023 r. z Uniwersytetu Kalifornijskiego w Berkeley, zapożycza koncepcję stronicowania pamięci wirtualnej z systemów operacyjnych: dzieli pamięć podręczną KV na bloki o stałym rozmiarze, które mogą znajdować się w dowolnym miejscu pamięci i być przydzielane na żądanie. Tabela przeglądowa odwzorowuje pozycje tokenów logicznych na bloki fizyczne. To prawie eliminuje fragmentację pamięci i pozwala na współdzielenie bloków, na przykład na wielu wynikach z tego samego monitu.
Wgląd techniczny
Pamięć podręczna KV jest podzielona na strony o stałym rozmiarze, z których każda zawiera klucze i wartości dla określonej liczby tokenów. Tabela bloków dla poszczególnych sekwencji odwzorowuje pozycje logiczne na fizyczne lokalizacje stron, więc pamięć podręczna sekwencji nie musi być ciągła. Ponieważ identyczne przedrostki (wspólny znak zachęty systemowej lub gałęzie wyszukiwania wiązki) mogą wskazywać na te same fizyczne strony w trybie kopiowania przy zapisie, pamięć jest ponownie wykorzystywana zamiast duplikowana, co zmniejsza ilość odpadów z ponad 60% do kilku procent.
Wpływ strategiczny
Koszt i budżet
Decyzje dotyczące architektury wpływają na wydajność i koszty operacyjne przez lata.
Jaśniejsze decyzje
Edukacja techniczna pomaga zespołom wybrać odpowiedni stos, a nie tylko najnowszy.
Kontrola jakości
Lepsze wybory inżynieryjne zmniejszają liczbę incydentów związanych z niezawodnością w produkcji.
Przyszłość PagedAttention i vLLM
vLLM stał się domyślnym szkieletem wnioskowania typu open source, a pomysły PagedAttention pojawiają się teraz w większości stosów obsługujących. Oczekuj głębszego buforowania prefiksów (ponowne wykorzystanie buforowanych monitów systemowych wśród użytkowników), zdezagregowanego wstępnego wypełniania i dekodowania na oddzielnych komputerach, inteligentniejszych zasad wykluczania oraz ścisłej integracji z kwantyzacją i dekodowaniem spekulatywnym. W miarę jak okna kontekstowe rozrastają się do milionów tokenów, wydajne zarządzanie stronicowanymi KV staje się jeszcze ważniejsze dla zapewnienia przystępnej ceny usług.
Implementacja w świecie rzeczywistym
Hostowanie interfejsu API LLM typu open source, w którym vLLM obsługuje wielu jednoczesnych użytkowników czatu z jednego procesora graficznego z dużą przepustowością
Udostępnianie długiego monitu systemowego tysiącom żądań poprzez buforowanie prefiksów, dzięki czemu jest on przetwarzany raz, a nie wielokrotnie
Wyszukiwanie ciągłej belki lub wielokrotne próbne uzupełnienia, które dzielą bloki KV dla wspólnego monitu poprzez kopiowanie przy zapisie
Ograniczanie marnowania pamięci GPU na skutek fragmentacji, dzięki czemu dostawca może spakować więcej jednoczesnych sesji na tym samym sprzęcie
Zagrożenia i poręcze
Optymalizacja jednego testu porównawczego może ukryć szersze słabości systemu.
Koszty infrastruktury i utrzymania są często niedoszacowane.
W miarę jak systemy stają się coraz bardziej złożone, luki w bezpieczeństwie i obserwowalności mogą się zwiększać.
Plan wdrożenia
Przed wdrożeniem zdefiniuj docelowe opóźnienia, jakość i koszty.
Test porównawczy w realistycznych warunkach obciążenia i danych.
Monitorowanie przyrządu pod kątem błędów, dryftu i wpływu użytkownika.
Przed skalowaniem przygotuj ścieżki wycofywania zmian i reakcji na incydenty.
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 PagedAttention and vLLM 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
Prywatność różnicowa
Często zadawane pytania
What is PagedAttention and vLLM?
PagedAttention to technika zarządzania pamięcią, która przechowuje pamięć podręczną uwagi modelu językowego w małych blokach wielokrotnego użytku zamiast w jednej dużej, ciągłej porcji. Obsługuje vLLM, silnik obsługujący typu open source, który radykalnie zwiększa liczbę żądań, które może obsłużyć pojedynczy procesor graficzny.
Co przechowuje „pamięć podręczna KV” podczas generowania tekstu?
Pamięć podręczna KV przechowuje wektory kluczy i wartości dla każdego poprzedniego tokena, umożliwiając modelowi obsłużenie pełnego kontekstu bez konieczności ponownego obliczania go na każdym kroku.
Jaka koncepcja systemu operacyjnego zainspirowała PagedAttention?
PagedAttention zapożycza stronicowanie z pamięci wirtualnej: pamięć podręczna KV jest podzielona na strony o stałym rozmiarze, które mogą znajdować się w dowolnym miejscu, mapowane za pomocą tabeli bloków.
Jaki problem z tradycyjną alokacją pamięci podręcznej KV rozwiązuje PagedAttention?
Rezerwowanie jednej dużej, ciągłej płyty na żądanie, o rozmiarze dostosowanym do maksymalnej długości, powodowało marnowanie ogromnych ilości pamięci GPU. Stronicowanie przydziela małe bloki na żądanie, ograniczając straty.
W jaki sposób PagedAttention pozwala wielu wynikom współdzielić pamięć dla wspólnego monitu?
Identyczne przedrostki (wspólne podpowiedzi lub gałęzie wyszukiwania wiązki) odnoszą się do tych samych fizycznych stron KV, kopiując tylko wtedy, gdy gałąź się rozchodzi.
Gdzie pierwotnie opracowano vLLM i PagedAttention?
vLLM i algorytm PagedAttention wyszły z Uniwersytetu Kalifornijskiego w Berkeley w artykule z 2023 roku i szybko stały się szeroko stosowanym silnikiem obsługującym typu open source.