ExecuTorch WebGPU permet l’inférence PyTorch dans le navigateur
PyTorch rend les modèles d’IA accessibles dans les navigateurs web grâce à un nouveau backend WebGPU intégré à ExecuTorch. L’annonce de github.com détaille cette évolution, permettant d’exporter un modèle une seule fois dans un fichier .pte qui peut ensuite être exécuté dans n’importe quel navigateur supportant WebGPU. Ce mécanisme évite la nécessité de convertir les modèles vers d’autres formats, comme GGUF ou ONNX, maintenant ainsi les développeurs dans leur propre chaîne d’outils PyTorch.
L’enjeu principal, selon PyTorch, est la confidentialité. En faisant tourner l’inférence localement dans l’onglet du navigateur, les requêtes, les données d’entrée et les résultats ne quittent jamais l’appareil de l’utilisateur. C’est une réponse directe aux problématiques de latence réseau et de souveraineté des données. Le backend exploite les capacités natives de WebGPU, qui est le successeur moderne de WebGL, offrant des shaders de calcul natifs et des tampons de stockage nécessaires à une inférence gourmande en ressources.
Ce chemin d’exécution est remarquablement cohérent. Un même artefact (.pte) est destiné à fonctionner sur différents environnements. Pour le déploiement dans le navigateur, le runtime C++ est compilé en WebAssembly via Emscripten, et emdawnwebgpu assure le pont avec l’API JavaScript de WebGPU. Parallèlement, la conception vise à cibler nativement Metal sur macOS et Vulkan sur Linux/Android, en utilisant le même chemin d’exécution graphique.

Performances en mode local
Les chiffres de performance mesurés sur un Apple M4 Pro sous Chrome Canary illustrent l’impact concret de ce backend. Pour un artefact Llama 3.2 1B optimisé en 4 bits, les débits sont significatifs. Avec un contexte de 1 024 jetons, le pré-remplissage atteint 2 209,7 jetons par seconde, et le décodage se maintient à 167,2 jetons par seconde. Ces données ne décrivent pas la performance de tous les modèles ou configurations matérielles, mais elles montrent la capacité de faire fonctionner des tâches complexes localement.
Le backend supporte une palette très large de fonctionnalités au-delà de la simple génération de texte. Il couvre des tâches de vision-langage (réponse aux questions sur des images), la segmentation d’objets, l’estimation de profondeur à partir d’une seule image, et même le speech-to-text avec Whisper. Il y a même une capacité d’entraînement sur l’appareil (on-device fine-tuning) via des adaptateurs GPU-résidents.
Les choix d’architecture sous le capot
La complexité réside dans la gestion de la dynamique et de l’optimisation. Les développeurs ont misé sur plusieurs principes techniques. L’architecture utilise torch.export pour produire le fichier .pte, qui est ensuite traité par un WebGPUPartitioner. Ce dernier conserve la sérialisation Vulkan, même dans le contexte WebGPU, en intégrant des WGSL compute shaders directement dans le processus de compilation.
Pour gérer les formes dynamiques, les tenseurs sont alloués à leur taille maximale, et le système utilise une logique de shape-routed dispatch. Au moment de l’exécution, les dimensions des tenseurs sélectionnent des noyaux spécialisés. On retrouve des optimisations fines, comme le FlashDecoding avec split KV pour le décodage, et des techniques de quantification poussées (comme les noyaux 4-bit de poids uniquement) pour minimiser l’empreinte mémoire.
Cette initiative s’inscrit dans une course plus vaste pour l’accélération de l’IA. Tandis que PyTorch pousse vers le navigateur avec des ressources locales, Amazon a récemment annoncé TorchNeuron, permettant d’exécuter des modèles PyTorch sur les puces Trainium d’AWS avec peu de modification de code. Un analyste a souligné que « l’épreuve réelle sera de savoir si les développeurs peuvent atteindre une performance compétitive et un coût total de possession en production », rappelant que la facilité d’usage est aussi importante que la puissance brute des puces.
Sources
- executorch/backends/webgpu/README.md at main · pytorch/executorch, github.com
- Issues · pytorch/executorch, github.com
- ExecuTorch WebGPU: PyTorch Models on the GPU, in the Browser, PyTorch, 10 novembre 2026
- AWS Launches TorchNeuron to Run PyTorch Models on AWS Trainium Without Modifications, InfoQ, 9 novembre 2026



