Sobes.tech
Middle — Senior

¿Qué es el batching continuo y cómo se implementa en vLLM/TGI?

sobes.tech AI

Respuesta de la IA

El procesamiento por lotes continuo es una técnica de manejo de solicitudes a modelos de aprendizaje automático, en la que las solicitudes entrantes de inferencia se recopilan en lotes de forma continua y dinámica, para aprovechar al máximo los recursos computacionales y reducir la latencia. En lugar de esperar un tiempo fijo o una cantidad fija de solicitudes, el sistema forma constantemente lotes de las solicitudes que llegan y los procesa.

En vLLM y TGI (Text Generation Inference), el procesamiento por lotes continuo se implementa mediante espera asíncrona y formación dinámica de lotes. Por ejemplo, cuando llega una solicitud, se coloca en una cola, y el motor intenta formar un lote con varias solicitudes, sin retrasar demasiado la primera solicitud. Si no hay nuevas solicitudes, el lote se ejecuta con lo que hay. Esto permite procesar varias solicitudes simultáneamente, utilizando eficientemente la GPU y minimizando la latencia para cada solicitud.

Esto es aproximadamente así:

  • Las solicitudes llegan a la cola.
  • El sistema espera hasta alcanzar el tamaño máximo del lote o que expire el tiempo de espera.
  • Se forma un lote y se envía al modelo.
  • Los resultados se distribuyen de vuelta a las solicitudes.

Este enfoque es especialmente útil para transformadores, donde el procesamiento en lote es mucho más eficiente en comparación con solicitudes individuales.