Hugging Face 开源 207 个 WebGPU 算子,面向浏览器端本地 AI
新库 @huggingface/kernels 可从 Hugging Face Hub 加载带版本的 WebGPU 算子,同时推出浏览器内 GPU 基准测试套件 Fleet。
Hugging Face 的 WebAI 团队发布了浏览器推理技术栈的第一层:@huggingface/kernels,一个用于从 Hugging Face Hub 加载并运行优化后 WebGPU 算子(kernel)的极简库。同时上线的首批算子集合共 207 个,托管在 huggingface.co/webgpu-kernels。
该集合覆盖多种机器学习架构中用到的运算:矩阵乘法、归一化、卷积、注意力(Attention)原语、量化运算以及数据布局变换等。每个算子都以完整且带版本号的包形式发布,接口、着色器模板、正确性测试用例、基准测试用例和使用说明都放在同一个仓库中。
算子卡片与稳定契约
每个算子都有独立仓库和算子卡片,记录运算语义、输入输出、属性、支持的数据类型、源文件以及一个可直接运行的示例。官方示例 ai.onnx.Add 实现带多向广播(broadcasting)的逐元素加法,已发布的版本包含面向等形状、向量化广播、标量处理和通用广播的多个变体,运行时可以在不改变面向应用的 API 的前提下,选择适配当前调用和设备的实现。
调用方式是向 getKernel 传入 Hub 仓库 ID 和契约版本,再用带类型的输入数据与张量形状调用返回的函数。加载器会根据 manifest 契约和输入推导输出形状与逻辑数据类型,并自动分配输出。version: 1 指的是已发布的算子契约版本,与 ONNX opset、算子的 since_version 或模型 revision 相互独立。
Fleet 与 ORT 对比测试
Hugging Face 还推出了 Fleet,这是一套在浏览器内运行的 GPU 基准测试与测试工具,会在用户自己的硬件上运行算子并打分。在用户同意的情况下,每次运行都会提供数据,帮助发现结果错误或异常缓慢的情况,覆盖常规测试实验室无法触及的真实设备。
对比方面,团队在 Apple M4 GPU 上使用 ONNX Runtime Web 1.30.0-dev.20260826-b1f76d586a,将该集合与 ORT WebGPU 做了对照。测试从覆盖全部 207 个运算的 1756 个用例开始,最终保留了双方输出一致且计时可靠的 809 个用例。
运行这些算子需要支持 WebGPU 的浏览器,可在 JavaScript 中用 "gpu" in navigator 检测。完整细节见 Hugging Face 的公告。