ExecuTorch 新增 WebGPU 后端,PyTorch 模型可在浏览器 GPU 上直接运行
ExecuTorch 发布 WebGPU 后端,PyTorch 模型经 torch.export 导出为 .pte 文件后,可在支持 WebGPU 的浏览器中直接进行 GPU 推理,无需转成 GGUF、ONNX 或 TFLite 等格式。
PyTorch:Blog· Julian Ng-Thow-Hing, Siddartha Pothapragada, Stephen Jia, Digant Desai, Bilgin Cagatay·2026-11-11 06:15· 2 小时前AI 评分64
ExecuTorch WebGPU:在浏览器中于 GPU 上运行 PyTorch 模型
AI 导读
ExecuTorch 发布 WebGPU 后端,PyTorch 模型通过 torch.export 导出为 .pte 文件后即可在支持 WebGPU 的浏览器中经 GPU 推理,无需转成 GGUF、ONNX 或 TFLite 等其他框架格式。
正文 · 原文
TL;DR
- PyTorch 模型现在可通过 ExecuTorch 在浏览器中于 GPU 上运行,无需转换为其他框架的格式。使用 torch.export 导出为 ExecuTorch .pte 文件,同一个文件即可通过 ExecuTorch 全新的 WebGPU 后端在任何 WebGPU 后端浏览器中运行。
- 它适用于广泛的模型类型:LLM(如 Llama 3.2、Qwen3、Gemma 3)、视觉语言模型(如 SmolVLM)、分割、深度、目标检测、超分辨率和语音转文本(如 Whisper)。一切都在标签页内本地运行,数据不会离开设备。可在 ExecuTorch WebGPU Playground 中试用。
- 在同一台机器上,WebGPU 在预填充阶段比 ExecuTorch 的 CPU 路径(Webassembly + XNNPACK)快 4–7 倍,在解码阶段快 2–10 倍。
为什么选择浏览器?
Web 是最大的部署平台,Chrome、Firefox 和 Safari 上拥有数十亿用户。浏览器推理通过将用户的提示词、模型输入和输出保留在用户设备而非服务器上来确保隐私。这降低了网络延迟,支持离线用例,并降低了服务器端推理成本。借助 ExecuTorch WebGPU 后端,PyTorch 模型获得了一条原生路径,可在桌面、笔记本电脑和移动端支持 WebGPU 的浏览器中实现 GPU 加速推理。
WebGPU 是 WebGL 的现代继任者,提供原生计算着色器、共享内存、存储缓冲区和屏障,使其能够直接在浏览器中进行高性能 ML 推理。如今,在浏览器中运行 PyTorch 模型通常意味着先将其转换为其他框架的格式,例如 GGUF、ONNX 或 TFLite。ExecuTorch WebGPU 后端让 PyTorch 模型无需离开 PyTorch 工具链即可进入浏览器。
后端设计

[图 1:ExecuTorch WebGPU 后端设计:PyTorch 模型一次性导出为 .pte 文件,并通过 ExecuTorch Wasm 运行时在任何 WebGPU 浏览器中运行]
WebGPU 后端的设计遵循三项原则:
- 架构、导出和动态运行时。模型通过 ExecuTorch 的
torch.export()和 WebGPUPartitioner 导出,并通过 WGSL 计算着色器运行。在运行时,WebGPU 运行时分配 GPU 缓冲区,并将计算着色器分派到命令缓冲区。动态形状通过按最大值分配缓冲区并在每次分派时重新计算工作组来处理,从而支持批量预填充,运行时还会在运行时将形状路由到专用的 WGSL 内核。
- 同一产物跨多设备和浏览器。一个模型(.pte 文件)可在 Chrome 和 Safari 等 WebGPU 浏览器中运行,也可原生运行于 Metal(macOS)、Vulkan(Linux/Android)和 D3D12(Windows),并根据平台将 WGSL 转译为 Metal Shading Language、SPIR-V 或 HLSL。对于浏览器部署,动态 C++ 运行时通过 Emscripten 编译为 WebAssembly,并由
emdawnwebgpu将其 WebGPU API 调用桥接到任意浏览器的 WebGPU JavaScript API。
- 对终端用户零摩擦。借助 WebGPU,模型在浏览器沙箱中运行,无需原生安装、无需后端服务器,数据也不会离开设备。对开发者而言,部署就是一个通过 CDN 在网页上提供的 .pte 文件。流水线编译、内存管理和调度分发全部由 WebGPU 后端处理,所有数据都保留在浏览器标签页内的 GPU 设备内存中。
性能
我们在同一台机器上,使用量化后的 Llama 3.2 1B 和 Qwen3-0.6B,在 Apple M1 Pro 上的 Google Chrome 中,将 ExecuTorch WebGPU 与 ExecuTorch 自带的 WebAssembly(wasm)CPU 后端(XNNPACK,多线程)进行了基准测试。每个数据点均为 3 次预热后 5 次运行的中位数,覆盖 128 到 8K token 的上下文,两个后端使用相同的 token ID。由于 CPU 执行无法获取 GPU 时间戳,两者均以墙钟时间计时。WebGPU 使用 4 位分组权重(组大小 64)和 fp32 激活;CPU 使用 XNNPACK 的 4 位权重和 8 位动态激活。

[图 2:在 Apple M1 Pro 上的 Chrome 中测得,ExecuTorch WebGPU 在 prefill 阶段比 ExecuTorch Wasm(XNNPACK)快 4–7 倍,在 decode 阶段快 2–10 倍]
实践中的模型
我们已在架构差异很大的模型上验证了 WebGPU 后端,证明算子覆盖范围可泛化到自回归文本生成之外:
LLM 推理
视觉-语言理解
- SmolVLM:图像问答与图像描述
视觉
- Depth Anything V2:单目深度估计
- SAM 2(SAM 2.1 Hiera Tiny):可提示图像分割
- D-FINE:目标检测
- Real-ESRGAN:超分辨率
- 背景移除(MODNet):前景分割
语音
- Whisper(base):语音转文本
- Phonon-31M-EN:文本转语音
端侧训练
- LoRA 和 DiReFT 微调,适用于 Llama 3.2 1B、Qwen2.5 0.5B 和 Qwen3 0.6B,面向端侧个性化助手和领域适配

[图 3:ExecuTorch WebGPU 演示]
立即体验:ExecuTorch WebGPU Playground
ExecuTorch WebGPU Playground 可在同一套 WebAssembly + WebGPU 运行时上运行上述许多模型。所有提示词、照片、摄像头画面和音频都不会离开你的设备。每个模型的 Hugging Face 仓库都包含 .pte 文件、模型卡以及精确的导出配方。
下一步计划
该后端仍处于早期开发阶段。我们将持续提升后端的性能和稳定性,并扩大算子、数据类型和模型的覆盖范围。
贡献 / 反馈
ExecuTorch 是开源的,我们非常欢迎你为 WebGPU 后端做出贡献。如果出现问题,或你关心的模型尚未得到支持,请提交 issue,或在 ExecuTorch Discord 上联系我们。我们也欢迎各种贡献,无论是新增算子、新增模型还是性能改进。
了解更多,请访问 ExecuTorch 文档 | ExecuTorch 仓库 | WebGPU 后端
文章 ExecuTorch WebGPU:在浏览器中于 GPU 上运行 PyTorch 模型 首次发表于 PyTorch。
来源:PyTorch:Blog · pytorch.org
来源:RadarAI · aihot.news