Calculadora de Vazão de Inferência
Entradas
| Parâmetros | 70 |
|---|---|
| Precisão dos pesos | 16 bits (2 bytes) |
| Largura de banda de memória | 3.350 |
Calculadora de Vazão de Inferência
Estime o limite imposto pela largura de banda de memória sobre a velocidade de decodificação de um LLM a partir do tamanho do modelo, da precisão dos pesos e da largura de banda de memória do acelerador — o teto de tokens por segundo para um único fluxo.
Entradas
Modelo
Hardware
Resultados
Insira um valor para ver os resultados.
Detalhes
Vazão de inferência
A vazão de inferência é quantos tokens um modelo de linguagem consegue gerar por segundo. Para uma única requisição, o teto é definido não pela potência aritmética bruta do acelerador, mas pela rapidez com que ele consegue ler os pesos do modelo da memória. Esta calculadora converte o tamanho do modelo, a precisão dos pesos e a largura de banda de memória do hardware nesse teto — o limite de tokens por segundo para um fluxo de decodificação.
Por que a decodificação é limitada por memória
Gerar texto de forma autorregressiva significa produzir um token e então realimentá-lo para produzir o próximo. Cada uma dessas etapas precisa ler todos os pesos do modelo para calcular um único novo token. Com tamanho de lote igual a um, o acelerador executa muito pouca aritmética para cada byte que carrega, de modo que passa quase todo o tempo movendo pesos em vez de multiplicar. A taxa de tokens é, portanto, governada pela largura de banda de memória. (O prefill do prompt é o oposto: processa todos os tokens do prompt em conjunto e é limitado pela computação.)
A fórmula
Primeiro encontre quanta memória os pesos ocupam, depois divida a largura de banda disponível por ela:
Mv=N×b=MBWAqui é a contagem de parâmetros em bilhões, são os bytes armazenados por parâmetro, é o tamanho do modelo em gigabytes, é a largura de banda de memória em gigabytes por segundo e é o limite de vazão em tokens por segundo. Como um bilhão de bytes equivale aproximadamente a um gigabyte, inserir os parâmetros em bilhões faz o tamanho cair diretamente em gigabytes. A precisão dos pesos é de 2 bytes para pesos de 16 bits, 1 byte para 8 bits e meio byte para 4 bits.
Exemplo resolvido
Tome um modelo de 70 bilhões de parâmetros em precisão de 16 bits atendido em um acelerador com 3.350 GB/s de largura de banda de memória:
Mv=70×2=140 GB=1403350≈23.9 tokens/sAssim, um único fluxo atinge no máximo cerca de 24 tokens por segundo. Quantizar o mesmo modelo para 4 bits o encolhe para 35 GB e eleva o teto para cerca de 96 tokens por segundo — um ganho de quatro vezes que espelha a redução de quatro vezes nos bytes lidos por token.
Lendo o resultado
O valor é um limite superior, não uma promessa. Ele contabiliza apenas o tráfego de transmitir os pesos; o cache de chave-valor, o cálculo da atenção e o overhead de kernels consomem parte dele, de modo que um fluxo único real costuma alcançar algo entre metade e três quartos do teto. Atender muitas requisições em lote lê os pesos uma vez para todo o grupo, empurrando a vazão agregada bem acima do número de fluxo único — veja a Calculadora de Throughput de Inferência em Lote. Para transformar uma taxa de tokens em uma espera visível ao usuário, combine-a com a Calculadora de Latência de Inferência, e para medir o quão bem a computação do hardware está sendo aproveitada, veja a Calculadora de Utilização de FLOPs do Modelo.
Perguntas frequentes (FAQ)
Por que a decodificação é limitada pela largura de banda de memória e não pela computação?
Durante a decodificação autorregressiva, o modelo gera um token de cada vez, e cada etapa precisa ler todos os pesos da memória para calcular o próximo token. Com tamanho de lote igual a um, há muito pouca aritmética por byte carregado, de modo que o acelerador passa a maior parte do tempo movendo pesos em vez de multiplicar.
A taxa de tokens é, portanto, determinada pela velocidade com que a memória pode ser lida, e não pela vazão máxima de ponto flutuante. O prefill, que processa todo o prompt de uma só vez, é o oposto — é limitado pela computação.
Um servidor vai realmente alcançar esse número?
Não. O valor é um limite superior limpo que pressupõe que o único tráfego de memória são os pesos. Na prática, o cache de chave-valor, o cálculo da atenção, o overhead de lançamento de kernels e a utilização imperfeita da memória subtraem dele, de modo que um único fluxo costuma alcançar algo entre metade e três quartos do teto.
Agrupar muitas requisições em lote eleva a vazão agregada bem acima do limite de fluxo único, porque os pesos são lidos uma vez para todo o lote.
Quanto a quantização aumenta a vazão?
A vazão escala de forma inversa ao tamanho do modelo, então reduzir pela metade os bytes por parâmetro praticamente dobra o limite. Passar pesos de 16 bits para 8 bits corta pela metade os bytes lidos por token, e 4 bits os corta pela metade novamente. A quantização pode reduzir a qualidade da saída, então o ganho de velocidade é ponderado contra qualquer queda de precisão na tarefa em questão.
Aviso legal
Este é um teto de primeira ordem que contabiliza apenas o tráfego de memória dos pesos e pressupõe decodificação de fluxo único. A vazão real depende da pilha de atendimento, do tamanho do lote, do comprimento da sequência e do cache de chave-valor, e costuma ser uma fração do limite. Faça benchmark no hardware-alvo antes de definir um plano de capacidade.