En résumé
Hugging Face publie 207 noyaux WebGPU sous licence Apache-2.0.
Le chargeur JavaScript exécute les noyaux depuis le Hub avec un contrat versionné.
Fleet collecte des mesures de correction et de performance sur les GPU des utilisateurs consentants.
Le signal : Hugging Face annonce 207 noyaux WebGPU et une avance moyenne de 2,57 fois face à ORT WebGPU sur 809 cas comparables.
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 lance le 1er septembre 2026 la bibliothèque JavaScript @huggingface/kernels. Elle charge et exécute des noyaux WebGPU optimisés depuis le Hub Hugging Face. La publication comprend une collection initiale de 207 noyaux. Ceux-ci couvrent des opérations utilisées par de nombreuses architectures et charges de travail d’apprentissage automatique. Chaque noyau est distribué comme un paquet complet et versionné. Son interface, ses modèles de nuanceurs WGSL, ses tests de correction, ses cas de référence et ses instructions sont réunis dans le même dépôt. La collection est publiée sous licence Apache-2.0. Hugging Face présente cette couche comme le premier niveau de son travail WebAI consacré à l’inférence dans le navigateur. Lire l’annonce de Hugging Face fournit les détails techniques de la publication.
Les noyaux structurent l’exécution d’un modèle dans le navigateur. Les opérations concernées comprennent les multiplications matricielles, normalisations, convolutions, primitives d’attention, opérations de quantification et transformations de disposition des données. WebGPU fournit une API portable entre navigateurs modernes. WGSL constitue le langage commun des nuanceurs exécutés par les GPU. La portabilité ne garantit toutefois pas la même performance sur chaque accélérateur. Les tailles de groupes de travail, les accès mémoire, la vectorisation, les types de données et les stratégies de fusion influencent les résultats. Le choix optimal dépend aussi de la forme des entrées, du périphérique, du navigateur et des fonctions WebGPU disponibles. Les noyaux peuvent donc être testés, comparés et versionnés séparément des environnements d’exécution supérieurs.
Chaque dépôt documente un contrat d’opération et une carte de noyau. La carte décrit la sémantique, les entrées, les sorties, les attributs, les types pris en charge, les fichiers sources et un exemple exécutable. Le dépôt ai.onnx.Add illustre cette organisation avec une addition élément par élément et une diffusion multidirectionnelle. Son fichier manifest.json définit le contrat, les contraintes de type et les règles de dérivation des formes. metadata.json conserve l’identifiant, les empreintes et la provenance. test.json contient les cas de correction. bench.json regroupe les cas de référence et de réglage. Les fichiers *.wgsl.jinja contiennent les implémentations WGSL paramétrées selon la requête et le périphérique.
Le chargeur JavaScript s’installe avec npm install @huggingface/kernels@preview et exige un navigateur compatible WebGPU. Une application appelle getKernel avec l’identifiant d’un dépôt Hub et une version de contrat. Elle invoque ensuite la fonction obtenue avec des données typées et des formes de tenseurs. Dans l’exemple ai.onnx.Add, deux entrées de six et trois nombres produisent une sortie de forme [2, 3] grâce à la diffusion. Le chargeur déduit la forme et le type logique depuis le manifeste, puis alloue la sortie. Le noyau propose plusieurs variantes pour les formes égales, la diffusion vectorisée, le traitement scalaire et la diffusion générale. La version du contrat reste distincte d’un opset ONNX ou d’une révision de modèle. Le paquet npm présente l’installation et l’interface.
Les mesures publiées comparent les 207 noyaux à ORT WebGPU sur un GPU Apple M4. Hugging Face a commencé avec 1 756 cas de test, puis retenu 809 cas avec sorties concordantes et mesures fiables. Les noyaux obtiennent une avance de 2,57 fois en moyenne géométrique et de 1,90 fois à la médiane. Le bilan compte 629 victoires, 176 défaites et 4 égalités. Sur Add, le temps mesuré atteint 0,064 milliseconde contre 0,227 pour ORT WebGPU, soit 3,52 fois. MatMul affiche 1,14 fois, Softmax 2,11 fois et LayerNormalization 2,22 fois. Un cas Einsum dépasse 10 000 fois, mais ces résultats concernent des opérations individuelles et non des modèles complets.
Fleet complète ces comparaisons avec une suite de tests exécutée directement dans le navigateur. L’outil mesure la correction et la performance des noyaux sur le matériel de chaque participant. Avec son consentement, chaque exécution ajoute des éléments privés sur les échecs, les variantes et les performances observées. Hugging Face indique que ces données peuvent aider à repérer des résultats incorrects, des cas anormalement lents et des différences entre périphériques. Les résultats varient selon les GPU, les navigateurs et les pilotes. Fleet permet de lancer ces vérifications. Hugging Face travaille aussi avec l’équipe ONNX Runtime pour intégrer ces améliorations dans l’écosystème ONNX Runtime Web. La collection doit ensuite être reliée à des outils de modèles plus élevés, tandis que la couverture des opérations continue de s’étendre. La documentation WebGPU de Mozilla rappelle les conditions de disponibilité de l’API.
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