Leçon 10 : Dynamic Batching et Serving — Regrouper les requêtes en temps réel
En production, les requêtes n'arrivent pas en un batch bien rangé — elles arrivent une par une, au compte-goutte, depuis des utilisateurs différents. Si on exécute chacune séparément, le débit s'effondre. La solution des serveurs d'inférence comme Triton : le dynamic batching — attendre une fenêtre
Un ascenseur qui part immédiatement avec un seul passager gaspille des trajets. Le dynamic batching, c'est attendre quelques secondes que d'autres personnes montent — pas trop longtemps, pour n'énerver personne — puis partir avec un ascenseur plein.
- Dynamic batching
- Le serveur regroupe des requêtes distinctes arrivées dans une courte fenêtre de temps en un seul batch, jusqu'à une limite de taille ou de temps.
- Délai maximal de la file d'attente
- Combien de temps le serveur est prêt à attendre pour accumuler un batch avant de l'exécuter. Règle l'équilibre latence/débit.
- Instances du modèle
- Plusieurs copies du modèle qui tournent en parallèle sur le même GPU pour servir des requêtes simultanément.