Jak mierzyć opóźnienia LLM za pomocą TTFT, TPOT i P99
Tłumaczenie automatyczne
Ten artykuł został automatycznie przetłumaczony z angielskiego oryginału.
Czas do pierwszego tokena, czyli TTFT, określa, jak długo żądanie czeka na pierwszy wygenerowany token. Czas na token wyjściowy, czyli TPOT, określa średni odstęp między kolejnymi tokenami. Mierz oba: serwer może zacząć szybko i generować powoli albo najpierw kazać użytkownikom czekać, a potem szybko przesyłać odpowiedź strumieniowo.
Inżynierowie porównujący serwery powinni przyjmować te same punkty początku i końca pomiaru oraz podawać opóźnienia w zależności od długości promptu, długości odpowiedzi i obciążenia.
Obliczaj wartości osobno dla każdego żądania
Zapisuj czas wysłania żądania, czas wygenerowania pierwszego tokena, czas wygenerowania ostatniego tokena oraz liczbę tokenów wyjściowych. Dla odpowiedzi zawierającej co najmniej dwa tokeny:
TTFT = first_token_time - request_start_time
TPOT = (last_token_time - first_token_time) / (output_tokens - 1)
Jeśli żądanie wysłano w chwili 0 sekund, pierwszy token dociera po 0.3 sekundy, a dwudziesty po 1.25 sekundy, TTFT wynosi 300 ms, a średni TPOT 50 ms. TPOT jest niezdefiniowany dla odpowiedzi zawierającej tylko jeden token.
TTFT obserwowany przez klienta może obejmować komunikację sieciową, oczekiwanie w kolejce, tokenizację i fazę prefill. Pomiar czasu fazy prefill po stronie serwera wyklucza kilka z tych składników. Oznacz oba pomiary, zamiast porównywać je jako równoważne. Faza prefill zwykle dostarcza logity używane do wygenerowania pierwszego tokena; zobacz opis faz inferencji w Splitwise.
Sprawdź rozkład opóźnień
P50 to mediana opóźnień żądań. P99 to wartość, poniżej której znajduje się 99% zmierzonych żądań. Obliczaj percentyle na podstawie pomiarów dla poszczególnych żądań. Uśrednianie wszystkich odstępów między tokenami ze wszystkich żądań nadaje większą wagę długim odpowiedziom i odpowiada na inne pytanie.
Średni TPOT ukrywa też przerwy między konkretnymi tokenami. Przy diagnozowaniu przerw w przesyłaniu strumieniowym zapisuj poszczególne odstępy między tokenami. Jeden fragment HTTP może zawierać kilka tokenów, więc same odstępy między nadejściem fragmentów nie odzwierciedlają dokładnie czasu generowania tokenów.
Jako historyczny punkt odniesienia MLPerf Inference v5.0 określał P99 TTFT na poziomie 450 ms i P99 TPOT na poziomie 40 ms dla interaktywnego benchmarku Llama 2 Chat 70B. Te limity definiują ten benchmark. Ustal cele produktu na podstawie testów z użytkownikami, a następnie podaj, przy jakim zadawanym obciążeniu serwer je spełnia.
Poradnik inżynierski: TTFT, TPOT i percentyle łączy te pomiary z kolejkowaniem i fazami inferencji.