← Blog
October 1, 2025

Explicação em lote contínua para inferência de LLM, explicada

O tráfego real é confuso. Novas solicitações chegam, enquanto outras são de meia geração. O agrupamento contínuo é especialmente importante para a inferência de modelos de grande linguagem (LLM) e outros modelos de IA usados em aplicativos do mundo real, onde a eficiência do serviço e a utilização de recursos são essenciais. Se seu servidor esperar que um lote completo termine antes de iniciar o próximo, as GPUs ficam ociosas e os usuários esperam.

O agrupamento contínuo mantém a fila em movimento, de modo que a GPU raramente faz uma pausa, o que é crucial para a geração eficiente de texto. Ele pode alcançar melhorias de taxa de transferência de até 23 vezes em relação ao lote ingênuo em cenários de inferência de LLM. Além disso, as cargas contínuas em lote modelam os pesos no nível do token e não no nível da solicitação, aumentando ainda mais a eficiência.

Os sistemas contínuos podem processar materiais 24 horas por dia para maximizar a produção e acelerar a produção. A dosagem contínua permite que os fabricantes alcancem altos volumes de produção, garantindo um controle preciso sobre as proporções dos ingredientes e a qualidade da mistura para diferentes formulações.

A medição e o armazenamento dos ingredientes podem ser feitos em uma tremonha a montante localizada acima do misturador, permitindo que o próximo lote seja preparado enquanto o anterior é misturado.

Pré-preenchimento versus decodificação

Preenchimento prévio é a primeira passagem em que o modelo lê toda a entrada ou sequência de entrada (além do prompt) e cria o cache de chave/valor. Decodificar é a geração passo a passo que produz tokens para cada sequência ou consulta de entrada.

Durante o pré-preenchimento, os tokens de entrada são processados em paralelo, enquanto as sequências são tratadas passo a passo durante a decodificação. O Prefill gosta de grandes trabalhos paralelos; a decodificação se beneficia de muitas pequenas etapas reunidas. Bons programadores os tratam de forma diferente.

O processamento contínuo em lotes não exige modificação no modelo e permite otimizações avançadas de memória. Por exemplo, PagedAttention aloca memória em páginas de tamanho fixo, permitindo o armazenamento em cache KV não contíguo para melhorar a eficiência da memória. O PagedAttention reduz a fragmentação interna ao alocar slots de memória da GPU sob demanda, em vez de antecipadamente.

Start in seconds with the fastest, most affordable cloud GPU clusters.

Launch an instance in under a minute. Enjoy flexible pricing, powerful hardware, and 24/7 support. Scale as you grow—no long-term commitment needed.

Try Compute now

Como funciona a dosagem contínua

  • Admita novos trabalhos a cada passo. O agendador usa o agendamento em nível de iteração, permitindo processar novas solicitações em cada etapa, em vez de esperar por um limite de lote. Isso melhora a utilização da GPU e garante o manuseio eficiente das sequências de entrada.
  • Compartilhe o cache KV. O servidor divide a memória cache em pequenos blocos, armazenando-os e reutilizando-os para gerenciamento eficiente de memória e cache de kv. Os blocos finalizados retornam a um pool para que novas solicitações não interrompam a memória, otimizando o uso da memória.
  • Cresça e encolha rapidamente. Quando as solicitações terminam ou são canceladas, o tamanho do lote ativo muda sem forçar a reinicialização. Essa abordagem dinâmica otimiza o uso da memória e a largura de banda da memória alocando recursos conforme necessário.
  • Transmita à medida que avança. Os clientes veem os tokens assim que a decodificação começa, mesmo quando outras solicitações estão sendo admitidas. O batching contínuo opera no nível do token e melhora a utilização da GPU ao processar novas solicitações à medida que os tokens se tornam disponíveis.

