Przepustowość LLM a goodput: której metryki używać?
Tłumaczenie automatyczne
Ten artykuł został automatycznie przetłumaczony z angielskiego oryginału.
Przepustowość LLM mierzy, ile pracy serwer wykonuje na sekundę. Goodput mierzy tempo wykonywania pracy, która dodatkowo spełnia określone wymagania dotyczące usługi. Przy podejmowaniu decyzji o obsłudze modeli używaj przepustowości tokenów wyjściowych wraz z liczbą poprawnie zakończonych żądań na sekundę, które spełniają cele opóźnienia pierwszego tokena i generowania.
Serwer, który produkuje więcej tokenów, gdy żądania przekraczają limit czasu, może mieć wyższą przepustowość i niższą użyteczną wydajność.
Zdefiniuj żądanie spełniające wymagania
Przed testami zdefiniuj warunki, które musi spełnić żądanie. Na przykład: poprawne zakończenie, TTFT poniżej 500 ms i średni TPOT poniżej 50 ms. Następnie policz zakończone żądania spełniające te warunki w okresie pomiarowym:
request goodput = qualifying completed requests / measured seconds
output throughput = generated output tokens / measured seconds
To przykładowy SLO i dwie jawne definicje metryk. Jeśli 100 żądań kończy się w dziesięć sekund, ale tylko 60 spełnia wymagania, przepustowość zakończonych żądań wynosi dziesięć żądań na sekundę, a goodput sześć. Podaj też przepustowość tokenów wyjściowych, ponieważ długości odpowiedzi mogą się różnić.
DistServe używa goodput do oceny obsługi modeli przy wymaganiach dotyczących TTFT i generowania tokenów. Zawsze podawaj, czy jednostką są żądania czy tokeny spełniające wymagania: samo słowo nie definiuje mianownika ani zasad kwalifikacji.
Zachowaj porównywalny profil obciążenia
| Zapisz | Dlaczego wpływa to na wynik |
|---|---|
| Długości wejść i wyjść | Różnią się nakład pracy w fazie prefill, rozmiar pamięci podręcznej i czas dekodowania |
| Model, precyzja, GPU i wersja środowiska wykonawczego | Zmieniają koszt wykonania |
| Oferowane żądania na sekundę | Określa obciążenie kolejki |
| Jednoczesne żądania | Zmienia grupowanie w partie i użycie pamięci |
| Zasady użycia pamięci podręcznej | Powtarzające się prefiksy mogą zmniejszyć nakład pracy w fazie prefill |
| Błędy i anulowania | Poprawne zakończenie jest częścią użytecznej wydajności |
Przy małych partiach dekodowania dodawanie żądań może poprawić ponowne wykorzystanie wag. Większe partie lub rosnące obciążenie oferowane mogą z czasem zwiększyć opóźnienie albo przekroczyć ograniczenia pamięci, obliczeń lub komunikacji. Krzywa zależy od profilu obciążenia; skalowanie liniowe nie jest gwarantowane.
Zwiększaj obciążenie oferowane stopniowo i przedstaw na wykresach przepustowość, goodput, opóźnienie P99, błędy i długość kolejki. Wybierz obciążenie, które spełnia wymagania i pozostawia zapas na zmiany ruchu. Eksperyment Anyscale z ciągłym grupowaniem w partie pokazuje, dlaczego porównanie wymaga podania rozkładu żądań.
Przewodnik inżynierski: przepustowość i kompromis z opóźnieniem wyjaśnia ten kompromis przy obsłudze modeli w szerszym kontekście.