Jak planować pojemność GPU i automatyczne skalowanie dla LLMs?

Tłumaczenie automatyczne

Ten artykuł został automatycznie przetłumaczony z angielskiego oryginału.

Dobierz łączną pojemność na podstawie zmierzonej przepustowości przy wymaganym opóźnieniu, a następnie sprawdź, czy każda replika pomieści planowaną liczbę aktywnych sekwencji. Użyj rzeczywistych rozkładów długości promptów i odpowiedzi. Zaokrąglaj w górę do pełnych replik obsługujących model, uwzględniając wszystkie GPU wymagane przez równoległość tensorową lub potokową.

Sprawdź pamięć przed przepustowością

Przy konwencjonalnym układzie pamięci podręcznej z pełnym mechanizmem uwagi Llama 3.1 70B potrzebuje 1.25 GiB danych KV w FP16 dla sekwencji o długości 4,096 tokenów. Hipotetyczny budżet 40 GiB na KV mieści więc najwyżej 32 takie sekwencje, przed uwzględnieniem narzutu alokatora i środowiska wykonawczego. Przy 131,072 tokenach jedna sekwencja zajmuje całe 40 GiB.

Licz łącznie tokeny wejściowe i wygenerowane. Wzór zmienia się dla architektur takich jak MLA i uwaga z przesuwanym oknem, a przydział pamięci na urządzenie zależy od podziału danych. To ograniczenie pamięci, a nie prognoza rozmiaru partii, który spełnia cele dotyczące opóźnienia. Obliczenie KV cache w przewodniku przedstawia założenia i obliczenie, które można uruchomić.

Oblicz liczbę pełnych replik

Załóżmy, że pomiary wykazały, iż replika z dwoma GPU utrzymuje 1,200 tokenów wyjściowych na sekundę przy wymaganych TTFT i TPOT dla stałego obciążenia. Oczekiwane szczytowe zapotrzebowanie wynosi 4,000 tokenów wyjściowych na sekundę. Hipotetyczny współczynnik bezpieczeństwa 1.3 daje:

replicas=⌈4,000×1.31,200⌉=5\text{replicas} = \left\lceil \frac{4{,}000 \times 1.3}{1{,}200} \right\rceil = 5

Pięć replik z dwoma GPU wymaga dziesięciu GPU. Te liczby ilustrują obliczenie; nie są wynikami testów wydajności sprzętu. Powtórz pomiary, gdy zmieni się model, rozkład długości kontekstu, topologia lub SLO. Współczynnik 1.3 oznacza przepustowość o 30% większą od zapotrzebowania przed zaokrągleniem, a nie 30% niewykorzystanej pojemności.

Skaluj, zanim przekroczysz limity czasu

Połącz długość kolejki i czas oczekiwania z wykorzystaniem KV, wywłaszczeniami oraz goodput zgodnym z SLO. Wykorzystanie GPU może pozostać wysokie, gdy usługa jest już przeciążona. vLLM dokumentuje te metryki obsługi modeli; wyznacz progi na podstawie testów obciążeniowych.

Zmierz czas pobierania obrazów, ładowania wag, inicjalizacji modelu i rozgrzewania przed wyborem progów automatycznego skalowania. Mechanizmy skalowania wdrożeń w KEDA pozwalają zmniejszać liczbę instancji obsługujących obciążenie aż do zera, ale nie eliminują opóźnienia uruchamiania modelu. Utrzymuj gotową pojemność, gdy żądania nie mogą czekać na uruchomienie.

Przeczytaj opis planowania pojemności i automatycznego skalowania w przewodniku, aby poznać powiązane decyzje dotyczące sprzętu i przyjmowania żądań.