Hugging Face lance 207 noyaux WebGPU, 1,90 fois plus rapides
3 min · 29 septembre 2026

Hugging Face lance 207 noyaux WebGPU, 1,90 fois plus rapides

Par Arthur Dekeyser

En résumé

1

Hugging Face publie 207 noyaux WebGPU sous licence Apache-2.0.

2

Fleet mesure la performance et la correction des noyaux sur les GPU des utilisateurs.

3

Les noyaux ont été 1,90 fois plus rapides en médiane qu’ORT WebGPU sur Apple M4.

💡

Le signal : Hugging Face annonce 207 noyaux WebGPU et un gain médian de 1,90x face à ORT WebGPU sur Apple M4.

NEWSLETTER BUSINESS & IA

Vous appréciez ce genre d'analyse ?

Chaque mardi et vendredi, l'essentiel en business & IA décryptées en 5 minutes. Gratuit, sans engagement.

+11 000 fondateurs abonnés

Hugging Face publie le 1er septembre 2026 une bibliothèque JavaScript dédiée aux noyaux WebGPU pour l’inférence locale dans les navigateurs. Le projet @huggingface/kernels arrive avec une collection initiale de 207 noyaux disponibles sur le Hub Hugging Face. Chaque noyau est publié comme un paquet versionné, sous licence Apache-2.0. Il regroupe son interface, ses modèles de nuanceur WGSL, ses tests de correction, ses cas de référence et ses instructions d’utilisation. La bibliothèque télécharge, prépare et exécute ces noyaux directement depuis le Hub. L’exécution nécessite un navigateur compatible avec WebGPU. Sa disponibilité dépend notamment du navigateur, du système d’exploitation, du GPU et du pilote utilisés.

La bibliothèque structure chaque opération autour d’un contrat inspectable. Le fichier manifest.json définit les entrées, les sorties, les attributs, les types autorisés et les règles de dérivation des formes. Le fichier metadata.json conserve l’identifiant du noyau, ses empreintes et sa provenance. Les tests de correction figurent dans test.json, tandis que bench.json contient les cas de mesure et de réglage. Les fichiers *.wgsl.jinja décrivent les implémentations WGSL paramétrées. Cette organisation permet de charger explicitement une version publiée, plutôt qu’une URL de fichier non versionnée. Les développeurs peuvent aussi utiliser ces noyaux comme implémentations de référence pour créer leurs propres noyaux WebGPU ou intégrer ces opérations dans leurs environnements d’exécution.

Hugging Face compare 207 noyaux

Les premiers résultats proviennent d’une comparaison avec ORT WebGPU sur un GPU Apple M4. Hugging Face a commencé avec 1 756 cas de test couvrant les 207 opérations. L’analyse a retenu 809 cas dont les sorties correspondaient et dont les temps étaient fiables. Les noyaux Hugging Face ont obtenu un avantage de 2,57 fois en moyenne géométrique et de 1,90 fois à la médiane. Ils ont remporté 629 comparaisons, contre 176 défaites et quatre égalités. Pour Add, le temps mesuré atteint 0,064 milliseconde, contre 0,227 milliseconde pour ORT WebGPU, soit 3,52 fois plus rapide. Les mesures concernent uniquement le travail exécuté sur le GPU.

Certaines opérations présentent des écarts nettement plus élevés. Un cas Einsum bilinéaire de taille 4096 a été exécuté en 0,136 milliseconde avec le noyau Hugging Face, contre 1 396 millisecondes avec ORT WebGPU. L’écart dépasse ainsi 10 000 fois dans ce cas particulier. Un CumSum ligne par ligne sur une matrice [256, 4096] a atteint 0,016 milliseconde, contre 4,784 millisecondes, soit un facteur de 301. Ces valeurs concernent des opérations individuelles et non des modèles complets. Les mesures excluent le chargement, la création des sessions, l’envoi des entrées, la compilation des nuanceurs et la lecture des sorties. Hugging Face travaille aussi avec l’équipe ONNX Runtime pour intégrer ces améliorations dans son écosystème Web.

Fleet mesure les GPU réels

Fleet complète la collection avec une suite de test et de mesure exécutée dans le navigateur. L’outil évalue la correction et la performance des noyaux sur le matériel de chaque utilisateur. Avec son consentement, chaque exécution ajoute des éléments privés sur les appareils testés. Ces données peuvent aider à repérer des résultats incorrects, des cas particulièrement lents et des différences entre variantes. Elles servent aussi à améliorer les règles de sélection selon le périphérique. Cette approche répond aux écarts observés entre les GPU, les navigateurs et les pilotes. Les résultats d’un Apple M4 ne constituent donc pas une promesse applicable à chaque configuration. Les utilisateurs peuvent ouvrir Fleet pour exécuter ces vérifications sur leur propre matériel.

Le chargement commence par l’installation du paquet npm @huggingface/kernels@preview. L’application appelle ensuite getKernel avec l’identifiant d’un dépôt du Hub et la version de son contrat. L’exemple webgpu-kernels/ai.onnx.Add utilise la version 1 et accepte deux tableaux de nombres flottants. Le noyau produit automatiquement une sortie de forme [2, 3] lorsque un tableau [3] est diffusé sur un tableau [2, 3]. Le même contrat peut servir à des opérations plus lourdes, comme ai.onnx.MatMul. Le dépôt Add inclut plusieurs variantes pour les formes identiques, la diffusion vectorisée, le traitement scalaire et la diffusion générale. La documentation est disponible sur le billet Hugging Face, avec le paquet sur npm.

Gardez un coup d'avance en IA et tech.

Chaque mardi et vendredi, l'essentiel en business & IA décryptées en 5 minutes. Zéro spam.

+11 000 fondateurs abonnés

À lire aussi