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:
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ń.