Gemma 4 12B : un modèle multimodal unifié sans encodeur
(blog.google)- Gemma 4 12B est un modèle de taille intermédiaire conçu pour exécuter une intelligence multimodale agentique sur un ordinateur portable, en comblant l’écart entre l’E4B orienté edge et le 26B MoE plus avancé
- Avec une architecture unifiée sans encodeur, il envoie directement les entrées image et audio vers l’épine dorsale du LLM sans encodeur multimodal séparé, afin de réduire la latence et l’usage mémoire
- Ses performances sur les benchmarks standard se rapprochent du modèle 26B MoE plus grand, tout en utilisant moins de la moitié de la mémoire totale, ce qui permet une exécution locale sur des ordinateurs portables grand public avec 16 Go de RAM ou de VRAM/mémoire unifiée
- Gemma 4 12B est le premier modèle de taille intermédiaire de la famille Gemma à prendre en charge les entrées audio natives, et vise à réduire la latence grâce aux drafters Multi-Token Prediction
- Les modèles Gemma 4 ont dépassé les 150 millions de téléchargements, et Gemma 4 12B élargit le champ du développement d’agents multimodaux locaux grâce à la licence Apache 2.0 et au support des principaux outils de développement et canaux de déploiement
Caractéristiques clés
- Gemma 4 12B a été conçu pour apporter directement une intelligence multimodale hautes performances sur les ordinateurs portables, en combinant une efficacité pensée d’abord pour le mobile et un raisonnement avancé
- Il se situe entre l’E4B orienté edge et le modèle 26B Mixture of Experts (MoE) plus avancé, en concentrant de solides capacités dans une empreinte mémoire réduite
- Ses principales caractéristiques sont les suivantes
- une architecture unifiée qui transmet directement les entrées visuelles et audio à l’épine dorsale du LLM sans encodeur multimodal
- des performances de benchmark proches du modèle 26B, avec prise en charge du raisonnement en plusieurs étapes et des workflows agentiques
- une compatibilité avec les ordinateurs portables permettant une exécution locale avec seulement 16 Go de VRAM ou de mémoire unifiée
- une licence Apache 2.0 et la prise en charge de l’écosystème développeur
- une réduction de la latence via les drafters Multi-Token Prediction (MTP)
Traitement multimodal sans encodeur
- Les modèles multimodaux classiques convertissent généralement les images et l’audio via des encodeurs séparés, puis transmettent ces représentations au modèle de langage
- Gemma 4 12B a été entraîné à intégrer directement les entrées audio et visuelles afin d’éviter l’augmentation de la latence et de l’usage mémoire provoquée par des encodeurs séparés
- Pour le traitement visuel, l’encodeur de vision de Gemma 4 est remplacé par un module d’embedding léger composé d’une seule multiplication matricielle, d’embeddings positionnels et d’une normalisation, de sorte que l’épine dorsale du LLM prenne en charge le traitement visuel
- Pour le traitement audio, l’encodeur audio est totalement supprimé et le signal audio brut est projeté dans le même espace dimensionnel que les tokens texte
- Une description architecturale plus détaillée à destination des développeurs est disponible dans le Gemma 4 12B Developer Guide
Démarrer
- Il est possible d’expérimenter en quelques clics dans LM Studio, Ollama, l’app Google AI Edge Gallery, l’app Google AI Edge Eloquent et LiteRT-LM CLI
- Les checkpoints préentraînés et instruction-tuned peuvent être téléchargés depuis Hugging Face et Kaggle
- Pour l’intégration et l’entraînement, il est possible d’utiliser la documentation développeur et le quick start notebook
- Les pipelines d’inférence locale peuvent être mis en œuvre avec Hugging Face Transformers, llama.cpp, MLX, SGLang, vLLM, et un fine-tuning efficace peut être réalisé avec Unsloth
- Le Skills Repository officiel est une bibliothèque de skills conçue pour permettre aux agents de tirer parti des dernières capacités de Gemma
- Les endpoints de production peuvent être déployés sur Google Cloud via Gemini Enterprise Agent Platform Model Garden, Cloud Run et GKE
4 commentaires
Je vais essayer de le faire tourner sur mon MacBook M1 avec 32 Go de RAM. Pour du 12B, ça devrait aller.
Ce n’est pas tout nouveau, alors pourquoi en parle-t-on ?
Auparavant, il n’y avait que les modèles e, 26b et 31b, et le modèle Gemma 4 12b vient tout juste de sortir cette fois-ci.
Réactions sur Hacker News
Le résultat était correct, mais j’ai dû corriger manuellement quelques erreurs de syntaxe étranges et mineures, comme une parenthèse fermante en trop ou des définitions de fonctions séparées par des virgules
En tenant compte de ces indices, c’est un modèle local de code tout à fait convenable, et à en juger par la sortie il est globalement comparable à GPT-4.1 sorti il y a 14 mois : https://senko.net/vibecode-bench/2025/minesweeper-gpt-4.1.ht...
Sur une carte grand public avec 12 Go de VRAM, il produisait 5 tokens/s en GGUF 4 bits ; c’est lent pour du codage interactif, mais le modèle reste assez exploitable
Il est intéressant de voir qu’en un peu plus d’un an, un modèle de 12 milliards de paramètres a presque rattrapé, sur un benchmark donné, un niveau de performance en code considéré comme du GPT-4.1
Liste des différents modèles testés : https://senko.net/vibecode-bench/
En performance générale de code, il sera probablement inférieur à d’autres petits modèles comme Qwen 3.6 35B A3B, Gemma 4 26B A4B, Nvidia Nemotron 3 Nano 30B-A3B ou gpt-oss-20b
Sur un laptop avec 16 Go, Qwen 3.5 9B reste clairement le champion, et le meilleur petit modèle de code est Gemma 4 31B, mais comme il est dense, il faut environ 48 Go de mémoire unifiée pour utiliser tout le contexte
Cette vitesse correspond à peu près à ce qu’on voit pour un modèle de cette taille en 4 bits limité par la bande passante de la RAM DDR4, et avec un GPU Nvidia grand public de 12 Go comme une RTX 2080 ou une RTX 3060, on devrait dépasser les 20 tokens/s avec le backend CUDA de llama.cpp
L’explication disant qu’ils ont « remplacé l’encodeur visuel de Gemma 4 par un module d’embedding léger composé d’une unique multiplication matricielle, d’un position embedding et d’une normalisation » reste techniquement une forme d’encodage, et semble surtout vouloir dire qu’ils n’utilisent pas de modèle dédié comme SigLIP
Le guide développeur parle aussi d’une couche de 35M, mais je me demande si c’est suffisamment robuste : https://developers.googleblog.com/gemma-4-12b-the-developer-...
L’affirmation « exécutable localement sur un laptop grand public avec 16 Go de RAM » semble présupposer une quantification, ce qui peut être un peu trompeur si l’on tient compte de la perte de qualité
FAIR l’avait déjà fait il y a 2 ans : https://arxiv.org/abs/2405.09818
J’attendais qu’un modèle de ce type soit publié depuis ce moment-là, et ce qui est agaçant, c’est que Chameleon permettait même une sortie multimodale sur le même principe, alors que ce modèle ne gère que l’entrée
Je me demande comment ils ont fait le pré-entraînement sans sortie multimodale, et si le support de génération d’images a été retiré ou non
Beaucoup de gens ont un Mac avec 16 Go, y compris des journalistes, et n’importe qui peut télécharger l’application, installer le modèle et commencer à l’essayer immédiatement
Les journalistes devraient commencer à poser des questions sur les prévisions de revenus grand public d’OpenAI
Je suis assez sceptique vis-à-vis de l’IA, mais pour être un sceptique informé, j’ai testé un peu le travail agentique et la génération CAD-to-image avec des modèles locaux, et j’aime bien le modèle Gemma 26B
Je m’en sers pour apprendre les bases et me familiariser avec OpenCode sans créer de dépendance au cloud, et il écrit aussi assez bien du code, tout en m’aidant à apprendre à mon propre rythme
Si ce modèle 12B est ne serait-ce qu’à moitié aussi bon que le marketing le prétend, cela remet au moins à court terme en question le modèle économique cloud destiné au grand public
On ne sait pas clairement si cette app utilise un MTP drafter, et je n’ai pas encore réussi à le faire fonctionner directement avec Gemma, mais le support MTP intégré de Qwen 3.6 était excellent dans LM Studio
Avant de trop s’attarder sur la quantification, il faut d’abord regarder le niveau de performance du modèle de base
C’est impressionnant, tout en ne l’étant pas vraiment, de les voir continuer à développer ce type d’optimisations. Comme pour le silicium et l’évolution des architectures CPU, on n’a cessé de réduire et de raffiner tout en gagnant en puissance, et l’IA semble elle aussi pouvoir devenir 100 fois plus efficace avec le temps
Il y aura sans doute une limite un jour, mais les 30 prochaines années devraient apporter plus de progrès que les 30 dernières, et on pourrait vivre dans un monde futuriste façon Blade Runner où l’édition génétique répare les cellules vieillissantes et les organes, et guérit le cancer
Après notre vivant, on dirait que les gens vivront en conservant une bonne mobilité jusqu’à 125 ans de façon stable, et qu’on finira même par se demander comment gérer une durée de vie de 1000 ans
Quand on regarde 30 ans en arrière et 30 ans en avant, tout semble devoir changer de manière inimaginable. Que Dieu nous protège
C’est clairement une période passionnante, mais du point de vue des avancées de pointe, il reste encore beaucoup de fruits à portée de main
En revanche, il existe une limite basse à la quantité de « savoir » qu’on peut faire tenir dans un petit nombre de paramètres
J’imagine que les débuts de la radio, de l’aviation, voire du micro-ordinateur, devaient donner cette impression
J’ai choisi de faire de l’optimisation de la longévité une priorité devant la carrière ou les loisirs. Je veux voir l’avenir, et cette vague de l’IA est vraiment fascinante
Ce n’est pas le cas
Les grands modèles restent très largement devant, et même Gemma 31B est globalement meilleur que 12B, mais il ne faut pas se tromper en croyant qu’on est proche des grands modèles
Il y a clairement une marge d’optimisation, mais sur les tâches complexes, il faut de petits gradients visibles, capturés pendant l’entraînement et suivis pendant l’inférence, pour obtenir de la précision
Par exemple, si on lui demande de ne pas écrire de code tout en posant une question de programmation, Gemma écrit quand même du code, alors que Gemini ou Claude saisissent cette nuance et respectent mieux l’instruction
Je me demande quelle est la logique commerciale de Google derrière la publication de modèles ouverts. J’apprécie cette ouverture, mais en tant qu’entreprise à but lucratif, j’aimerais comprendre comment cela s’inscrit dans la vision d’ensemble
Est-ce qu’ils n’aident pas des concurrents à construire sur de nouvelles technologies qu’ils ont eux-mêmes développées ?
Je me demande si c’est simplement de la bonne volonté ou du marketing, ou s’il y a une stratégie qui m’échappe
Si l’inférence devient suffisamment populaire et précieuse pour que ces entreprises engrangent des milliards de dollars de bénéfices, elles pourront utiliser ces profits pour créer des produits et des plateformes de substitution qui coupent Google de ses clients
Google possède déjà l’une des plus grandes activités au monde avec 80 % de marge brute, et tout le monde en veut une part
En proposant l’inférence de pointe au prix coûtant ou presque, et en publiant en open source les modèles situés sous la frontière pour commoditiser les modèles, on rend plus difficile pour les labos de pointe de maintenir durablement de fortes marges brutes sur l’inférence
C’est une décision stratégique
Mon entreprise aussi mise actuellement à fond sur plusieurs produits de plateforme, et Microsoft disait encore hier que son objectif était « Unmetered intelligence »
Les petits modèles locaux rendent beaucoup de choses possibles, et ces choses font partie d’une pile qui génère des revenus à d’autres niveaux
De toute façon, quelqu’un finira par extraire les poids, donc autant les publier en open source et officialiser la chose
Plus l’adoption de l’IA augmente, plus Google monte avec elle, et l’entreprise y gagne davantage si les gens choisissent des solutions Google
Chaque token envoyé à un modèle Google, gratuit ou payant, met une pression sur les concurrents, qui doivent dépenser énormément pour rester à la pointe
La question est de savoir s’il faut publier le modèle ou l’utiliser uniquement en R&D pure
D’autres publient déjà des modèles de qualité similaire, donc rejoindre ce mouvement ne ressemble pas vraiment à un tir dans le pied
Le cannibalisme supplémentaire est en pratique proche de zéro, et le gain de réputation peut très bien en valoir la peine
Le traitement d’image est médiocre. J’ai fait plusieurs tests avec Qwen 3.5 0.8B, et Qwen, qui ne fait que 7 % de la taille, a gagné à chaque fois, alors que Gemma se trompait complètement dans beaucoup de cas
Je lui ai même donné une image simple avec le texte « This is a test », mais il a passé 6 minutes à essayer d’analyser avant d’échouer, alors que Qwen 3.5 0.8B a répondu correctement avec assurance en moins d’une seconde
Il est possible que la quantification Q6 que j’ai reçue soit cassée, ou que ce soit un problème de LM Studio, mais dans les deux cas, les performances de 0.8B sont surprenantes en comparaison
Même avec les modèles Gemma3, il arrivait souvent qu’ils refusent de décrire une image en prétextant une exposition du corps ou une scène sexuelle, et je ne comprenais pas le sens de ce comportement
Indépendamment des changements d’architecture, cela ressemble à une réponse à la question de savoir pourquoi la gamme de modèles préentraînés Gemma4 présentait un vide étrange entre 4B et 26B
C’est une amélioration bienvenue d’avoir un modèle qui tient confortablement dans 16 Go de VRAM, avec encore de la marge pour le contexte
En dehors du multimédia, je me demande à quel point c’est meilleur que le modèle 1,5 bit basé sur qwen2.5 de prismml
Je suis curieux de connaître les cas d’usage de ces petits modèles. Est-ce que quelqu’un qui utilise réellement des modèles de cette taille au quotidien pourrait partager son expérience ?
Par exemple : transcrire des documents scannés en texte formaté, faire du sous-titrage/de la description d’image et de la classification d’adéquation du contenu ciblé (y compris l’anti-spam), ou faire correspondre des documents à des pages Wikipedia pertinentes pour les étiqueter
Je ne les utilise pas comme des modèles de pointe ; je découpe plutôt chaque prompt en micro-tâches avec un objectif clair
J’écris aussi beaucoup de code de liaison pour faire tourner l’ensemble du flux, et ce sont des tâches que je faisais déjà avant l’arrivée des LLM
Les LLM m’ont permis de réduire la complexité du code et d’ajouter des modèles pour obtenir de meilleurs résultats
J’utilise des modèles locaux pour le coût et le contrôle. J’avais déjà la station de travail et le GPU, et les coûts d’exploitation se limitent à l’électricité
J’ai aussi utilisé les modèles propriétaires d’OpenAI et de Google, mais j’ai déjà vu des outils être déstabilisés parce que le modèle dont ils dépendaient avait été retiré. Si les poids sont stockés en local, ce souci n’existe pas
J’ai aussi vu récemment une petite application qui regarde une capture d’écran et renomme un fichier à partir de son contenu
Il existe beaucoup de petits exemples comme ceux-là, et pour de nombreux cas d’usage, on n’a absolument pas besoin d’un modèle de pointe
J’ai utilisé Gemma pendant plusieurs années pour relire et classer des écrits en ligne. Cela portait sur environ 5 millions de mots que j’ai publiés sur le forum d’un projet open source auquel je participe, sur HN, Reddit, etc., et comme il s’agit de mes propres textes, j’ai aussi pu expérimenter un entraînement LoRA sans souci éthique sur l’origine des données
Je l’utilise actuellement pour la recherche web et l’extraction de données dans un secteur précis
Il est suffisamment intelligent pour trouver les entreprises de ce secteur dans une ville donnée, lire leur site web, en extraire l’adresse et le numéro de téléphone, puis faire de la déduplication et du recoupement avec d’autres sources
Gemma 4 a fait mieux que Gemini 2.5 Flash, ou au moins montré un jugement plus nuancé, et le nouveau Gemini 3.5 Flash est très bon mais d’un prix irréaliste
Sauf si vous avez besoin de performances extrêmement rapides, un Gemma 4 auto-hébergé l’emporte sur beaucoup de tâches
Qwen 3.6 27B est aussi étonnamment bon pour trouver des bugs de sécurité au vu de sa taille. Il bat plusieurs modèles plus gros et se rapproche de Gemini Pro 3.1, mais Gemini 3.5 Flash reste de façon inattendue nettement meilleur
Comme cela ne coûte que l’électricité, que mon électricité est bon marché et 100 % renouvelable, je peux l’utiliser plus largement que les modèles hébergés
Cela dit, le choix financièrement le plus rationnel reste encore d’acheter les tokens que les fournisseurs bradent presque à titre de subvention
À l’heure actuelle, plutôt que d’acheter le matériel nécessaire pour faire tourner des modèles de plus de 30GB, il est plus avantageux de prendre un abonnement à 100 dollars à Claude ou Codex pour utiliser les meilleurs modèles à un tarif fortement réduit
Si vous avez besoin d’une API d’automatisation, DeepSeek/MiMo coûte de un à plusieurs ordres de grandeur de moins que les meilleurs modèles d’Anthropic ou d’OpenAI
J’ai dépensé environ 4 000 dollars pour deux machines d’inférence, une somme qui permettrait d’acheter des tokens pour ce type de petits modèles pendant plusieurs années
Mais j’aime bricoler le hardware, donc c’est déjà une récompense en soi, et si j’en récupère ne serait-ce qu’une partie, c’est du bonus
Si les principaux fournisseurs arrêtent de brûler de l’argent avec des tokens subventionnés et commencent à facturer sérieusement, le calcul peut changer, et il se peut qu’on soit content d’avoir acheté l’équipement avant que le prix de la RAM ne double ou ne triple
En dehors des cas où vous voulez apprendre la technologie ou faire vous-même des expériences d’entraînement, il vaut probablement mieux, dans la plupart des cas, ne pas essayer d’exécuter cela en local
Si vous avez une idée très précise de l’usage d’un modèle local, vous pouvez faire en sorte qu’il fonctionne bien même sans carte graphique ni NPU
En revanche, il faut limiter son mode d’utilisation de façon extrême. Ce n’est pas bon comme chatbot généraliste, et même si j’aime les LLM locaux, dans ce cas j’utiliserais plutôt un modèle récent hébergé
Si une tâche est assez simple pour être confiée à Sonnet, je la confie aussi à Gemma 4, et il s’en sort très bien
Je suis bien plus souvent positivement surpris que négativement
Il n’est pas rare non plus de voir Gemma 4 échouer, de passer à Opus 4.7, puis de constater qu’Opus échoue lui aussi
C’est une mise à jour assez bonne. La vidéo de démo est quand même un peu drôle
Le testeur demande au modèle de transformer la release en liste à puces, et il le fait correctement
Ensuite, il lui demande de rédiger un e-mail à partir de ce contenu, et sans qu’on le lui demande, le modèle reconvertit les puces en paragraphes, annulant ce qu’il venait de bien faire
Je ne sais pas s’il existe une règle de savoir-vivre qui interdit les listes à puces dans les e-mails
J’ai rapidement déployé et vérifié des benchmarks liés à l’allemand. Sur CohereLabs/include-base-44, le résultat spécifique à l’allemand donne Gemma 4 12B à environ 0.618
Gemma 4 26B (A4B MoE) est à 0.647, Qwen 3 14B à 0.621, Gemma 4 12B à 0.618, Ministral 14B 2512 à 0.604, et Gemma 3 12B à 0.547
L’écart entre Qwen 3 14B et Gemma 4 12B reste dans la plage de variation aléatoire, et sur certains reruns j’ai même obtenu exactement le même score
L’étape suivante, Gemma 4 31B, est à 0.676 sur ce benchmark, et Qwen 3 14B avec raisonnement activé obtient également 0.676
Demain, je lancerai aussi le benchmark anti-triche pour vérifier si Qwen reste devant