PRZEWODNIK techniczny

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.

2 minuty czytaniaOstatnia aktualizacja

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

1

Przed wdrożeniem zdefiniuj docelowe opóźnienia, jakość i koszty.

2

Test porównawczy w realistycznych warunkach obciążenia i danych.

3

Monitorowanie przyrządu pod kątem błędów, dryftu i wpływu użytkownika.

4

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.

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

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.