Gemma 4 E2B s’exécute dans le navigateur à 255 tok/s avec les noyaux WebGPU — L’héritage d’optimisation de Fable 5 expliqué
Gemma 4 E2B en exécution dans le navigateur à 255 jetons/s grâce aux noyaux WebGPU — L'héritage d'optimisation de Fable 5 expliqué
La barrière entre les grands modèles de langage hébergés dans le cloud et l'inférence entièrement locale et native dans le navigateur vient d'être considérablement réduite. Le modèle Gemma 4 E2B de Google — une itération quantifiée et optimisée pour les mobiles de la famille Gemma — s'exécute désormais entièrement dans un navigateur web à une vitesse stupéfiante de 255 jetons par seconde sur un Apple M4 Max. Cette étape décisive a été franchie grâce à des noyaux WebGPU personnalisés développés et peaufinés à l'origine par Fable 5, un studio aujourd'hui fermé dont le travail d'optimisation a été mis en open source pour la communauté. Aujourd'hui, tout le monde peut essayer la démo en direct sur Hugging Face et examiner les noyaux qui rendent cette avancée possible.
La convergence de l'entraînement sensible à la quantification (QAT), des architectures de transformeurs adaptées aux mobiles et de la puissance de calcul parallèle brute de WebGPU a ouvert une nouvelle frontière : une inférence LLM de qualité production qui ne quitte jamais votre appareil. Pas d'allers-retours vers un serveur, pas de clés API, pas de pics de latence dus à la congestion du réseau — juste une génération de jetons locale et pure à des vitesses qui rivalisent avec les applications de bureau dédiées. Et au cœur de cette histoire se trouve l'héritage doux-amer de Fable 5, une équipe dont l'expertise en ingénierie de noyaux GPU continue de profiter à l'écosystème open source de l'IA longtemps après sa fermeture.
Qu'est-ce que Gemma 4 E2B et pourquoi est-ce important ?
Gemma 4 E2B est une variante spécialisée de la famille de modèles de langage Gemma de Google, affinée et compressée pour le déploiement en périphérie. La désignation « E2B » fait référence à une architecture de pont encodeur-décodeur optimisée pour l'inférence sur appareil, tandis que le « QAT » dans le nom complet du modèle — gemma-4-E2B-it-qat-mobile-transformers — signifie Entraînement Sensible à la Quantification. Cette technique simule une arithmétique de précision réduite pendant la phase d'entraînement, produisant un modèle qui gère élégamment la quantification 8 bits, voire 4 bits, sans perte de précision catastrophique.
Contrairement à la quantification post-entraînement (PTQ) traditionnelle, le QAT intègre la robustesse numérique directement dans les poids et les activations du modèle. Le résultat est un LLM compact mais performant qui s'intègre confortablement dans les contraintes de mémoire du navigateur tout en conservant un comportement de suivi d'instructions solide. Combiné à des blocs de transformeurs optimisés pour les mobiles, Gemma 4 E2B devient un candidat de choix pour l'inférence IA dans le navigateur — un cas d'usage qui était quasiment irréalisable il y a seulement deux ans.
Spécifications clés du modèle Gemma 4 E2B
- Architecture : Pont encodeur-décodeur avec couches de transformeurs optimisées pour les mobiles
- Quantification : Compatible QAT, robuste aux niveaux de précision 4 bits et 8 bits
- Déploiement cible : Appareils en périphérie, navigateurs mobiles et environnements accélérés par WebGPU
- Hébergé sur Hugging Face : google/gemma-4-E2B-it-qat-mobile-transformers
- Licence : Poids ouverts, adapté à la recherche et au prototypage commercial
Le benchmark de vitesse : 255 jetons par seconde sur M4 Max
Lorsque la communauté WebML a rapporté 255 jetons par seconde sur un Apple M4 Max exécutant le modèle Gemma 4 E2B entièrement dans le navigateur, le monde de l'ingénierie IA a pris note. Pour contextualiser ce chiffre :
- La vitesse de lecture humaine est en moyenne d'environ 5 à 7 jetons par seconde pour une compréhension approfondie.
- Les API LLM typiques hébergées dans le cloud délivrent 20 à 60 jetons par seconde dans des conditions réseau idéales.
- Les exécutants LLM locaux sur bureau (comme llama.cpp avec déchargement GPU) atteignent souvent un pic de 40 à 100 jetons/s sur du matériel grand public.
- 255 jetons/s signifient que le modèle peut générer un essai complet de 500 mots en environ deux secondes — plus vite que la plupart des utilisateurs ne peuvent faire défiler la page.
Cette vélocité transforme l'expérience utilisateur. La latence devient imperceptible. Les applications en temps réel — agents conversationnels, autocomplétion de code, traduction en direct — semblent instantanées. Et tout cela se produit dans un onglet de navigateur web standard, sans installer le moindre binaire.
Pourquoi le M4 Max excelle avec les charges de travail WebGPU
Le M4 Max d'Apple dispose d'une architecture mémoire unifiée, d'un GPU à large bande passante avec accélération matérielle du ray tracing et des capacités de mesh shading, ainsi que d'un Neural Engine avancé. Surtout, le M4 Max expose ces ressources GPU au navigateur via l'API WebGPU, une interface graphique et de calcul moderne qui remplace WebGL avec une surcharge réduite et un contrôle plus fin des tampons de commandes GPU. Les noyaux de Fable 5 exploitent ces capacités au maximum, minimisant les blocages de synchronisation CPU-GPU et maximisant l'occupation des shaders.
Fable 5 : Le studio derrière les noyaux WebGPU
Fable 5 était un studio de développement doté d'une expertise approfondie en graphisme temps réel, calcul GPU et optimisation multiplateforme. Avant sa fermeture, l'équipe a consacré des efforts considérables à la création de noyaux WebGPU adaptés à l'inférence de grands modèles de langage. Leur travail s'est concentré sur :
- Noyaux d'attention fusionnés — Combinaison de plusieurs opérations d'attention en des envois GPU uniques pour réduire l'utilisation de la bande passante mémoire.
- Shaders de multiplication matricielle personnalisés — Code WGSL (WebGPU Shading Language) ajusté manuellement qui surpasse les bibliothèques d'algèbre linéaire génériques dans le contexte du navigateur.
- Optimisations de la disposition mémoire — Réorganisation des tenseurs de poids pour des motifs d'accès mémoire coalescés sur les architectures GPU basées sur des tuiles comme celles d'Apple.
- Ordonnancement de pipeline asynchrone — Chevauchement des transferts de données avec le calcul pour maintenir le GPU alimenté et minimiser les cycles d'inactivité.
Lorsque Fable 5 a cessé ses activités, ces noyaux auraient pu disparaître. Au lieu de cela, la communauté WebML est intervenue, préservant et affinant la base de code. Les noyaux sont désormais accessibles publiquement sur Hugging Face Spaces, servant à la fois d'outil pratique et de ressource éducative pour quiconque s'intéresse à l'accélération GPU dans le navigateur pour l'IA.
« Avant la fermeture de Fable 5, le studio nous a aidés à optimiser nos noyaux WebGPU Gemma 4, atteignant environ 255 jetons par seconde sur mon M4 Max. Aujourd'hui, nous publions la démo et les noyaux pour que vous puissiez les essayer vous-mêmes. »
— xenovatech, Contributeur de la communauté WebML
WebGPU : Le moteur qui propulse l'accélération de l'IA dans le navigateur
WebGPU est le successeur standardisé par le W3C de WebGL, conçu dès le départ pour exposer les fonctionnalités modernes des GPU — shaders de calcul, tampons de stockage et encodage explicite des commandes — aux applications web. Contrairement à WebGL, qui était limité par son héritage OpenGL ES, WebGPU se connecte directement aux API natives comme Metal (sur Apple Silicon), Vulkan (sur Android et Linux) et DirectX 12 (sur Windows).
Pourquoi WebGPU surpasse WebGL pour l'inférence LLM
- Prise en charge des shaders de calcul : WebGPU prend en charge nativement le calcul GPU à usage général, permettant aux multiplications matricielles et aux mécanismes d'attention de s'exécuter en tant qu'envois de shaders.
- Surcharge de pilote réduite : La gestion explicite des tampons et l'encodage des commandes réduisent le coût côté CPU de la soumission du travail GPU.
- Liaisons de tampons de stockage : Les grands tenseurs de poids peuvent être liés directement en tant que tampons de stockage, évitant les contournements par textures requis par WebGL.
- Requêtes d'horodatage : Les développeurs peuvent mesurer précisément le temps d'exécution GPU, permettant une optimisation ciblée des noyaux goulots d'étranglement.
- Cohérence multiplateforme : Une base de code unique en WGSL s'exécute sur macOS, Windows, ChromeOS et Android avec un minimum d'ajustements spécifiques à la plateforme.
Les noyaux de Fable 5 tirent parti de chacun de ces avantages. En écrivant directement en WGSL et en contournant les couches d'abstraction intermédiaires, l'équipe a atteint des niveaux d'occupation GPU que les moteurs d'inférence génériques peinent à égaler dans le contexte d'un navigateur.
Fonctionnement de la démo — Un aperçu technique
La démo WebGPU Gemma 4 hébergée sur Hugging Face Spaces fournit un environnement d'inférence complet et autonome. Voici ce qui se passe sous le capot lorsque vous chargez la page :
- Initialisation de l'adaptateur WebGPU : Le navigateur demande un adaptateur GPU, privilégiant les chemins GPU discrets ou intégrés haute performance. Sur M4 Max, cela correspond au backend Metal.
- Chargement des poids du modèle : Les poids quantifiés de Gemma 4 E2B sont récupérés depuis le CDN de Hugging Face et téléchargés dans les tampons de stockage GPU. Les poids entraînés par QAT ne nécessitent aucune calibration à l'exécution.
- Compilation des noyaux : Le code source des shaders WGSL provenant des noyaux de Fable 5 est compilé en code binaire spécifique au GPU. Cela se produit une seule fois, le pipeline compilé étant mis en cache pour les inférences suivantes.
- Tokénisation en JavaScript : Un tokéniseur SentencePiece léger, implémenté en JavaScript pur, convertit l'entrée utilisateur en identifiants de jetons sans appels au serveur.
- Boucle de génération autorégressive : Le modèle s'exécute de manière itérative — chaque passage avant produit un jeton, qui est réinjecté en entrée pour l'étape suivante. Les noyaux d'attention fusionnés et de multiplication matricielle s'exécutent à chaque itération.
- Sortie en continu : Les jetons sont décodés en texte et affichés progressivement, créant l'expérience familière de chat en streaming — entièrement locale, entièrement dans le navigateur.
🚀 Essayez la démo en direct
Faites l'expérience directe de l'inférence à 255 jetons/s dans le navigateur. Aucune installation requise — juste un navigateur compatible WebGPU (Chrome 113+, Edge 113+ ou équivalent).
🔗 Démo des noyaux WebGPU Gemma 4 sur Hugging Face
Le code source des noyaux est inclus dans le dépôt Space pour que les développeurs puissent l'étudier et l'adapter.
Enseignements pratiques : Ce que les développeurs peuvent apprendre des noyaux de Fable 5
Les noyaux WebGPU open source sont plus qu'une simple démo — ils constituent un cours magistral d'optimisation GPU dans le navigateur. Voici des enseignements concrets pour les développeurs qui construisent leurs propres solutions d'inférence dans le navigateur :
1. Adoptez le WGSL pour les chemins critiques en performance
Bien que les frameworks de plus haut niveau comme TensorFlow.js et ONNX Runtime Web offrent de la commodité, les shaders WGSL ajustés manuellement surpassent systématiquement les noyaux générés automatiquement pour les opérations spécifiques aux transformeurs. Les noyaux de Fable 5 démontrent que l'attention fusionnée écrite directement en WGSL peut réduire les allers-retours mémoire de 30 à 50 % par rapport aux implémentations génériques.
2. Priorisez la bande passante mémoire plutôt que les FLOPs
Sur les architectures à mémoire unifiée comme la série M d'Apple, le goulot d'étranglement est rarement le calcul brut. Au lieu de cela, la bande passante mémoire et l'utilisation du cache dictent le débit. Les noyaux de Fable 5 utilisent des motifs de calcul par tuiles qui conservent les résultats intermédiaires dans la mémoire de groupe de threads du GPU, réduisant considérablement les lectures depuis la mémoire globale de l'appareil.
3. Exploitez les modèles QAT pour le déploiement dans le navigateur
L'entraînement sensible à la quantification produit des modèles qui sont numériquement stables à faible précision. Lors du déploiement dans les navigateurs — où la mémoire est partagée avec d'autres onglets et applications — l'utilisation d'un modèle QAT comme Gemma 4 E2B évite la dégradation de précision souvent observée avec les méthodes de quantification post-entraînement.
4. Profilez sans relâche avec les requêtes d'horodatage WebGPU
L'équipe de Fable 5 a utilisé la fonctionnalité intégrée de requête d'horodatage de WebGPU pour identifier précisément quels envois de shaders consommaient le plus de cycles GPU. Cette approche axée sur les données leur a permis de concentrer l'effort d'optimisation sur les véritables goulots d'étranglement plutôt que de deviner.
Les implications plus larges : L'IA dans le navigateur devient grand public
La publication de Gemma 4 E2B s'exécutant à 255 jetons/s dans le navigateur signale un changement de paradigme. Pendant des années, le discours dominant soutenait que l'inférence IA sérieuse nécessitait des GPU cloud ou des exécutants locaux dédiés. Cette démo remet directement cette hypothèse en question. Considérez les effets en aval :
- IA respectueuse de la vie privée : Les données sensibles ne quittent jamais l'appareil de l'utilisateur. Les applications médicales, juridiques et financières peuvent exploiter des LLM puissants sans risques d'exfiltration de données.
- Expériences hors ligne d'abord : Une fois les poids du modèle mis en cache, l'inférence fonctionne sans connectivité Internet — idéal pour le travail sur le terrain, les voyages et les régions avec une connexion à large bande peu fiable.
- Déploiement sans installation : Les utilisateurs accèdent à une IA de pointe via une URL. Pas d'approbation de magasin d'applications, pas de friction d'installation, pas de maux de tête de gestion de versions.
- Accès démocratisé : À mesure que la prise en charge de WebGPU s'étend aux navigateurs et aux appareils, davantage d'utilisateurs dans le monde accèdent à une IA locale performante sans matériel dédié haut de gamme.
Limitations et défis actuels
Malgré les performances impressionnantes, plusieurs limitations subsistent :
- Compatibilité des navigateurs : WebGPU n'est pas encore universellement pris en charge. L'implémentation de Safari est en retard par rapport à Chrome et Edge, et la prise en charge de Firefox est encore en développement.
- Contraintes de taille de modèle : Bien que Gemma 4 E2B soit optimisé pour le déploiement en périphérie, les modèles plus grands (70B+ paramètres) dépassent encore les limites pratiques de mémoire du navigateur, même avec une quantification agressive.
- Latence de premier chargement : Le téléchargement de plusieurs gigaoctets de poids de modèle lors de la première visite peut prendre des minutes sur des connexions plus lentes, bien que la mise en cache atténue ce problème pour les visites suivantes.
- Limitation thermique : La génération soutenue à 255 jetons/s sur des ordinateurs portables peut déclencher une limitation thermique, réduisant le débit lors de sessions prolongées.
- Charge de maintenance des noyaux : Les noyaux WGSL ajustés manuellement nécessitent une maintenance continue pour suivre l'évolution de la spécification WebGPU et les nouvelles architectures GPU.
Foire Aux Questions (FAQ)
Qu'est-ce que Gemma 4 E2B exactement ?
Gemma 4 E2B est un grand modèle de langage quantifié et optimisé pour les mobiles de Google, basé sur l'architecture Gemma. Il utilise l'Entraînement Sensible à la Quantification (QAT) pour maintenir la précision à faible précision et est spécifiquement conçu pour le déploiement sur appareil et dans le navigateur. Le nom complet du modèle sur Hugging Face est gemma-4-E2B-it-qat-mobile-transformers.
Comment le navigateur atteint-il 255 jetons par seconde ?
La vitesse provient d'une combinaison de facteurs : des noyaux WebGPU hautement optimisés écrits en WGSL par Fable 5, le puissant GPU M4 Max d'Apple avec son architecture mémoire unifiée, l'efficacité des poids de modèle compressés par QAT et l'encodage de commandes à faible surcharge de l'API WebGPU. Ensemble, ces éléments éliminent les goulots d'étranglement qui ralentissent généralement l'inférence dans le navigateur.
Qui était Fable 5 et pourquoi leurs noyaux sont-ils importants ?
Fable 5 était un studio de développement spécialisé dans l'optimisation GPU et les graphismes en temps réel. Avant de fermer, ils ont collaboré avec la communauté WebML pour créer des noyaux WebGPU personnalisés pour l'inférence LLM. Leur travail a produit l'implémentation de transformeur dans le navigateur la plus rapide connue. Les noyaux ont été mis en open source et sont désormais maintenus par la communauté, garantissant que l'expertise d'optimisation survive à la fermeture du studio.
Puis-je exécuter ceci sur du matériel autre qu'un M4 Max ?
Oui. Bien que le benchmark de 255 jetons/s ait été atteint sur un M4 Max, la démo fonctionne sur tout appareil équipé d'un navigateur compatible WebGPU. Les performances varieront en fonction de la capacité du GPU et de la bande passante mémoire. Les GPU discrets haut de gamme sous Windows et Linux, ainsi que les autres puces Apple Silicon (séries M1, M2, M3), peuvent également exécuter la démo, bien que les taux de jetons diffèrent.
Le modèle Gemma 4 E2B est-il adapté à une utilisation en production ?
Le modèle est à poids ouverts et peut être utilisé pour la recherche et le prototypage commercial. Cependant, le déploiement en production doit prendre en compte le niveau de quantification du modèle, les exigences spécifiques de la tâche et la question de savoir si la précision à 4 bits ou 8 bits répond à la barre de qualité de votre application. La démo WebGPU elle-même est principalement un outil éducatif et expérimental.
Comment débuter avec les noyaux WebGPU pour mon propre projet ?
Visitez le Space Hugging Face et explorez les fichiers source. Le code des shaders WGSL est bien commenté et peut être adapté pour d'autres modèles de transformeurs. Vous aurez besoin d'un navigateur compatible WebGPU et d'une compréhension de base des concepts de calcul GPU pour modifier les noyaux selon votre propre cas d'usage.
Quels navigateurs prennent en charge WebGPU pour cette démo ?
En 2025, Google Chrome 113+, Microsoft Edge 113+ et Opera offrent une prise en charge robuste de WebGPU. L'implémentation WebGPU de Safari s'améliore mais peut être en retard en termes de performances. La prise en charge de Firefox est en développement actif. Pour la meilleure expérience, utilisez la dernière version de Chrome ou Edge sur un appareil équipé d'un GPU performant.
Conclusion : Une étape majeure pour l'IA native dans le navigateur
La publication de la démo WebGPU Gemma 4 E2B atteignant 255 jetons par seconde représente bien plus qu'un benchmark impressionnant. Elle cristallise une vision que beaucoup dans la communauté IA ont poursuivie pendant des années : des modèles de langage performants, rapides et entièrement locaux s'exécutant là où les utilisateurs se trouvent déjà — le navigateur.
Les noyaux de Fable 5 témoignent de la valeur durable des contributions open source. Même si le studio a fermé, son expertise en ingénierie perdure, accélérée par une communauté passionnée et accessible via une simple URL. Pour les développeurs, la base de code offre une riche ressource d'apprentissage des techniques d'optimisation WebGPU. Pour les utilisateurs, elle donne un aperçu d'un avenir où l'IA est instantanée, privée et libre des contraintes de la dépendance au cloud.
Essayez la démo, étudiez les noyaux et réfléchissez à ce que vous pourriez construire lorsque l'inférence à 255 jetons par seconde est à portée d'un onglet de navigateur. L'ère de l'IA dans le navigateur est arrivée — et elle est rapide.
🔗 Explorez les ressources