PyTorch-Modelle laufen jetzt auf GPUs in Webbrowsern

PyTorch-Modelle können jetzt über das neue ExecuTorch-WebGPU-Backend auf der GPU eines Geräts im Webbrowser ausgeführt werden. Der Ansatz verwendet eine einzelne ExecuTorch-.pte-Datei, vermeidet die Konvertierung in Formate wie ONNX oder GGUF und hält Modelleingaben und -ausgaben auf dem Gerät.
- ExecuTorch WebGPU führt PyTorch-Modelle auf Browser-GPUs aus.
- Modelle werden in eine einzelne ExecuTorch-.pte-Datei exportiert.
- Die Inferenz läuft lokal, sodass keine Daten das Gerät verlassen.
- In PyTorchs Benchmark war WebGPU beim Prefill 4, 7× schneller und beim Decode 2, 10× schneller.
- Das Backend unterstützt Sprach-, Bild- und Sprachverarbeitungsmodelle sowie Modelle für das Training auf dem Gerät.
Direkter Weg von PyTorch in den Browser
Entwickler exportieren Modelle mit torch.export() und dem WebGPUPartitioner von ExecuTorch. Dabei entsteht eine ExecuTorch-.pte-Datei. Dieselbe Datei kann in WebGPU-fähigen Browsern über die WebAssembly-Laufzeit von ExecuTorch ausgeführt werden, darunter Browser wie Chrome und Safari.
Das Backend verwendet WGSL-Compute-Shader sowie die Unterstützung von WebGPU für Compute-Shader, gemeinsam genutzten Speicher, Storage Buffer und Barrieren. Es übersetzt WGSL für verschiedene Plattformen, darunter Metal unter macOS, Vulkan unter Linux und Android sowie D3D12 unter Windows.
Für den Einsatz im Browser wird die C++-Laufzeit mit Emscripten zu WebAssembly kompiliert. Das Modell kann anschließend über ein Content Delivery Network auf einer Webseite bereitgestellt werden. Nutzer müssen dafür weder eine native Anwendung installieren noch eine Verbindung zu einem Backend-Server herstellen.
Lokale Inferenz mit zahlreichen Modellen
ExecuTorch WebGPU unterstützt laut PyTorch eine große Bandbreite an Modelltypen. Beispiele sind Llama 3.2, Qwen3 und Gemma 3 für die Inferenz mit großen Sprachmodellen, SmolVLM für die Beantwortung von Bildfragen und Bildbeschreibungen sowie Whisper für die Umwandlung von Sprache in Text.
Die Validierungsliste umfasst außerdem Vision Depth Anything V2 für die monokulare Tiefenschätzung, SAM 2.1 Hiera Tiny für die segmentierungsfähige Bildsegmentierung, D-FINE für die Objekterkennung, Real-ESRGAN für Super-Resolution und MODNet für die Vordergrundsegmentierung. Phonon-31M-EN unterstützt die Umwandlung von Text in Sprache.
Die Quelle beschreibt außerdem On-Device-LoRA- und DiReFT-Feinabstimmungen für Llama 3.2 1B, Qwen2.5 0.5B und Qwen3 0.6B. Diese Funktionen zielen auf personalisierte Assistenten und die Anpassung an bestimmte Anwendungsbereiche direkt auf dem Gerät.
Vorteile bei Leistung und Datenschutz
PyTorch verglich WebGPU auf demselben Rechner mit dem eigenen WebAssembly-CPU-Backend, das das multithreaded XNNPACK verwendet. Mit quantisierten Versionen von Llama 3.2 1B und Qwen3-0.6B in Google Chrome auf einem Apple M1 Pro war WebGPU beim Prefill 4, 7× schneller und beim Decode 2, 10× schneller, wie das Unternehmen angibt.
Für die Messungen wurde nach 3 Aufwärmläufen der Median aus 5 Durchläufen über Kontextgrößen von 128 bis 8K Tokens ermittelt. Laut PyTorch verwenden die Modelle bei beiden Backends identische Token-IDs, während die beiden Backends unterschiedliche Aktivierungskonfigurationen nutzen.
Die Inferenz im Browser kann die Netzwerklatenz reduzieren und Offline-Anwendungsfälle ermöglichen. Außerdem bleiben Prompts, Fotos, Kamerabilder, Audiodaten und andere Modelldaten auf dem Gerät des Nutzers. Das kann die Kosten für serverseitige Inferenz senken und den Datenschutz verbessern.
Backend befindet sich noch in einer frühen Entwicklungsphase
Mit dem ExecuTorch WebGPU Playground können Nutzer die Lösung ausprobieren. Dort laufen viele der genannten Modelle auf derselben WebAssembly- und WebGPU-Laufzeit. Das Hugging-Face-Repository jedes Modells enthält die zugehörigen .pte-Dateien, eine Model Card und das genaue Exportrezept.
PyTorch zufolge befindet sich das Backend noch in einer frühen Entwicklungsphase. Das Projekt soll schneller und stabiler werden und mehr Operatoren, Datentypen und Modelle unterstützen. ExecuTorch ist Open Source. Das Projekt bittet über seinen Issue-Tracker und die Discord-Community um Beiträge, Fehlerberichte und Feedback.
PyTorch: ExecuTorch WebGPU: PyTorch Models on the GPU, in the Browser


