Avancé·3 min·30 juin 2026

GPU bubbles : comment Moondream gagne 35% de débit

🎧 Résumé audio0:00 / 0:00
Ton GPU s'ennuie pendant que le CPU prépare le prochain token. Voici comment le remplir.
GPU bubbles : comment Moondream gagne 35% de débit

Pourquoi ça compte pour toi

Si tu construis un service d'IA avec du texte ou des images, tu paies pour du GPU inactif. Moondream montre qu'on peut doubler la productivité d'une même carte en changeant juste l'ordre des opérations. C'est une leçon d'ingénierie qui vaut pour n'importe quel modèle en production.

Ce qu'il faut retenir

  • 1.Le GPU attend que le CPU finisse ses tâches de coordination avant de traiter le token suivant (GPU bubble)
  • 2.La solution : lancer le calcul du token t+1 pendant que le CPU enregistre encore le token t
  • 3.Trois mécanismes garantissent la fiabilité : permutation des tampons, ordre de traitement réfléchi, nettoyage des requêtes terminées

Tu galères avec le jargon ?

Lis la version réécrite en mode débutant — toutes les idées, sans le jargon.

Le problème : une danse inefficace

Quand un modèle génère du texte token par token, chaque étape suit le même ballet :

  1. Le CPU prépare les données et lance le calcul sur le GPU
  2. Le GPU fait tout le gros boulot (des milliards d'opérations)
  3. Le CPU attend le résultat, l'enregistre, puis décide de l'étape suivante

Le hic ? Le travail du GPU pour un token est rapide (~quelques ms). Le travail du CPU (sélectionner la requête suivante, préparer les métadonnées, écrire le résultat) représente une surcharge fixe. Si le GPU doit attendre que le CPU finisse avant de continuer, il reste inactif une partie du cycle. C'est le GPU bubble.

La solution : décodage en pipeline

L'idée est simple : ne pas attendre. Pendant que le CPU enregistre le token t, lance déjà le calcul du token t+1 sur le GPU.

Pour que ça marche sans corruption :

Mécanisme 1 : permutation des tampons

Le GPU a besoin d'une zone de travail — des espaces mémoire où lire l'entrée, écrire les résultats intermédiaires, stocker le token généré. Si tu réutilises la même zone pour deux étapes qui se chevauchent, tu vas écraser le résultat t pendant que le CPU l'enregistre encore.

La solution : garde deux jeux de tampons et alterne. Pendant que l'étape 1 utilise le tampon A, l'étape 2 prépare ses données dans le tampon B. A → B → A → B.

Mécanisme 2 : propagation d'abord, échantillonnage ensuite

Pour les modèles avec décodage contraint (comme les résultats structurés : coordonnées, boîtes de détection), le token autorisé à l'étape t+1 dépend de ce qui a été échantillonné à l'étape t.

Moondream découpe le processus en trois phases :

  1. Lance la propagation t+1 (elle ne dépend pas du token t)
  2. Valide l'étape t (enregistre le résultat, met à jour l'état)
  3. Échantillonne l'étape t+1 (maintenant qu'on connaît l'état)

Le GPU continue pendant les phases 2 et 3. Malin.

Mécanisme 3 : les zombies

Quand une requête se termine (le modèle signale qu'il a fini), elle ne doit pas apparaître dans le lot de l'étape suivante. Mais on ne le sait qu'après avoir enregistré le dernier token. Moondream laisse les requêtes « mortes » (zombies) dans le lot pendant une étape supplémentaire, le temps que le GPU les traite avant de les retirer définitivement.

Le résultat

35% de débit supplémentaire sur une même carte NVIDIA B200. Sur une carte coûtant plusieurs dizaines de milliers d'euros par mois, c'est une économie réelle — ou de la latence gagnée sans frais supplémentaires.

À retenir

Beaucoup de boîtes noires tech (bases de données, compresseurs, moteurs d'IA) sont lentes non parce que l'algorithme est mauvais, mais parce qu'on attend au mauvais endroit. Moondream montre qu'une réorganisation de 300 lignes de code peut valoir 35% de performances.

Et concrètement pour toi ?

Choisis ton profil — la lecture de l'article change selon qui tu es.

🔭 Curieux

Pour toi, retiens ceci : même les entreprises qui construisent des modèles géants perdent 35% de leur puissance brute à cause de mauvaise synchronisation entre le CPU et le GPU. L'IA n'est pas magique ; c'est de l'ingénierie où chaque détail compte.

Newsletters Noésis

3 minutes d'IA dans ta boîte mail, chaque matin.

Rejoins les francophones qui comprennent, essaient et progressent avec l'IA. Choisis ce que tu veux recevoir. Désabonnement en 1 clic.