Hugging Face WebAI团队发布@huggingface/kernels,配套上线包含207个WebGPU内核的初始算子库,Apache-2.0协议开源,目标夯实浏览器端本地AI推理的底层加速能力。整套方案可以直接从Hugging Face Hub拉取、运行优化后的WebGPU内核。
- 地址:https://www.npmjs.com/package/@huggingface/kernels
- Hugging Face:https://huggingface.co/webgpu-kernels
模型在浏览器执行,本质是大量GPU算子运算,包括矩阵乘法、归一化、卷积、注意力、量化等。WebGPU提供跨浏览器的可移植API,WGSL作为着色器语言;但可移植不等于高性能,同样算子在不同硬件、浏览器、驱动上性能差距巨大。

因此Hugging Face把算子内核拆成独立版本化包,每个内核附带接口、WGSL着色器模板、正确性测试、基准案例,托管在Hub,上层推理运行时可以独立调用、迭代优化,保持API契约稳定。
项目两大核心组成
- @huggingface/kernels JS加载器
npm包,可直接从Hub下载并实例化内核。每个内核拥有独立仓库与内核卡片,包含manifest契约定义、元信息、测试集、基准配置、参数化WGSL模板。开发者只需指定仓库ID和版本,传入张量数据与形状,即可执行运算,框架自动推导输出形状、分配内存。
算子提供多套实现变体,例如加法算子区分等形状、广播、标量分支,运行时自动匹配当前硬件与输入,上层业务代码无需改动。
- Fleet 浏览器基准测试套件
在本地浏览器完成内核正确性校验与性能跑分。用户授权后,测试结果会匿名回传,收集海量不同GPU、浏览器的真实设备数据,弥补传统实验室硬件覆盖不足的短板,方便团队定位设备专属bug、调优内核选择策略。
性能实测
在Apple M4 GPU上,和ONNX Runtime WebGPU对比,有效809组测试案例:
- 几何平均提速 2.57倍,中位数提速1.90倍
- Add算子 3.52x、Softmax 2.11x、LayerNorm 2.22x
- 极端案例:Einsum算子最高超过10000倍加速,CumSum算子最高301倍加速
说明:该数据为单算子性能,不是完整模型推理;仅统计GPU运算耗时,不含着色器编译、数据传输开销,不同硬件结果存在差异。Hugging Face正在和ONNX Runtime团队合作,将这些优化合并进上游,惠及整个ONNX Web生态。
代码最简示例
npm install @huggingface/kernels@preview
import { getKernel } from "@huggingface/kernels";
const add = await getKernel("webgpu-kernels/ai.onnx.Add", { version: 1 });
const { c } = await add({
a: { data: new Float32Array([1, 2, 3, 4, 5, 6]), shape: [2, 3] },
b: { data: new Float32Array([10, 20, 30]), shape: [3] },
});
要点总结
- 产品:
@huggingface/kernels+ 207个WebGPU内核,Apache2.0许可,托管于HF Hub; - 架构:每个内核独立版本化,自带契约、测试、基准、WGSL着色器,可复用、可独立迭代;
- 配套工具:Fleet,浏览器内众包基准,收集跨硬件性能与正确性数据;
- 性能:对比ORT WebGPU,算子平均显著提速,部分病态场景有上万倍提升;
- 生态规划:向上游ONNX Runtime贡献优化,作为WebAI浏览器推理底层基础,持续扩充算子覆盖。















