Durante a inferência, um modelo pode retornar um resultado, como uma pontuação de fraude, ou transmitir um resultado em partes, como um texto gerado. Uma previsão única geralmente tem um ponto de conclusão óbvio. Uma resposta transmitida não: a primeira saída visível e a resposta concluída chegam em momentos diferentes.

Como a latência de inferência é medida

Comece pelo limite da medição.

A latência do modelo

A latência do serviço

A latência de ponta a ponta

Esses rótulos não são perfeitamente padronizados. A “latência do modelo” de uma plataforma pode incluir um trabalho que outra plataforma registra como sobrecarga. Portanto, os carimbos de data e hora fazem parte da definição. “Do envio pelo cliente até o recebimento da resposta final” é comparável; “a latência foi de 800 ms” não é.

Para um modelo de linguagem que transmite texto, o cronômetro também pode parar em diferentes eventos de saída:

  • Tempo até o primeiro token (TTFT) termina quando o primeiro token de saída é recebido. Ele captura quão rapidamente uma resposta começa a aparecer.
  • A latência de ponta a ponta da solicitação, às vezes chamada de tempo até o último token, termina quando a resposta completa é recebida.
  • A latência entre tokens (ITL) mede os intervalos entre tokens de saída sucessivos depois que a geração começa. Algumas ferramentas chamam isso de tempo médio por token de saída.

Segundo uma convenção comum:

latência de ponta a ponta = TTFT + tempo de geração

Se uma resposta contiver n tokens de saída, sua latência média entre tokens após o primeiro token será:

(latência de ponta a ponta - TTFT) / (n - 1)

O denominador é n - 1 porque n tokens contêm essa quantidade de intervalos após o primeiro token. Verifique a definição da ferramenta antes de comparar resultados. Algumas ferramentas incluem a espera pelo primeiro token na média por token, enquanto outras a excluem.

Um exemplo prático

Suponha que um cliente registre os seguintes carimbos de data e hora para uma resposta transmitida hipotética:

  • Solicitação enviada: 0 ms
  • Primeiro token de saída recebido: 450 ms
  • Token de saída final recebido: 1.400 ms
  • Tamanho da saída: 20 tokens

O TTFT observado pelo cliente é de 450 ms. A latência de ponta a ponta é de 1.400 ms. A geração após o primeiro token leva 950 ms, distribuídos por 19 intervalos entre tokens:

950 ms / 19 = 50 ms

Portanto, a mesma solicitação tem uma latência até o primeiro token de 450 ms, uma latência média entre tokens de 50 ms e uma latência de conclusão de 1,40 s. Nenhum desses valores substitui os outros.

Agora suponha que o servidor do modelo informe 720 ms de trabalho no contêiner do modelo. Isso não prova que os 680 ms restantes foram decorrentes da rede. Os cronômetros do cliente e do servidor podem abranger etapas sobrepostas ou definidas de maneiras diferentes. Para explicar a diferença, são necessários carimbos de data e hora alinhados para o enfileiramento, o pré-processamento, a execução do modelo, o pós-processamento e a transferência pela rede.

O que altera a latência de inferência

A latência é o resultado de um teste completo, não uma propriedade permanente de um modelo. Ela muda de acordo com:

  • Formato e tamanho da entrada. Mais entrada pode exigir mais pré-processamento e trabalho do modelo.
  • Formato e tamanho da saída. Uma resposta gerada mais longa exige mais etapas sequenciais de geração.
  • Tráfego e simultaneidade. As solicitações podem esperar por capacidade quando outro trabalho utiliza os mesmos recursos de atendimento.
  • Processamento em lote e agendamento. Agrupar solicitações pode melhorar a eficiência total do sistema e, ao mesmo tempo, fazer uma solicitação individual esperar.
  • Hardware e software de atendimento. Aceleradores, precisão numérica, movimentação de memória, kernels e mecanismos de inferência afetam o tempo de execução.
  • Estado aquecido ou frio. Uma solicitação pode ser mais lenta se o código, os dados do modelo ou os caches não estiverem prontos.
  • Etapas da aplicação. Recuperação, verificações de segurança, ferramentas e pós-processamento podem adicionar um atraso perceptível pelo usuário fora do modelo.
  • Rede e localização do cliente. Um benchmark no lado do servidor não inclui todos os saltos observados por um usuário remoto.

