Esta função agrega múltiplos pedidos de inferência individuais em uma única execução em lote para maximizar a utilização da GPU e minimizar a sobrecarga por solicitação. Ao analisar os padrões de solicitação em tempo real, o sistema determina tamanhos de lote ideais que equilibram as restrições de memória com a velocidade de processamento. Essa abordagem é fundamental para aplicações empresariais que lidam com fluxos de dados em grande escala, onde a sensibilidade à latência e a eficiência de custos são primordiais.
O sistema monitora as filas de inferência de entrada para detectar picos de carga ou condições de estado estável automaticamente.
Ele calcula tamanhos de lote ótimos avaliando os recursos de computação disponíveis e os tempos de interchegada das requisições.
As solicitações são mescladas em lotes unificados, executadas em paralelo e, em seguida, decompostas para entrega de respostas individuais.
Monitore as taxas de chegada de requisições em tempo real e as métricas atuais de utilização de memória da GPU.
Calcular o tamanho ideal do lote com base nos alvos de latência e nos recursos de computação disponíveis.
Agrupar solicitações recebidas em lotes unificados, preservando os dados de contexto individuais.
Execute trabalhos de inferência paralelos e decompor resultados para entrega por solicitação aos clientes.
Os *endpoints* da API recebem *payloads* com metadados indicando prioridade e requisitos de recursos para decisões de agrupamento (*batching*).
O motor avalia a profundidade da fila e a capacidade do hardware para determinar o número ideal de solicitações por lote.
Lotes unificados são despachados para clusters de GPU, executando modelos em paralelo antes de agregar os resultados.