Continuous Batching
Aprende como o continuous batching otimiza o débito de GPU e reduz a latência. Descobre como usar o Ultralytics YOLO26 para maximizar a eficiência em tarefas de ML de produção.
O batching contínuo é uma técnica avançada de agendamento e otimização de inferência usada em machine learning (ML) para maximizar a utilização de hardware e o rendimento. No batching estático tradicional, um inference engine aguarda que um número pré-determinado de pedidos se acumule antes de os processar simultaneamente. Isto conduz frequentemente a ineficiências porque o sistema tem de esperar que o pedido mais longo do batch termine antes de libertar recursos. O batching contínuo, também conhecido como batching dinâmico ou ao nível da iteração, resolve este problema injetando novos pedidos no batch de computação assim que um pedido ativo é concluído, reduzindo significativamente o tempo de ociosidade nas GPUs e melhorando a eficiência global.
Distinguindo Conceitos Relacionados#
Para entender melhor como os dados são processados durante a implantação de modelos, é útil diferenciar continuous batching de outros termos relacionados no glossário:
- Batch Size: Refere-se ao número fixo de amostras processadas em simultâneo durante o treino ou a inferência. Os batch processing workflows tradicionais dependem de tamanhos estáticos, enquanto o batching contínuo permite que o tamanho efetivo do batch flutue dinamicamente com base no tráfego de entrada.
- Real-Time Inference: Este conceito foca-se em minimizar a inference latency para previsões imediatas, processando entradas individuais à medida que chegam. O batching contínuo preenche a lacuna entre o batching estático de alto rendimento e a inferência em tempo real de baixa latência, mantendo um alto rendimento sem forçar os pedidos rápidos a esperar pelos mais lentos.
Aplicações no Mundo Real#
O continuous batching é fundamental para sistemas de produção que lidam com grandes volumes de solicitações imprevisíveis. Aqui estão dois exemplos concretos de sua aplicação:
-
High-Throughput Text Generation: Ao servir Large Language Models (LLMs), a geração de respostas para diferentes utilizadores demora tempos variáveis dependendo do comprimento da saída. Os frameworks que utilizam batching contínuo — como o vLLM no Ray Serve — podem transmitir continuamente tokens recentemente gerados e trocar imediatamente conversas concluídas por novos prompts. Este método, originalmente popularizado pela research on iteration-level scheduling, melhora drasticamente o rendimento da geração de texto.
-
Asynchronous Video Analytics: Em tarefas de video understanding, tais como o rastreio de veículos através da rede de câmaras de tráfego de uma cidade, os fotogramas chegam em intervalos diferentes. O batching contínuo permite que os modelos de object tracking processem dinamicamente os fotogramas de vídeo recebidos no milissegundo em que os recursos se libertam, otimizando os pipelines de hardware acceleration para dashboards de cidades inteligentes.
Processamento Contínuo em Tarefas de Visão#
Ao gerir model deployment practices de alto tráfego, a transmissão iterativa de inferências pode simular os benefícios do batching dinâmico, garantindo que a memória é libertada progressivamente em vez de ficar bloqueada. O seguinte exemplo em Python demonstra como utilizar o padrão de gerador com a model prediction API para lidar de forma eficiente com um fluxo contínuo de imagens.
from ultralytics import YOLO
# Load the latest Ultralytics YOLO26 model
model = YOLO("yolo26n.pt")
# Using stream=True acts as a generator, iteratively processing inputs
# to keep memory usage low and throughput high
results = model.predict(source=["img1.jpg", "img2.jpg", "img3.jpg"], stream=True)
# Process each result as soon as it completes
for result in results:
print(f"Detected {len(result.boxes)} objects in this frame.")A gestão de resource scheduling ao nível do sistema requer um equilíbrio entre a velocidade bruta e o custo operacional. As equipas que implementam modelos massivos de computer vision (CV) e de linguagem confiam cada vez mais em frameworks de serviço avançados para gerir estes batches dinâmicos. Para equipas empresariais que pretendem otimizar a sua infraestrutura, a Ultralytics Platform oferece ferramentas robustas para treinar, monitorizar e exportar modelos para ambientes de produção altamente otimizados.






