De WebAssembly (WASM) à C++, Firefox change de moteur d'exécution pour son IA locale et annonce des gains de « 2 à 10× » selon les tâches, tout en supprimant le coût de chauffe propre au WASM lors des premiers lancements. Les premières fonctions concernées, dont les groupes d'onglets intelligents et la génération d'alt‑text dans PDF.js, bénéficient déjà de cette accélération dans Firefox 142, avec une latence mesurée passant de 3,5 s à 350 ms pour l'alt‑text sur la même machine.

La migration vers un backend C++ natif marque une étape pragmatique : des gains visibles dès maintenant, une base plus saine pour l’IA locale, et un cap clair vers le GPU dès que le support sera prêt.  © Shutterstock
La migration vers un backend C++ natif marque une étape pragmatique : des gains visibles dès maintenant, une base plus saine pour l’IA locale, et un cap clair vers le GPU dès que le support sera prêt. © Shutterstock
L'info en 3 points
  • Firefox remplace son moteur d'exécution IA de WASM à C++, offrant des gains de performance de 2 à 10 fois.
  • La latence pour la génération d'alt-text dans PDF.js a chuté de 3,5 secondes à 350 millisecondes.
  • Cette migration vers C++ permet une meilleure utilisation des CPU modernes et introduit un support pour des LLM locaux.

Mozilla avait misé gros sur son « Firefox AI Runtime », ce socle d'IA en local pour des fonctionnalités comme les groupes d'onglets ou la description d'images, sans envoi de données vers le cloud. Seulement voilà, la mise en route sous Firefox 141 a tourné au fiasco : pics CPU incessants, autonomie en chute libre, le tout orchestré par un processus « Inference » qui s'activait en permanence en arrière-plan. Face à ce tollé utilisateur, l'équipe de développement a dû revoir sa copie et opter pour une solution radicale : migrer l'exécution du runtime d'onnxruntime‑web vers un backend natif C++ intégré, déployé graduellement depuis Firefox 142.

Mozilla Firefox
  • 100 % développé en interne
  • Fiable, efficace et stable
  • Fonctionnalités d'optimisation de l'interface et de l'expérience utilisateur
8.7 / 10

Un changement d'architecture salvateur

L'ancienne chaîne d'inférence ressemblait à un parcours du combattant technique : pré/post‑traitements en JavaScript, exécution du modèle en WASM via onnxruntime‑web, puis retour en JavaScript, créant un va‑et‑vient coûteux même avec les caches « chauds ». En intégrant directement un backend natif C++ dans le navigateur, Mozilla élimine ce « warm‑up » WASM et réduit drastiquement les changements de couches, d'où ces gains spectaculaires de « 2 à 10× » communiqués par l'équipe.

Au‑delà de l'architecture repensée, cette approche native exploite enfin correctement les instructions vecteurs spécifiques aux CPU modernes (comme NEON sur Apple Silicon ou AVX‑512 sur Intel), bien mieux qu'avec la SIMD limitée de WASM. L'expérience acquise sur Firefox Translations, où une approche native accélère déjà le calcul depuis des mois, a d'ailleurs servi de guide technique pour cette migration ambitieuse.

Des résultats immédiats, des perspectives prometteuses

Sur le terrain, les améliorations se ressentent immédiatement : la génération d'alt‑text dans PDF.js voit sa latence fondre d'un facteur 10 (de 3,5 s à 350 ms) sur une configuration identique, tandis que les groupes d'onglets « intelligents » réagissent enfin normalement au premier lancement. Mozilla active cette optimisation fonctionnalité par fonctionnalité tout au long de l'été pour l'ensemble des services reposant sur Transformers.js.

Cette migration répond aussi à une urgence : redorer le blason d'une IA locale qui avait fait scandale avec ses pics CPU et sa voracité énergétique. Le pari reste audacieux car le traitement en local garantit confidentialité et fonctionnement hors‑ligne, deux atouts majeurs face à la concurrence. D'autant que Firefox 142 introduit le support de l'API « wllama » pour des LLM locaux dans les extensions, ancrant définitivement l'IA locale dans l'écosystème du navigateur.

La feuille de route dessine déjà les prochaines étapes : optimisation du parallélisme, réglage automatique du nombre de threads selon le matériel, cache de graphes compilés pour réduire les temps de démarrage, et surtout l'activation très attendue de l'exécution sur GPU. Une fois ce dernier verrou levé, Firefox pourrait bien prendre une longueur d'avance décisive sur ses concurrents dans la course à l'IA locale performante.

Source : OMGUbuntu