WebNN API 简介
了解 WebNN API、它的工作原理以及使用方法。
WebNN API 是一项新的 Web 标准,允许 Web 应用和框架借助 GPU、CPU 或专用 AI 加速器等设备端硬件来加速深度神经网络。
WebNN 采用基于图的计算,最适合 NPU 加速,同时也支持 GPU 和 CPU。
WebNN 是目前唯一能够访问 NPU 的 Web API。
架构
主要特性
WebNN(Web Neural Network)API 可直接在 Web 浏览器中实现高效的机器学习推理。
基于浏览器的开箱即用推理
WebNN API 在浏览器中原生运行,无需额外的开发环境或依赖项(例如安装 Python)。神经网络计算在浏览器本地执行,从而实现:
- 即时获得推理结果,没有网络延迟
- 对视频、音频和传感器数据进行实时处理
- 响应迅速的 AI 功能,例如人脸检测和 AR 滤镜
硬件优化的性能
WebNN 会自动利用可用的硬件加速(CPU、GPU 或专用 NPU 处理器)来执行神经网络运算。这种优化在不同设备和操作系统上透明地进行,无需编写针对特定硬件的代码,即可最大化推理速度。
- 多硬件加速支持 - WebNN 采用基于图的计算,最适合 NPU 加速,同时也支持 GPU 和 CPU。
- 独有的 NPU 访问能力 - 目前 WebNN 是唯一提供 NPU 硬件加速访问的 Web API
客户端数据处理
所有数据处理都在用户的设备上进行,从而确保:
- 个人信息保留在本地
- 不会将敏感数据传输到外部服务器
- 符合隐私要求
离线能力
在初次加载模型并缓存必要的资源之后,应用在离线时仍可保持完整的机器学习功能。这使得无论网络状况如何,都能获得一致的性能。
资源效率
客户端处理无需服务器端机器学习基础设施,从而降低:
- 云计算成本
- 服务器维护开销
- 运维复杂度
开发者易用性
该 API 为实现机器学习功能提供了标准化接口,并屏蔽了:
- 复杂的平台差异
- 针对特定硬件的优化
后续步骤
- 在受支持的浏览器中安装并启用 WebNN,并安装 GPU 和 NPU 驱动程序以获得最佳性能。
- 在快速入门中构建并运行你的第一个图。
- 在 Framework vs Vanilla 中选择使用 WebNN 的方式:使用 Transformers.js、ONNX Runtime Web 或 LiteRT.js 运行模型,或使用 Vanilla JavaScript 生成精简的 WebNN 代码。
- 在 WebNN API 参考中查阅所有接口和操作。
- 如果遇到问题,请参阅故障排除。
Last updated on