O agrupamento contínuo também ajuda a gerenciar os pesos do modelo de forma eficiente durante a inferência. A taxa de transferência e a latência são aprimoradas em todos os percentis ao usar lotes contínuos na inferência LLM. A inferência LLM é vinculada à memória IO, não à computação, o que significa que leva mais tempo para carregar dados na GPU do que para realizar cálculos.

No entanto, a fabricação contínua normalmente exige um investimento de capital significativo, e o processo é mais complexo do que os sistemas de lotes tradicionais. Na fabricação de medicamentos, a dosagem contínua permite o monitoramento da qualidade em tempo real enquanto define lotes específicos para atender aos requisitos regulatórios.

A fabricação contínua em produtos farmacêuticos pode incorporar a dosagem para segmentos como síntese em várias etapas, onde os intermediários são isolados e validados antes de continuar em um fluxo contínuo.

Por que isso ajuda TTFT e TPS

  • Filas mais curtas. Novas solicitações entram no cronograma rapidamente, o que diminui tempo até o primeiro token (TTFT). As etapas de decodificação podem ser limite de computação, e um script de benchmarking é frequentemente usado para medir esses efeitos.
  • Maior utilização. As etapas de decodificação são compactadas, então tokens por segundo (TPS) permanece alto mesmo quando os prompts e as saídas diferem em comprimento, melhorando a taxa de transferência. Resultados de referência e resultados de benchmarking mostre o impacto da dosagem contínua na produtividade e na eficiência.
  • Espinhos mais suaves. As explosões de tráfego são absorvidas pelo programador em vez de formarem espaços longos e ociosos. A inferência LLM está vinculada à memória IO, o que significa que a taxa de transferência é amplamente determinada pelo tamanho que um lote pode caber na memória GPU de alta largura de banda.
  • O batching dinâmico é ótimo para tráfego ao vivo em modelos porque melhora a latência e a taxa de transferência. O batching dinâmico é ideal para implantações de produção sensíveis à latência. A qualidade uniforme do produto em sistemas contínuos é alcançada pela integração de todas as operações em uma única linha ininterrupta, evitando a segregação de materiais. As plantas alimentícias geralmente utilizam o cozimento contínuo para os ingredientes básicos e depois os misturam com especiarias diferentes.

Limites e compensações

  • Pressão de memória. Solicitações longas e saídas longas aumentam o cache KV. Reservar a memória da GPU para o número máximo de tokens pode causar ineficiências, pois a memória reservada não utilizada pode ser desperdiçada se os comprimentos de entrada do usuário forem menores do que o máximo reservado. Quando o espaço livre está apertado, o TTFT aumenta e o TPS diminui.
  • Justiça versus velocidade. Embalagens agressivas podem causar falta de tempo. Modelos proprietários podem ter diferentes limites máximos de comprimento de contexto, o que afeta as estratégias de agrupamento em lote e a forma como as entradas do usuário de diferentes comprimentos são tratadas. Adicione regras simples de imparcialidade e limites de saída.
  • Jitter. O streaming intercala muitos usuários. Os comprimentos variáveis de entrada do usuário podem contribuir para a variação do tempo do token. O tempo dos tokens varia um pouco, o que é bom para bate-papo, mas menos para tarefas difíceis em tempo real. O processamento contínuo em lotes exige algoritmos de agendamento sofisticados e sistemas de back-end robustos para gerenciar o processamento de cargas de trabalho variáveis.

Além disso, a dosagem contínua envolve tecnologia avançada de automação e sistemas de controle complexos que exigem conhecimento especializado. As operações sequenciais em dosagem contínua envolvem carregar o próximo lote pré-pesado no misturador enquanto o lote atual está sendo descarregado, criando um fluxo de trabalho tranquilo. A implementação de um sistema de dosagem contínua exige um investimento significativo em infraestrutura de hardware e software.

Lista de verificação de ajuste

Esta seção descreve as principais etapas para criar uma configuração de lote eficiente para seus modelos.

