O que é batching contínuo e como é implementado no vLLM/TGI?
sobes.tech IA
Resposta da IA
O processamento por lotes contínuo é uma técnica de gestão de pedidos a modelos de aprendizagem automática, na qual os pedidos de inferência entrantes são reunidos em lotes de forma contínua e dinâmica, para maximizar a utilização dos recursos computacionais e reduzir a latência. Em vez de esperar um tempo fixo ou uma quantidade fixa de pedidos, o sistema forma constantemente lotes a partir dos pedidos recebidos e os processa.
No vLLM e TGI (Text Generation Inference), o processamento por lotes contínuo é implementado através de espera assíncrona e formação dinâmica de lotes. Por exemplo, quando chega um pedido, ele é colocado numa fila, e o motor tenta formar um lote com vários pedidos, sem atrasar demasiado o primeiro pedido. Se não houver novos pedidos, o lote é lançado com o que estiver disponível. Isto permite processar vários pedidos simultaneamente, utilizando eficientemente a GPU e minimizando a latência para cada pedido.
Isto é aproximadamente assim:
- Os pedidos chegam à fila.
- O sistema espera até atingir o tamanho máximo do lote ou até que o tempo limite expire.
- Um lote é formado e enviado ao modelo.
- Os resultados são redistribuídos aos pedidos.
Esta abordagem é especialmente útil para transformadores, onde o processamento em lote é muito mais eficiente em comparação com pedidos individuais.