Dłuższy kontekst zwykle obniża przepustowość lokalnego LLM, zwiększając obliczenia fazy prefill, zużycie pamięci podręcznej KV, pracę dekodowania oraz rywalizację o dostępną pojemność równoległych sekwencji.
Nie jest to jedna uniwersalna krzywa tokenów na sekundę. Długość promptu przede wszystkim wydłuża fazę prefill, natomiast rosnący aktywny kontekst sprawia, że kolejne kroki dekodowania muszą uwzględniać coraz więcej zapisanych kluczy i wartości. Gdy pamięć się zapełni, serwer może przyjmować mniej żądań, wstrzymywać sekwencje, przenosić pamięć podręczną lub odrzucać zadania, dlatego przepustowość zależy od modelu, kernela mechanizmu uwagi, sprzętu, harmonogramu i charakterystyki obciążenia.
Długość promptu zwiększa pracę fazy prefill przed wygenerowaniem pierwszego tokena
Podczas fazy prefill model przetwarza wszystkie tokeny promptu, aby utworzyć stany ukryte i początkową pamięć podręczną kluczy i wartości. Standardowa praca mechanizmu uwagi rośnie gwałtownie wraz z długością sekwencji, choć zoptymalizowane kernele ograniczają ruch danych i stałe czynniki, nie eliminując kosztu przetwarzania wejścia.
Artykuł IO-aware attention przedstawia dokładny algorytm mechanizmu uwagi uwzględniający przepływ danych, który ogranicza transfery między poziomami pamięci GPU. Uzyskane przyspieszenia pokazują, dlaczego wybór kernela zmienia przebieg krzywej, podczas gdy sam kontekst nadal wymaga obliczeń i przesyłania danych.
Serwer raportujący wyłącznie liczbę tokenów dekodowania na sekundę może ukrywać ten koszt. W przypadku RAG i długich rozmów obok przepustowości wyjściowej trzeba uwzględniać czas do wygenerowania pierwszego tokena oraz liczbę promptów przetwarzanych na sekundę. Różnica ta pozostaje widoczna podczas późniejszych testów domowych.
Pamięć podręczna KV rośnie wraz z każdym tokenem aktywnego kontekstu
Podczas autoregresywnego dekodowania klucze i wartości wcześniejszych tokenów są przechowywane, aby nie trzeba było ich obliczać ponownie. Zużycie pamięci podręcznej skaluje się wraz z długością aktywnej sekwencji, liczbą warstw, wymiarami, precyzją i liczbą równoległych sekwencji; dlatego dłuższe konteksty zmniejszają liczbę żądań, które mogą jednocześnie zmieścić się w pamięci.
W opracowaniu vLLM PagedAttention przedstawiono mechanizm PagedAttention, który ogranicza fragmentację pamięci podręcznej KV i umożliwia elastyczne współdzielenie. Lepszy przydział zwiększa użyteczną pojemność, ale nie eliminuje liczby bajtów wymaganych do przechowywania samego kontekstu. Wynik pośredni musi pozostać możliwy do sprawdzenia, zanim zostanie zastosowana automatyzacja.
Po wyczerpaniu pojemności systemy mogą umieszczać nowe żądania w kolejce, usuwać pamięć podręczną lub obliczać ją ponownie, przenosić ją do pamięci hosta albo zmniejszać rozmiar partii. Takie zasady mogą zmienić płynny test jednego użytkownika w niestabilną przepustowość użyteczną w środowisku wielu użytkowników. Tę granicę należy mierzyć osobno, w realistycznych warunkach pracy.
Kroki dekodowania odczytują więcej historii wraz ze wzrostem kontekstu
Każdy wygenerowany token odwołuje się do zgromadzonej pamięci podręcznej, dlatego wraz z długością sekwencji rośnie liczba odczytów pamięci i zakres pracy mechanizmu uwagi. Model może pozostawać ograniczony przepustowością pamięci, a kompresja kontekstu lub kwantyzacja pamięci podręcznej stanowi kompromis między oszczędnością pamięci, dokładnością i obsługą przez kernele.
W opracowaniu kwantyzacji pamięci podręcznej KV kwantyzuje się pamięć podręczną KV, aby umożliwić znacznie dłuższe konteksty, i wyraźnie wskazuje się pojemność pamięci podręcznej jako wąskie gardło dla długich kontekstów. Pokazuje to, że deklarowana maksymalna długość kontekstu i efektywna, stabilna przepustowość to różne właściwości. Praktyczne konsekwencje pojawiają się, gdy kilka źródeł konkuruje o ograniczony kontekst.
Granica błędu polega na porównywaniu dwóch kontekstów przy jednoczesnej zmianie składu promptu, długości wyjścia, współbieżności lub precyzji pamięci podręcznej. Jakość wyszukiwania może poprawić się dzięki dodatkowym dowodom, nawet gdy przepustowość systemu spada, dlatego wydajność i użyteczność odpowiedzi należy oceniać na osobnych osiach.
Zmierz przepustowość dla przedziałów długości promptu
Utwórz stałe przedziały promptów, na przykład 512, 2 048, 8 192 i 16 384 tokenów, przy kontrolowanych długościach wyjścia. Uruchom każdy wariant dla jednego użytkownika oraz przy rosnącej współbieżności, rejestrując liczbę tokenów promptu na sekundę, liczbę tokenów wyjściowych na sekundę, czas do wygenerowania pierwszego tokena, opóźnienie między tokenami, wykorzystanie pamięci podręcznej, czas oczekiwania w kolejce, wstrzymania sekwencji i błędy.
Porównaj krzywą ze spowolnieniem długiej rozmowy opisanym w artykule spowolnienie wraz z wypełnianiem okna kontekstu. Zachowaj stałe model, kwantyzację, próbkowanie, harmonogram i sprzęt, a następnie powtórz testy z buforowaniem prefiksów lub kwantyzacją pamięci podręcznej wyłącznie jako osobne eksperymenty. Zależność ta powinna pozostać wyraźnie widoczna w końcowym interfejsie.
Ustal operacyjny budżet kontekstu na podstawie przepustowości użytecznej przy wymaganym celu opóźnienia, a nie na podstawie maksymalnej długości akceptowanej przez model. Wyszukuj informacje lub twórz podsumowania tylko wtedy, gdy uzyskana poprawa jakości uzasadnia zmierzony koszt fazy prefill i pamięci podręcznej.
Centrum Technologii i Sztucznej Inteligencji
Więcej do przeczytania

Czy lokalny LLM może wznowić generowanie po ponownym uruchomieniu procesu?
Wyjaśnienie generowania i wznawiania działania LLM z naciskiem na mechanizmy, kompromisy związane ze współdzielonymi zasobami, trzy często zadawane pytania dotyczące rozgałęziania zapytań oraz praktyczny...

Czy serwer domowy może obsługiwać generowanie osadzeń i transkodowanie wideo na tym samym zintegrowanym układzie GPU?
Wyjaśnienie współdzielonych osadzeń i transkodowania igpu od strony mechanizmu, kompromisy związane ze współdzielonymi zasobami, trzy najczęściej zadawane pytania dotyczące rozsyłania zapytań oraz praktyczna weryfikacja.

Jak czas ważności tokenu dostępu wpływa na bezpieczeństwo i uciążliwość dla domowników?
Wyjaśnienie mechanizmu działania okresu ważności tokenu dostępu, kompromisów związanych ze współdzielonymi zasobami, trzy najczęściej zadawane pytania dotyczące rozsyłania zapytań oraz praktyczny protokół weryfikacji.