Comece com os padrões e depois altere uma coisa de cada vez:

  1. Tampa max_tokens. Grandes capitalizações desperdiçam orçamento e bloqueiam outros.
  2. Defina um tamanho de contexto sensato. Use o RAG para manter os prompts curtos quando possível.
  3. Escolha limites de lote. Deixe slots de decodificação paralelos suficientes para manter a GPU ocupada, mas evite falhas.
  4. Hardware do tamanho certo. Se o cache não subir e o TTFT subir, você provavelmente precisará de mais VRAM ou de um modelo menor. Os modelos mais recentes podem exigir mais VRAM ou hardware otimizado para serem executados com eficiência.
  5. Transmita por padrão. Os usuários sentem o progresso e sua fila permanece saudável.
  6. Use instruções curtas do sistema. Menos tokens inseridos, menos tokens para armazenar em cache. Os métodos híbridos podem ser usados para produzir um material base continuamente e, em seguida, ter um processo em lote subsequente para personalização ou acabamento no setor de processamento químico e de materiais.

Testes a serem executados

Para uma validação completa, é recomendável executar esses testes em várias iterações, usando diferentes iterações e várias iterações para cobrir uma variedade de cenários. Por exemplo, você pode variar a duração dos prompts ou os níveis de simultaneidade em cada execução para observar o comportamento do sistema.

  • Rampa de carga. Aumente a simultaneidade passo a passo e assista a TTFT e TPS.
  • Solicitações mistas. Combine avisos curtos e longos para ver como o programador se comporta.
  • Cancele as tempestades. Faça vários cancelamentos para verificar a limpeza e a reutilização do cache.
  • Limites de fichas. Verifique se as letras maiúsculas funcionam e se os erros estão legíveis.
  • Recarga a quente. Reinicie o servidor ou recarregue um modelo e confirme a recuperação.

Instrumentação que compensa

Acompanhe-os no mínimo:

  • TTFT p50/p95 e TPS p50/p95 sob carga
  • Tamanho do lote ativo e comprimento da fila
  • Uso da memória da GPU e taxa de acerto do cache (monitore também a eficiência da computação da atenção para garantir o desempenho ideal)
  • Códigos de erro: OOM, timeouts, 5xx
  • Contagens de prompts e tokens de saída por solicitação (acompanhe a duração de cada resposta e a resposta completa para entender melhor o desempenho da geração de texto; sem registros de texto se você não precisar deles)

Conclusão

A dosagem contínua não é mágica. É uma forma prática de mantenha as GPUs ocupadas e os usuários ficam felizes quando o tráfego é irregular. Comece com tampas seguras, meça TTFT e TPS e ajuste os limites do lote onde os números dizem que é importante.

Experimente o Compute hoje
Quando estiver pronto, inicie um Endpoint vLLM na computação. Escolha hardware, defina limites e obtenha uma URL HTTPS que funcione com os SDKs do OpenAI.

PERGUNTAS FREQUENTES

O que é pré-preenchimento versus decodificação?

O Prefill lê o prompt inteiro uma vez para configurar a memória. O Decode gera tokens passo a passo usando essa memória.

Qual deve ser o tamanho de um lote?

Grande o suficiente para manter a GPU ocupada durante a decodificação sem causar perda de cache. Teste com suas instruções reais e limite máximo de tokens.

Por que o TTFT piora em altas cargas?

Normalmente, pressão de memória ou saídas grandes. Reduza as solicitações, limite as saídas e verifique a taxa de conversão do cache.

O batching contínuo funciona com streaming?

Sim O streaming é o padrão para muitos servidores. Os usuários veem os tokens enquanto o agendador continua admitindo outras solicitações.

Preciso de várias GPUs para ajudar com isso?

Não. Os nós de GPU única se beneficiam muito. A MultiGPU ajuda quando as necessidades de memória ou taxa de transferência excedem uma placa.

Quantos tokens por segundo é o ChatGPT?

