Hugging Face 发布 @huggingface/kernels:207 个 WebGPU 内核供浏览器本地推理
Hugging Face 于 2026 年 9 月 1 日发布 @huggingface/kernels 加载库与 207 个 Apache-2.0 许可的 WebGPU 内核,并提供浏览器端基准测试工具 Fleet。官方在 Apple M4 上与 ORT WebGPU 对比,可比较用例中几何平均快 2.57 倍,但该结果仅覆盖单算子、单设备。
发布内容
Hugging Face 于 2026 年 9 月 1 日发布 @huggingface/kernels,一个用于从 Hub 加载并运行 WebGPU 内核的轻量 JavaScript 库,同时上线 207 个内核(托管在 webgpu-kernels 组织下,Apache-2.0 许可)。每个内核是独立仓库,包含:
manifest.json:算子契约,定义输入输出、属性、类型约束与形状推导规则metadata.json:内核标识、摘要与来源信息test.json:正确性用例bench.json:基准与调优用例*.wgsl.jinja:参数化 WGSL 着色器模板
安装命令为 npm install @huggingface/kernels@preview,运行需浏览器支持 WebGPU,可用 "gpu" in navigator 检测。调用方式是以仓库 ID 和契约版本调用 getKernel,再传入带 data 与 shape 的张量。version 选项指内核契约版本,与 ONNX opset 或模型 revision 无关。
背景与设计思路
浏览器推理最终是一串 GPU 算子。WebGPU 提供可移植 API、WGSL 提供统一着色器语言,但可移植不等于高性能:工作组大小、内存访问模式、向量化、数据类型与融合策略都会影响表现,最优选择还随输入形状、设备、浏览器而变。因此把算子做成可独立发现、测试、基准化、版本化的单元,是上层运行时效率的基础。
官方基准结果
官方在 Apple M4 GPU 上、使用 ONNX Runtime Web 1.30.0-dev.20260826-b1f76d586a 做对比,从 207 个算子的 1,756 个测试用例中保留双方输出一致且计时可靠的 809 个。结果为几何平均快 2.57 倍、中位数快 1.90 倍,629 胜、176 负、4 平。部分算子对比如下:
| 算子 | 对比用例 | 本内核 | ORT WebGPU | 加速 | |---|---|---|---|---| | Add | 5 | 0.064 ms | 0.227 ms | 3.52x | | MatMul | 29 | 0.115 ms | 0.131 ms | 1.14x | | Softmax | 12 | 0.114 ms | 0.240 ms | 2.11x | | LayerNormalization | 6 | 0.061 ms | 0.135 ms | 2.22x |
个别用例差距更大:某双线性 Einsum 用例 0.136 ms 对 1,396 ms;[256, 4096] 的行向 CumSum 为 0.016 ms 对 4.784 ms。官方说明这些是特殊用例,不代表普遍收益。计时只覆盖 GPU 上执行的部分,不含内核加载、会话创建、输入上传、着色器编译与回读;结果针对单算子而非完整模型,实际表现随 GPU 与浏览器变化,应用应以自身场景实测为准。
Fleet 与后续
Fleet 是浏览器内 GPU 基准与测试套件,用户可查看内核在本机硬件上的结果;经同意后每次运行会贡献私下证据,用于发现设备相关失败、比较变体并改进选择规则。官方还与 ONNX Runtime 团队合作,计划将这些改进上游化。
值得注意的是,809 个可比较用例之外还有 947 个用例未产生可靠输出,博客未说明其具体原因,评论区有读者指出需要按算子与设备对这些用例分类。
来源与核对说明
- Hugging Face 官方博客 ↗https://huggingface.co/blog/webgpu-kernels
本文经 AI 整理及独立自动校对,未做运行验证;自动校对仍可能遗漏问题,请以原始资料为准。
这篇内容对你有帮助吗?
点赞人数由服务器记录,收藏保存在当前浏览器。
继续阅读
NVIDIA Cosmos-H-Dreams:手术机器人的实时生成式仿真器 →
用 Strands Agents、LeRobot 与 Hugging Face Storage Buckets 打通机器人数据闭环 →