Hugging Face accélère de 22 % l'inférence des LLM grâce au batching asynchrone
Hugging Face a introduit l'asynchronisme dans l'inférence des LLM. Au lieu de travailler à tour de rôle, le CPU et le GPU fonctionnent désormais en parallèle : pendant que le GPU calcule un lot, le CPU prépare le suivant. Résultat : une accélération de 22 %. Aucun nouveau noyau n'a été écrit. Le changement consiste à réorganiser les flux (streams) CUDA et la mémoire.
Traité par IA depuis Hugging Face Blog ; édité par Hamidun News
Hugging Face a trouvé un moyen simple d'accélérer de 22 % la génération de tokens dans les LLM : faire travailler le CPU et le GPU en même temps plutôt que de les laisser s'attendre l'un l'autre. Cela ne nécessite ni réentraînement des modèles ni nouveaux algorithmes.
Quel était le problème
Dans le batching synchrone classique, le CPU prépare les données, puis le GPU les calcule, puis le CPU attend les résultats et prépare le lot suivant. Le GPU reste donc inactif environ 24 % du temps, pendant que le CPU s'occupe du prétraitement. C'est comme une chaîne de montage où, à chaque étape, quelqu'un regarde sa montre. Même à pleine charge, le CPU est plus lent que le calcul GPU le plus simple : la carte graphique reste donc à attendre de nouvelles données.
En batching synchrone, un modèle de 8 milliards de paramètres avec un lot de 32 générait 8K tokens en 300 secondes, avec une activité du GPU de seulement 76 %.
Comment l'asynchronisme résout le problème
L'idée est très simple : exécuter CPU et GPU en parallèle via des flux CUDA (streams). Trois flux indépendants sont utilisés : un pour transférer les données vers le GPU (H2D), un pour les calculs eux-mêmes (Compute) et un pour le transfert retour (D2H). Chaque flux rend aussitôt la main au CPU, sans le bloquer.
Des événements CUDA (events) sont placés entre les flux. Ces balises garantissent le bon ordre :
- Le flux H2D signale que les données sont chargées dans le GPU
- Le flux Compute attend cette balise, calcule, puis pose la sienne
- Le flux D2H attend la fin des calculs et récupère les résultats
Pendant que le GPU traite le lot N, le CPU prépare déjà le lot N+1 dans un autre tampon mémoire. Aucune attente : les deux tournent en parallèle.
L'astuce principale : le carry-over
La difficulté vient du fait que, lorsqu'une requête s'étend sur plusieurs lots, ses tokens de sortie du lot N deviennent l'entrée du lot N+1. Hugging Face a résolu ce problème avec des placeholders : lors de la préparation du lot N+1, des zéros sont placés à la place des entrées des tokens futurs, puis remplacés par les vraies valeurs quand le lot N se termine.
«
Cela permet au CPU de préparer le lot suivant sans attendre les résultats du lot en cours », expliquent les équipes de Hugging Face.
L'ensemble repose sur des graphes CUDA avec un pool de mémoire partagé, ce qui économise même de la mémoire vidéo.
Les chiffres parlent d'eux-mêmes
Avant l'optimisation : GPU actif à 76 %, génération de 8K tokens en 300.6 secondes. Après : GPU actif à 99.4 %, les mêmes tokens en 234.5 secondes. L'accélération de 22 % est proche de la limite pour cette architecture (le maximum théorique était de 24 %).
Ce que cela signifie
Il n'est pas nécessaire d'acheter des GPU plus coûteux ni de réentraîner les modèles pour obtenir un gain de vitesse significatif. Le code est déjà dans la bibliothèque Transformers, dans la classe `ContinuousBatchingAsyncIOs`. Pour les entreprises qui génèrent beaucoup de tokens, cela peut représenter des millions d'économies en matériel.
- 2 nov. 2026Karpathy bâtit en deux heures un clone de YouTube avec 6454 vidéos issues des conseils de Hacker News
- 2 nov. 2026Avec Claude, Andrej Karpathy a assemblé HackerTube : 6454 vidéos recommandées sur Hacker News
- 2 nov. 2026Microsoft publie Mage-VL-Cowork, un modèle de 4B qui résout 66,0% des tâches d'OSWorld-Verified
- 1 nov. 2026Les modèles locaux battus par Opus et Codex : 0,21 sur MacBook contre 1,00 pour Codex
Questions clés sur cet article
Que sait-on sur Quel était le problème ?
Dans le batching synchrone classique, le CPU prépare les données, puis le GPU les calcule, puis le CPU attend les résultats et prépare le lot suivant. Le GPU reste donc inactif environ 24 % du temps, pendant que le CPU s'occupe du prétraitement. C'est comme une chaîne de montage où, à chaque étape, quelqu'un regarde sa montre. Même à pleine charge, le CPU est plus lent que le calcul GPU le plus simple : la carte graphique reste donc à attendre de nouvelles données. En batching synchrone, un modèle de 8 milliards de paramètres avec un lot de 32 générait 8K tokens en 300 seco
Comment l'asynchronisme résout le problème?
L'idée est très simple : exécuter CPU et GPU en parallèle via des flux CUDA (streams). Trois flux indépendants sont utilisés : un pour transférer les données vers le GPU (H2D), un pour les calculs eux-mêmes (Compute) et un pour le transfert retour (D2H). Chaque flux rend aussitôt la main au CPU, sans le bloquer. Des événements CUDA (events) sont placés entre les flux. Ces balises garantissent le bon ordre : Le flux H2D signale que les données sont chargées dans le GPU Le flux Compute attend cette balise, calcule, puis pose la sienne Le flux D2H attend la fin des calculs et
Que sait-on sur L'astuce principale : le carry-over ?
La difficulté vient du fait que, lorsqu'une requête s'étend sur plusieurs lots, ses tokens de sortie du lot N deviennent l'entrée du lot N+1. Hugging Face a résolu ce problème avec des placeholders : lors de la préparation du lot N+1, des zéros sont placés à la place des entrées des tokens futurs, puis remplacés par les vraies valeurs quand le lot N se termine. « Cela permet au CPU de préparer le lot suivant sans attendre les résultats du lot en cours », expliquent les équipes de Hugging Face. L'ensemble repose sur des graphes CUDA avec un pool de mémoire partagé, ce qui éc
Test Frontier LLMs & Autonomous Agents in One Workspace
Run Claude Opus 5.5, GPT-6, Gemini 3.1, and DeepSeek side-by-side in Nomad AI (nomadnet.ai) — unified model routing, deep research, and multimodal workflows under one subscription.
L'essentiel de l'IA — une fois par semaine
Sept actus qui ont vraiment compté, choisies à la main. Sans bruit ni communiqués.
C'est fait ! Vérifiez votre boîte mail pour la confirmation.