O ChatGPT normalmente gera tokens em uma taxa que depende do hardware e da carga subjacente, mas as taxas de transferência comuns variam de centenas a milhares de tokens por segundo em servidores otimizados.

Quantas palavras são 1.000 tokens?

Em média, 1.000 tokens correspondem a cerca de 750 palavras, embora isso possa variar dependendo do idioma e do método de tokenização.

O que significa um token na IA?

Um token é uma unidade de texto usada no processamento de linguagem natural, geralmente uma peça de palavra ou subpalavra que o modelo processa durante a inferência ou o treinamento.

Quantos tokens por segundo um humano pode ler?

Os humanos geralmente lêem cerca de 200 a 300 palavras por minuto, o que se traduz aproximadamente em 250 a 400 fichas por minuto, ou cerca de 4 a 7 fichas por segundo.

O que é TTFT?

TTFT significa Time To First Token, a latência medida desde o recebimento de uma solicitação até o momento em que o primeiro token da saída do modelo é gerado.

Como medir o TTFT?

O TTFT é medido cronometrando o intervalo entre o momento em que um modelo de servidor recebe a primeira solicitação e a saída do primeiro token, geralmente rastreado em scripts de benchmarking.

O que é a métrica TPOT?

O TPOT (Tokens por tempo de operação) é uma métrica de desempenho que indica quantos tokens um modelo gera por unidade de tempo de processamento, útil para avaliar a taxa de transferência.

O que é TPS no LLM?

TPS significa Tokens por segundo, uma medida da taxa de transferência do modelo durante a inferência, indicando quantos tokens são gerados a cada segundo.

O que é um cache KV?

O cache KV se refere ao cache de valores-chave que armazena tensores intermediários de chave e valor calculados durante o mecanismo de atenção para acelerar a geração subsequente de tokens.

O que é cache GPU KV?

O cache KV da GPU é o armazenamento de pares de valores chave na memória da GPU usado durante a inferência do modelo para otimizar os cálculos de atenção e reduzir os cálculos redundantes.

O que é o cache KV no LLM?

Em modelos de linguagem grandes, o cache KV contém vetores de chave e valor em cache de tokens anteriores para computar com eficiência a atenção para novos tokens sem recalcular estados anteriores.

O que é cache de armazenamento de valores-chave?

Um cache de armazenamento de valores-chave é um método de armazenamento de dados em que os dados são armazenados como pares de chaves e valores correspondentes, permitindo uma recuperação rápida; em LLMs, esse conceito se aplica ao armazenamento em cache de cálculos intermediários.

Como funciona o processamento dinâmico em lotes?

O batching dinâmico agrupa as solicitações de inferência recebidas em lotes dinamicamente com base nos horários de chegada e nos limites de tamanho do lote, executando lotes quando cheios ou após um tempo limite para equilibrar a latência e a taxa de transferência.

Qual é a diferença entre dosagem estática e dosagem dinâmica?

O lote estático espera que um lote seja preenchido completamente antes do processamento, aumentando potencialmente a latência, enquanto o lote dinâmico processa os lotes uma vez cheios ou após um tempo definido, melhorando a latência e a utilização de recursos. O lote estático é mais apropriado quando a latência não é um problema. O batching estático pode aumentar substancialmente a latência, limitando seus casos de uso. O agrupamento estático exige uma linha de solicitações bem gerenciada para alimentar o modelo com eficiência. O batching estático pode aumentar substancialmente a latência, limitando seus casos de uso. O batching estático processa as solicitações quando um determinado número de solicitações é recebido.

O que significa dosagem no transporte?

No transporte, o agrupamento em lotes se refere ao agrupamento de vários pedidos ou remessas para otimizar a eficiência do transporte e reduzir custos.

O que é dosagem dinâmica no Unity?

No Unity, o agrupamento dinâmico é uma técnica de otimização de renderização que combina várias malhas pequenas em uma única chamada de desenho dinamicamente para melhorar o desempenho gráfico.