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

ZapiszDlaczego 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 wykonawczegoZmieniają koszt wykonania
Oferowane żądania na sekundęOkreśla obciążenie kolejki
Jednoczesne żądaniaZmienia grupowanie w partie i użycie pamięci
Zasady użycia pamięci podręcznejPowtarzające się prefiksy mogą zmniejszyć nakład pracy w fazie prefill
Błędy i anulowaniaPoprawne 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.