Como funcionam os tokens por segundo
O cálculo básico é:
TPS = tokens contados / segundos decorridos
Durante a inferência, um modelo de linguagem produz tokens como saída. Medir essa taxa parece simples, mas um benchmark precisa fazer três escolhas:
- De quem são os tokens? Uma única solicitação ou todas as solicitações simultâneas no sistema.
- Quais tokens? Tokens de saída, tokens de entrada ou ambos.
- Quais segundos? Apenas o período de geração após o primeiro token, o tempo total da solicitação ou toda a janela do benchmark.
Essas escolhas geram dois significados comuns.
A velocidade de saída por solicitação descreve a velocidade com que uma única resposta é transmitida depois de começar. Ela costuma ser calculada a partir dos intervalos entre os tokens de saída, excluindo a espera inicial. Esse é o TPS que mais se aproxima do que uma pessoa vê enquanto o texto aparece.
TPS de saída do sistema soma os tokens de saída de todas as solicitações e divide pelo tempo do benchmark. Ele mede a capacidade total de geração da implantação. As definições de benchmark da NVIDIA e o guia de métricas da Anyscale distinguem esses dois escopos porque eles podem variar em direções opostas conforme a carga muda.
Você também pode encontrar o TPS de entrada, que mede o processamento do prompt, ou o TPS total, que combina tokens de entrada e de saída. Verifique o rótulo antes de comparar valores. O processamento da entrada e a geração da saída são trabalhos diferentes, embora ambos usem tokens.
Um exemplo prático
Suponha que você envie uma solicitação em 0,0 s. Ela produz 41 tokens de saída:
- O primeiro token chega em
0,4 s. - O token final chega em
2,4 s. - Os 40 intervalos após o primeiro token abrangem
2,0 s.
A velocidade de saída estável é:
40 intervalos / 2,0 segundos = 20 tok/s
Uma ferramenta que inclui toda a solicitação poderia calcular:
41 tokens de saída / 2,4 segundos = 17,1 tok/s
Os dois resultados vêm da mesma resposta. O primeiro isola a geração depois que a saída começa. O segundo inclui a espera inicial e usa todos os tokens de saída. A documentação atual não adota uma convenção universal: a Artificial Analysis exclui a espera até o primeiro token da velocidade de saída, enquanto algumas métricas de ponta a ponta a incluem.
Agora mude o escopo. Durante um benchmark de cinco segundos, várias solicitações simultâneas produzem 400 tokens de saída no total:
400 tokens de saída / 5 segundos = 80 tok/s do sistema
Esses 80 tok/s representam capacidade agregada. Isso não significa que uma única resposta tenha sido transmitida a 80 tok/s.
Por que os tokens por segundo são importantes
O TPS por solicitação ajuda a avaliar com que rapidez uma resposta longa chegará depois que começar. Ele é importante para chat, geração de código e qualquer fluxo de trabalho que consuma uma resposta transmitida antes de ela ser concluída.
O TPS do sistema ajuda no planejamento de capacidade e custos. Ele mostra quanto de saída uma implantação pode produzir sob uma carga especificada. Aumentar a simultaneidade pode melhorar essa taxa agregada ao utilizar o hardware de modo mais eficiente, mas também pode tornar cada solicitação mais lenta. Um sistema de alta capacidade não proporciona automaticamente uma experiência rápida para um único usuário.
O TPS nunca conta toda a história sobre o tempo de resposta. Combine o TPS por solicitação com o tempo até o primeiro token, que mede a espera antes do início da saída. Combine o TPS do sistema com o throughput de inferência e a latência sob carga. Uma implantação só é útil se produzir trabalho suficiente enquanto atende às necessidades de tempo de resposta da aplicação.
O que altera um resultado de TPS
O TPS é uma propriedade de uma configuração medida, não apenas do nome de um modelo. Ele pode mudar de acordo com:
- a arquitetura e o tamanho do modelo;
- o hardware e o número de dispositivos;
- o mecanismo de inferência, a precisão numérica, o caching e o método de decodificação;
- os tamanhos do prompt e da saída;
- a simultaneidade, o ritmo de solicitações, o batching e outros padrões de tráfego;
- o tokenizer usado para contar tokens; e
- efeitos do lado do cliente, como os blocos de streaming e a entrega pela rede.
Prompts mais longos podem alterar tanto a espera inicial quanto a velocidade de saída posterior. A velocidade de saída também pode variar conforme o conteúdo gerado quando o mecanismo de serving usa métodos como a decodificação especulativa. Portanto, um resultado reproduzível deve informar o modelo e o endpoint, o formato da carga de trabalho, a carga, o tokenizer e a fórmula exata. A documentação de benchmark do vLLM recomenda comparar os pontos de medição e as fórmulas, em vez de apenas os nomes das métricas.
Equívocos comuns
“O TPS me diz quando a resposta começa”
O TPS geralmente descreve a taxa durante a geração ou ao longo de uma janela de benchmark. Ele não isola o período de espera antes do primeiro token. Dois sistemas podem ter o mesmo TPS de saída e tempos até o primeiro token muito diferentes.
“Mais TPS do sistema significa uma resposta mais rápida para mim”
Não necessariamente. Atender mais solicitações em conjunto pode aumentar o TPS total do sistema enquanto cada solicitação recebe tokens com menor frequência. Verifique se o resultado é por solicitação ou agregado.
“Um token é uma palavra”
Tokens não são unidades fixas de texto visível. Tokenizers diferentes podem dividir a mesma frase de maneiras diferentes, portanto valores iguais de tok/s podem corresponder a quantidades diferentes de texto. Por esse motivo, benchmarks entre modelos às vezes tokenizam novamente as saídas usando um tokenizer comum.
“TPS é uma métrica padronizada única”
Não existe uma definição única obrigatória. O TPS pode excluir ou incluir a espera até o primeiro token e pode contar apenas os tokens de saída ou os tokens de entrada e de saída juntos. Leia sempre a fórmula.
Próximos passos
Use a latência de inferência para entender o atraso da resposta, o tempo até o primeiro token para a espera inicial e o throughput de inferência para a capacidade total de serving. Para entender os limites entre as quatro medições, consulte Latência vs. TTFT vs. Tokens por Segundo vs. Throughput.