Para texto gerado, o tamanho da entrada tende a afetar a espera antes do início da saída, enquanto o tamanho da saída afeta fortemente o momento em que a resposta termina. A transmissão pode fazer a interface parecer responsiva ao revelar parte da saída mais cedo, mas, por si só, não garante uma latência de conclusão menor.

Por que a média não é suficiente

Um serviço em produção processa solicitações de tamanhos diferentes sob uma carga variável. Uma única média comprime essa distribuição e pode ocultar as solicitações com as esperas mais longas.

A latência costuma ser informada com percentis. Uma latência de conclusão p95 é o valor abaixo do qual 95% das solicitações medidas foram concluídas. Os 5% restantes demoraram mais. p50 descreve a solicitação mediana, enquanto p95 ou p99 revela uma parcela maior da cauda lenta.

Todo percentil informado ainda precisa de contexto. No mínimo, rotule um resultado com:

  1. Limite: do cliente ao primeiro token, do cliente ao resultado final ou um intervalo específico no lado do servidor.
  2. Carga de trabalho: modelo, distribuição das entradas, distribuição das saídas e configurações das solicitações.
  3. Carga: simultaneidade ou padrão de chegada das solicitações.
  4. Estatística: p50, p95, p99, média ou um valor por solicitação.

Por exemplo, “latência p95 do cliente ao resultado final para esta carga de trabalho com 20 solicitações simultâneas” é uma medição utilizável. Um valor menor obtido com uma mistura de prompts diferente ou com carga de uma única solicitação não é evidência de um sistema de produção mais rápido.

Por que a latência de inferência é importante

A latência determina quanto tempo uma solicitação espera. O ponto de parada relevante depende do produto.

Uma interface interativa pode se importar principalmente com a primeira saída visível. Um classificador em segundo plano se importa com a previsão concluída. Um sistema de várias etapas não pode iniciar sua próxima etapa dependente até que o resultado anterior esteja completo; portanto, a latência de conclusão pode se acumular ao longo da sequência.

A latência também interage com o throughput, que mede quanto trabalho um sistema conclui ao longo do tempo. Aumentar o tamanho do lote ou a simultaneidade pode elevar o throughput total e, ao mesmo tempo, aumentar a espera de cada solicitação. Assim, um sistema pode processar mais tokens por segundo no total e ainda parecer mais lento para um usuário individual.

Equívocos comuns

“Latência de inferência” sempre significa tempo de execução do modelo. Não significa. O termo também é usado para medições no nível do serviço e observadas pelo cliente. Procure o limite da medição.

O tempo até o primeiro token é a latência da resposta. É um marco da resposta. Um primeiro token rápido pode ser seguido por uma geração longa.

A transmissão faz a inferência terminar mais rápido. A transmissão altera o momento em que resultados parciais são entregues. Ela pode melhorar a responsividade percebida mesmo que o resultado final chegue no mesmo momento.

Um modelo tem um único valor de latência. O resultado depende das entradas, saídas, carga, hardware, software e da estatística informada.

Mais tokens por segundo no total significa menor latência. O throughput agregado e o tempo de espera por solicitação podem variar em direções opostas.

Próximos passos

Use tempo até o primeiro token quando o início de uma resposta transmitida for importante. Use tokens por segundo para descrever o ritmo de geração e throughput de inferência para descrever a capacidade total de atendimento. Para uma distinção lado a lado, consulte latência vs. TTFT vs. tokens por segundo vs. throughput.