Como medir a latência de um LLM com TTFT, TPOT e P99

Tradução automática

Este artigo foi traduzido automaticamente a partir da versão original em inglês.

O tempo até ao primeiro token, ou TTFT, mede quanto tempo um pedido espera pelo seu primeiro token gerado. O tempo por token de saída, ou TPOT, mede o intervalo médio entre os tokens seguintes. Meça ambos: um servidor pode começar depressa e gerar lentamente, ou fazer os utilizadores esperar antes de transmitir rapidamente a resposta.

Os engenheiros que comparam servidores devem usar os mesmos pontos de início e fim da medição e apresentar a latência por comprimento do prompt, comprimento da saída e carga.

Calcule os valores de cada pedido separadamente

Registe o instante de envio do pedido, o do primeiro token gerado, o do último token gerado e o número de tokens de saída. Para uma resposta com pelo menos dois tokens:

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

Se o pedido for enviado aos 0 segundos, o primeiro token chegar aos 0.3 segundos e o vigésimo aos 1.25 segundos, o TTFT é de 300 ms e o TPOT médio é de 50 ms. O TPOT não está definido para uma resposta com um só token.

O TTFT observado pelo cliente pode incluir a comunicação de rede, a espera em fila, a tokenização e o prefill. Um temporizador de prefill no servidor exclui vários desses tempos. Identifique ambas as medições em vez de as comparar como se fossem equivalentes. A passagem de prefill fornece normalmente os logits usados para gerar o primeiro token; consulte a descrição das fases de inferência do Splitwise.

Examine a distribuição da latência

P50 é a mediana da latência dos pedidos. P99 é o valor abaixo do qual ficam 99% dos pedidos medidos. Calcule os percentis a partir das medições por pedido. Calcular a média de todos os intervalos entre tokens de todos os pedidos dá mais peso às respostas longas e responde a uma pergunta diferente.

O TPOT médio também oculta pausas entre determinados tokens. Registe os intervalos individuais entre tokens ao diagnosticar interrupções na transmissão em fluxo. Um fragmento HTTP pode conter vários tokens, pelo que os intervalos entre a chegada de fragmentos, por si só, não correspondem exatamente aos tempos de geração dos tokens.

Como referência histórica, o MLPerf Inference v5.0 especificava um TTFT P99 de 450 ms e um TPOT P99 de 40 ms para o seu benchmark interativo de Llama 2 Chat 70B. Esses limites definem esse benchmark. Escolha os objetivos do seu produto através de testes com utilizadores e depois indique com que carga oferecida o servidor os cumpre.

O guia de engenharia: TTFT, TPOT e percentis relaciona estas medições com as filas de espera e as fases de inferência.