Ele é uma medida da capacidade do sistema. Não informa a rapidez com que uma única solicitação começa ou termina.
Como funciona o throughput de inferência
O cálculo básico é:
throughput = trabalho concluído ÷ tempo decorrido
A palavra “trabalho” é importante. Para um classificador de imagens, ela pode significar imagens processadas. Para um modelo de linguagem, pode significar solicitações concluídas ou tokens processados. Um resultado de “2.000 por segundo” não faz sentido até que você saiba o que foi contado.
O throughput de tokens precisa de outra identificação. O throughput de tokens de entrada mede o processamento dos prompts. O throughput de tokens de saída mede os tokens gerados. O throughput total de tokens combina ambos. Essas taxas descrevem trabalhos diferentes e não devem ser comparadas como se fossem a mesma métrica.
O limite de medição também importa. Um resultado pode abranger um acelerador, um servidor ou uma implantação inteira com muitas réplicas. Dividir um resultado de toda a implantação pelo número de aceleradores pode ajudar a comparar a capacidade por acelerador, mas somente quando o modelo e a carga de trabalho forem equivalentes em outros aspectos.
O throughput geralmente aumenta à medida que mais solicitações são executadas simultaneamente. O sistema de serving pode agrupar o trabalho em lotes, utilizando mais recursos do hardware em cada etapa de processamento. Para modelos de linguagem, o batching contínuo pode substituir uma sequência concluída por outra em espera, em vez de manter o lote inteiro parado até que termine a sequência mais longa.
Essa melhoria tem um limite. Quando a computação, a memória ou outro recurso compartilhado fica saturado, solicitações adicionais aguardam em uma fila. A taxa de entrada pode continuar aumentando, mas a taxa de conclusão deixa de crescer com ela. A latência piora, mesmo que o throughput bruto mude pouco.
É por isso que um resultado de capacidade útil costuma ser o throughput sustentável sob uma meta de latência. O benchmark aumenta a carga, mede o trabalho concluído e verifica se os limites de tempo de resposta continuam sendo atendidos. A última carga aprovada é mais útil para planejar um serviço online do que um pico máximo sem restrições.
Um exemplo prático
Suponha que um benchmark envie a mesma combinação de prompts para um servidor de modelos durante 60 segundos. O servidor conclui 1.200 solicitações e gera 180.000 tokens de saída.
- Throughput de solicitações:
1.200 ÷ 60 = 20 solicitações por segundo - Throughput de tokens de saída:
180.000 ÷ 60 = 3.000 tokens de saída por segundo
Essas são duas perspectivas da mesma execução. A taxa de solicitações ajuda a estimar quantas interações o servidor consegue concluir. A taxa de tokens captura diferenças no comprimento das respostas que a contagem de solicitações não revela.
Agora aumente a carga oferecida para 30 solicitações por segundo. O servidor conclui 22 por segundo, mas mais oito solicitações entram na fila a cada segundo, e a meta de latência não é atendida. A carga oferecida é de 30 solicitações por segundo. O throughput observado de conclusão é de 22 solicitações por segundo. Nenhum dos dois valores prova que o serviço consegue lidar sustentavelmente com 30 solicitações por segundo.
Se 20 solicitações por segundo foi a maior carga testada que manteve a fila estável e atendeu à meta de latência, então 20 é o valor de capacidade defensável para essa carga de trabalho e essa meta.
Por que o throughput de inferência é importante
O throughput informa ao operador quanto hardware é necessário para a demanda esperada. Ele também permite calcular métricas de custo, como solicitações concluídas por dólar ou tokens de saída por hora de acelerador.
Para trabalhos offline, um throughput maior pode reduzir a janela total de processamento. Para um serviço online, throughput suficiente impede que as solicitações recebidas se acumulem mais rápido do que o sistema consegue concluí-las.
A meta depende do produto. Um pipeline em lote pode aceitar esperas longas para maximizar o trabalho total. Uma aplicação interativa precisa de throughput suficiente e, ao mesmo tempo, deve manter as solicitações individuais responsivas. Uma métrica mais rigorosa, chamada goodput, contabiliza apenas o trabalho que também atende aos objetivos de latência do serviço.
Equívocos comuns
Um throughput maior significa que toda resposta é mais rápida
Não necessariamente. Agrupar mais solicitações em lotes pode aumentar a saída total do servidor, enquanto cada solicitação espera mais ou recebe tokens mais lentamente. Throughput descreve o sistema como um todo; latência descreve o tempo de espera de uma solicitação individual.
Tokens por segundo sempre significa throughput
“Tokens por segundo” pode descrever tanto o throughput agregado de tokens quanto a taxa de geração percebida por um único usuário. Verifique se o número abrange uma solicitação ou todas as solicitações simultâneas e se contabiliza tokens de entrada, de saída ou ambos.
A taxa de solicitações é o throughput
A taxa de solicitações é o que chega. Throughput é o que é concluído. Eles são próximos somente enquanto o sistema consegue acompanhar. Se as chegadas excederem as conclusões, a fila crescerá até que as solicitações sejam atrasadas, rejeitadas ou descartadas.
Um único número de throughput é suficiente para comparar sistemas
O throughput depende do modelo, dos tamanhos de entrada e saída, do padrão de batch ou concorrência, do escopo do hardware, da janela de medição e dos limites de latência. Altere a carga de trabalho e o número pode mudar, mesmo que o sistema não mude.
Próximos passos
Leia O que é inferência em IA? para conhecer o processo cuja capacidade é medida pelo throughput. Compare-o com a latência de inferência, que acompanha o tempo de espera, e com tokens por segundo, que geralmente descreve a velocidade de geração. Para ver a distinção completa, consulte Latência vs. TTFT vs. tokens por segundo vs. throughput.