Sobes.tech
Middle — Senior

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.