Accélérer Gemma 4 : une inférence plus rapide avec un drafter de prédiction multi-token
(blog.google)- Quelques semaines après le lancement de Gemma 4, Google a dépassé les 60 millions de téléchargements et a dévoilé un drafter de prédiction multi-token (MTP) pour la gamme Gemma 4
- Le drafter MTP repose sur une architecture spécialisée de speculative decoding qui peut multiplier par trois la vitesse d’inférence sans dégrader la qualité de sortie ni la logique de raisonnement, avec des tests réalisés sur du matériel utilisant LiteRT-LM, MLX, Hugging Face Transformers et vLLM
- L’inférence LLM standard est fortement limitée par un goulot d’étranglement de bande passante mémoire, car des milliards de paramètres doivent être déplacés de la VRAM vers les unités de calcul pour générer un seul token ; avec MTP, un drafter léger propose plusieurs tokens futurs, puis le modèle cible les vérifie en parallèle
- Si le modèle cible accepte les tokens proposés, il valide toute la séquence en une seule passe avant et génère en plus un token supplémentaire, ce qui permet généralement à l’application de produire la séquence proposée et un token additionnel dans le temps d’un seul token
- Le drafter MTP partage les activations du modèle cible et le cache KV, applique un clustering efficace de l’embedder pour les modèles edge E2B et E4B, et ses poids sont disponibles sous licence Apache 2.0 sur Hugging Face et Kaggle
Pourquoi le speculative decoding est nécessaire
- L’inférence LLM standard est contrainte par la bande passante mémoire, ce qui crée un important goulot d’étranglement de latence
- Les processeurs passent l’essentiel de leur temps à déplacer des milliards de paramètres de la VRAM vers les unités de calcul afin de générer un seul token
- Cette structure empêche notamment le matériel grand public d’exploiter pleinement ses ressources de calcul et augmente la latence
- Le speculative decoding sépare la génération de tokens de leur vérification
- Un modèle cible lourd, par exemple Gemma 4 31B, est associé à un drafter léger, le modèle MTP, pour prédire plusieurs tokens futurs d’un coup en exploitant les ressources de calcul inoccupées
- Le drafter propose plusieurs tokens en moins de temps qu’il n’en faut au modèle cible pour en traiter un seul, puis le modèle cible vérifie les tokens proposés en parallèle
Comment fonctionne le MTP
- Les grands modèles de langage standard génèrent le texte de manière autorégressive, en produisant exactement un token à la fois
- Cette approche consacre la même quantité de calcul à une suite évidente comme « Actions speak louder than… » menant à « words » qu’à la résolution d’une énigme logique complexe
- Le MTP réduit cette inefficacité grâce au speculative decoding introduit par les chercheurs de Google dans Fast Inference from Transformers via Speculative Decoding
- Si le modèle cible accepte les tokens proposés, il valide toute la séquence en une seule passe avant, et le modèle cible lui-même génère simultanément un token supplémentaire
- L’application peut généralement produire la séquence proposée complète et un token supplémentaire dans le temps nécessaire à la génération d’un seul token
Les gains de performance pour les développeurs
- Pour les développeurs, la vitesse d’inférence constitue souvent un goulot d’étranglement majeur en production
- Dans les agents autonomes nécessitant une planification rapide en plusieurs étapes, les assistants de code et les applications mobiles réactives exécutées entièrement on-device, chaque milliseconde de latence compte
- En utilisant les modèles Gemma 4 avec ce drafter, on obtient les effets suivants
-
Réactivité améliorée
- Réduction importante de la latence pour les chats quasi temps réel, les applications vocales immersives et les workflows agentiques
-
Développement local accéléré
- Exécution plus rapide des modèles 26B MoE et 31B Dense sur PC personnels et GPU grand public pour prendre en charge des workflows complexes de code hors ligne et des workflows agentiques
-
Performances on-device renforcées
- Sortie plus rapide des modèles E2B et E4B sur des appareils edge, ce qui aide à réduire la consommation de batterie
-
Aucune baisse de qualité
- Comme le modèle Gemma 4 de base conserve la validation finale, il offre le même niveau de raisonnement et de précision, mais bien plus rapidement
- Un exemple d’exécution de Gemma 4 26B sur une NVIDIA RTX PRO 6000 compare le nombre de tokens par seconde entre l’inférence standard et le drafter MTP, et montre une latence divisée par deux à qualité de sortie identique
- La vidéo de comparaison peut être téléchargée
Optimisations internes du drafter MTP
- Plusieurs améliorations d’architecture ont été appliquées pour rendre le drafter MTP rapide et précis
- Le modèle de brouillon exploite naturellement les activations du modèle cible et partage son cache KV
- Grâce au partage du cache KV, le grand modèle ne perd pas de temps à recalculer un contexte qu’il a déjà traité
- Sur les modèles edge E2B et E4B, le calcul final des logits constitue un gros goulot d’étranglement ; une technique de clustering efficace a donc été implémentée dans l’embedder afin d’accélérer la génération
- Des optimisations spécifiques au matériel ont également été analysées
- Sur Apple Silicon, le modèle mixture-of-experts 26B présente des contraintes de routage particulières avec une taille de batch de 1, mais le traitement simultané de plusieurs requêtes permet d’obtenir jusqu’à environ 2,2x d’accélération en local
- Les tailles de batch données en exemple vont de 4 à 8, et des gains similaires apparaissent également sur NVIDIA A100 lorsque la taille de batch augmente
- L’architecture visuelle, le partage du cache KV et le fonctionnement de l’embedder efficace sont détaillés dans cette explication technique approfondie
Utilisation et disponibilité
- Le drafter MTP pour la gamme Gemma 4 est proposé sous la même licence open source Apache 2.0 que Gemma 4
- La manière d’utiliser MTP avec Gemma 4 est décrite dans la documentation
- Les poids du modèle peuvent être téléchargés sur Hugging Face et Kaggle
- L’inférence accélérée peut être testée avec transformers, MLX, vLLM, SGLang et Ollama
- Il est aussi possible de l’essayer directement via Google AI Edge Gallery sur Android ou iOS
- Google espère que cette amélioration de vitesse accélérera le développement dans Gemmaverse, l’écosystème Gemma
1 commentaires
Commentaires Hacker News
Gemma et Gemini utilisent beaucoup moins de tokens en sortie que d’autres modèles tout en restant assez proches des meilleures performances sur les benchmarks
En comparant Gemma et Qwen, Qwen fait un peu mieux, mais passe 22 minutes sur la tâche, alors que Gemma termine souvent le même prompt en 4 minutes, même s’il se trompe sur l’alignement des boutons
En apparence, Gemma est 5 à 10 % moins performant que les meilleurs modèles open source, mais n’utilise que 1/10 du temps
Je n’ai jamais ressenti le besoin de passer à une offre supérieure comme celles à 100 dollars par mois que d’autres utilisent sur Claude ou Codex
Cela dit, Gemini a vu ses performances baisser plusieurs fois au cours de l’année passée, et les limitations de débit se sont aussi durcies, donc on ne sait pas si ça restera aussi bon à l’avenir
Comme les grands modèles utilisent généralement moins de tokens à intelligence égale, cela semble pouvoir expliquer cette différence de consommation de tokens
Je l’ai essayé sur une 4070 : la sortie n’est pas incroyablement rapide, mais ça reste exploitable
Je ne l’ai pas encore testé sur des tâches complexes, donc ce sera peut-être différent dans ce cas
Après Google I/O, plus de gens découvriront peut-être à quel point Gemini est bon
S’il y a un problème d’alignement, il faut consommer à nouveau des tokens en entrée et en sortie pour le corriger
La prise en charge de MTP est en cours d’ajout dans llama.cpp, au moins pour les modèles Qwen (https://github.com/ggml-org/llama.cpp/pull/20533)
Gemma 4 devrait sans doute suivre bientôt
Les progrès en qualité et en vitesse des modèles locaux et auto-hébergés ces derniers mois sont impressionnants
Pour quelqu’un qui fait tourner des modèles locaux depuis longtemps, c’est une période vraiment passionnante
J’ai hâte de voir ce que ça donne par rapport à MTP
C’était un outil tout à fait correct
Google porte presque à lui seul les modèles open source occidentaux
Gemma 4 31B est excellent
En revanche, faire tenir la meilleure version, avec la vision et bientôt le drafter, dans 24 Go de VRAM est assez pénible
Ma configuration ne permet pas d’ajouter plus de GPU, et pour obtenir les meilleures performances il faudrait sans doute que j’achète une 4090 supplémentaire, ce qui coûte trop cher, ou bien que je remplace complètement la machine
--no-mmproj-offload, on peut garder le projecteur multimodal, c’est-à-dire la partie compréhension audio, image et PDF, dans la RAM systèmeBien sûr, il n’y a alors plus d’accélération GPU, mais cela économise de la VRAM
On peut aussi l’ajuster davantage selon la tâche, pour choisir entre privilégier le raisonnement et la précision, ou la vitesse d’inférence
Regarder un ordinateur écrire me rappelle l’époque où on se connectait à un BBS avec un modem
C’est une grosse amélioration, comme passer de 300 bauds à 1200 bauds, mais ça reste assez lent, et un jour on se demandera sûrement comment on faisait pour tolérer ça
Voir les tokens défiler, c’est comme regarder un JPEG se charger ligne de pixels par ligne de pixels, et ça rappelle aussi toutes les animations de chargement ou de connexion que les applis implémentaient chacune de leur côté avant que les choses deviennent assez rapides
Le travail de Cerebras ou Taalas donne des indices intéressants sur ce qui pourrait être possible dans cette direction
C’est aussi amusant d’imaginer ce qu’on pourrait faire si même les modèles de pointe actuels pouvaient produire un million de tokens par seconde à très faible coût
Voici la comparaison modem vs Claude calculée par Claude : pour 2368 caractères, 300 bauds prend 1 min 19 s, 1200 bauds 19,7 s, 2400 bauds 9,9 s, 14,4K 1,6 s, 33,6K 705 ms, 56K 447 ms, et Claude 7,9 s
On était à plusieurs milliers de tokens par seconde
La stratégie de Google semble un peu différente de celle des autres fournisseurs de frontier models
Ils paraissent davantage se concentrer sur l’efficacité performance/calcul que sur la performance brute, ce qui explique peut-être pourquoi Gemini donne parfois l’impression d’être en retrait
Les autres fournisseurs se heurtent à des limites de capacité et arrivent aussi au bout de ce qu’ils peuvent subventionner sur les coûts d’inférence
La stratégie de Google semble être de faire passer ces modèles à l’échelle et de les déployer auprès de ses milliards d’utilisateurs existants
J’ai plutôt l’impression qu’il s’agit d’un autre type d’intelligence que les dernières générations de GPT-5 et de la famille Claude
Ces derniers se concentrent de plus en plus sur la productivité et l’automatisation du travail, avec une optimisation pour de longues boucles de raisonnement agentique auto-correctif
Gemini ressemble davantage à un modèle de base beaucoup plus intelligent, et en particulier en mode Deep Think, son intuition paraît bien plus profonde, mais il est moins bon sur les longues boucles agentiques d’auto-correction
Depuis quelques mois, dans mon flux de travail, j’utilise Gemini pour les sauts créatifs et les intuitions, et je préfère Codex, Claude et GPT-5.5 Pro pour les tâches répétitives ou de précision
Après une pause avec les modèles locaux, j’ai récemment configuré le modèle 26B A4B sur une RTX 3090 avec vLLM en 4 bits, et j’ai été complètement bluffé par la vitesse et la qualité qu’on peut obtenir pour moins de 1000 dollars d’investissement
J’avais d’abord essayé avec Qwen, mais c’était instable, et les traces de raisonnement étaient absurdement longues
Cela reste encore délicat, mais avec un peu de réglage c’est vraiment remarquable
Les modèles locaux sont l’avenir, et c’est génial
Il est clairement inférieur à Qwen 3.6 sur les tâches de code, mais cela montre surtout à quel point les modèles Qwen sont excellents
Sur ma machine, par rapport à d’autres modèles 30B, le tg est au moins deux fois plus rapide que prévu, probablement grâce à l’attention hybride
En revanche, le traitement de l’entrée est un peu plus lent
Je me demande si quelqu’un a réussi à faire fonctionner ça dans LM Studio
Il y a bien une option dans l’interface, mais elle ne semble pas vraiment s’activer
[1] https://github.com/ml-explore/mlx-lm/pull/990
[2] https://github.com/ggml-org/llama.cpp/pull/22673
Comme il n’existe pas de petit modèle, il faut vérifier que vous n’utilisez pas un modèle sparse Gemma
Et j’ai supprimé tous les modèles d’image de l’espace de travail
Il arrive que le simple fait de les supprimer fasse apparaître l’option
Ces fichiers semblent liés d’une manière ou d’une autre aux capacités visuelles et empêcher le speculative decoding, ne me demandez pas pourquoi
Avec Gemma, j’ai eu de meilleurs résultats avec le speculative decoding via la voie llama-server qu’avec LM Studio
En général, il faut que tout corresponde parfaitement entre fournisseur, quantification, etc.
Trouver un ensemble compatible peut prendre un peu de temps
Dans mes tests, le modèle Gemma 4 31B a montré le plus gros gain de vitesse sur les tâches de code avec le runner MLX d’Ollama, autour de 2x
En revanche, la quantification réduit fortement le taux d’acceptation, donc il faut un Mac assez puissant
Les trois autres modèles plus petits étaient moins convaincants, car le temps de validation du modèle de brouillon absorbait l’essentiel du gain de performance
Je suis encore en train d’ajuster pour voir si je peux obtenir de meilleurs résultats
On peut le tester dans Ollama 0.23.1 avec
ollama run gemma4:31b-coding-mtp-bf16J’ai vraiment hâte d’essayer ça dès que ce sera fusionné dans llama.cpp
Dans mon environnement, Gemma 4 26B-A4B est déjà environ 3 fois plus rapide que Qwen3.6-35B-A3B, donc l’idée d’y ajouter encore un gain de 1,5x est très séduisante
J’ai aussi essayé des modèles de brouillon, mais les résultats étaient limités, et même un petit modèle de brouillon 3B avec le modèle dense Ministral 14B ajoutait déjà trop de surcoût
Gemma4 26B dépasse les 200 TPS avec la même quantification
Il faut aussi noter que Qwen a une efficacité d’inférence extrêmement faible
Sa chaîne de pensée est en moyenne environ 3 fois plus longue que celle de Gemma
Je me demande si c’est un peu l’équivalent de la prédiction de branchement dans un système d’exploitation
Sauf qu’ici la probabilité est intégrée au modèle lui-même, donc sous une forme bien plus fiable
Une mauvaise prédiction de branchement gaspille des cycles, alors qu’ici une mauvaise spéculation signifie généralement seulement qu’on ne gagne pas de tokens bonus
https://arxiv.org/abs/2211.17192