LLM-latency meten met TTFT, TPOT en P99

Automatische vertaling

Dit artikel is automatisch vertaald vanuit de oorspronkelijke Engelse versie.

De tijd tot het eerste token, of TTFT, meet hoelang een verzoek op het eerste gegenereerde token wacht. De tijd per outputtoken, of TPOT, meet het gemiddelde interval tussen de daaropvolgende tokens. Meet beide: een server kan snel beginnen en langzaam genereren, of gebruikers laten wachten voordat hij de output snel streamt.

Engineers die servers vergelijken, moeten dezelfde begin- en eindpunten voor hun metingen gebruiken en latency rapporteren naar promptlengte, outputlengte en belasting.

Bereken de waarden per verzoek

Leg het tijdstip vast waarop het verzoek wordt verstuurd, het eerste token wordt gegenereerd en het laatste token wordt gegenereerd, plus het aantal outputtokens. Voor een antwoord met minstens twee tokens:

TTFT = first_token_time - request_start_time
TPOT = (last_token_time - first_token_time) / (output_tokens - 1)

Als het verzoek op 0 seconden wordt verstuurd, het eerste token op 0.3 seconden aankomt en het twintigste op 1.25 seconden, is de TTFT 300 ms en de gemiddelde TPOT 50 ms. TPOT is niet gedefinieerd voor een antwoord van één token.

De TTFT die de client waarneemt, kan netwerkverkeer, wachttijd in de wachtrij, tokenization en prefill omvatten. Een timer voor prefill op de server sluit verschillende van die tijdsduren uit. Benoem beide metingen duidelijk in plaats van ze als gelijkwaardig te vergelijken. De prefill-stap levert doorgaans de logits waarmee het eerste token wordt gegenereerd; zie Splitwise over de inference-fasen.

Bekijk de latencyverdeling

P50 is de mediaan van de latency van verzoeken. P99 is de waarde waaronder 99% van de gemeten verzoeken valt. Bereken de percentielen op basis van de metingen per verzoek. Als je alle tokenintervallen over alle verzoeken middelt, wegen lange antwoorden zwaarder en beantwoord je een andere vraag.

De gemiddelde TPOT verbergt ook pauzes tussen afzonderlijke tokens. Leg de individuele intervallen tussen tokens vast als je onderbrekingen tijdens streaming onderzoekt. Een HTTP-chunk kan meerdere tokens bevatten. De intervallen tussen aankomende chunks komen dus niet exact overeen met de tijdstippen waarop tokens worden gegenereerd.

Als historische referentie schreef MLPerf Inference v5.0 een P99 TTFT van 450 ms en een P99 TPOT van 40 ms voor zijn interactieve benchmark met Llama 2 Chat 70B voor. Die grenzen definiëren die benchmark. Bepaal de doelen voor je product met gebruikerstests en rapporteer vervolgens bij welke aangeboden belasting de server eraan voldoet.

De engineeringgids: TTFT, TPOT en percentielen verbindt deze metingen met wachtrijen en inference-fasen.