Sobes.tech
Middle — Senior

Qu'est-ce que le batching continu et comment est-il réalisé dans vLLM/TGI ?

sobes.tech IA

Réponse de l'IA

Le traitement par lots continu est une technique de gestion des requêtes vers un modèle d'apprentissage automatique, où les requêtes d'inférence entrantes sont regroupées en lots de manière continue et dynamique, afin d'utiliser au maximum les ressources de calcul et de réduire la latence. Au lieu d'attendre un temps fixe ou un nombre fixe de requêtes, le système forme constamment des lots à partir des requêtes entrantes et les traite.

Dans vLLM et TGI (Text Generation Inference), le traitement par lots continu est réalisé par attente asynchrone et formation dynamique de lots. Par exemple, lorsqu'une requête arrive, elle est placée dans une file d'attente, et le moteur tente de former un lot avec plusieurs requêtes, sans retarder trop longtemps la première requête. Si aucune nouvelle requête n'arrive, le lot est lancé avec ce qui est disponible. Cela permet de traiter plusieurs requêtes simultanément, en utilisant efficacement le GPU et en minimisant la latence pour chaque requête.

Cela ressemble à ceci :

  • Les requêtes arrivent dans la file.
  • Le système attend soit d'atteindre la taille maximale du lot, soit que le délai d'attente expire.
  • Un lot est formé et envoyé au modèle.
  • Les résultats sont redistribués aux requêtes.

Cette approche est particulièrement utile pour les transformateurs, où le traitement par lot est beaucoup plus efficace par rapport aux requêtes individuelles.