WebNN 概述

Web Neural Network (WebNN) API 是一种新兴的网页标准,允许 Web 应用和框架使用 GPU、CPU 或专门构建的 AI 加速器(例如 NPU)来加速深度神经网络。 WebNN API 利用 Windows 上的 DirectML API 来访问本机硬件功能并优化神经网络模型的执行。

随着应用中使用 AI/ML 的变得越来越流行,WebNN API 具有以下优势:

  • 性能优化 – 通过利用 DirectML,WebNN 使 Web 应用和框架能够利用每个平台和设备的最佳可用硬件和软件优化,而无需复杂的特定于平台的代码。
  • 低延迟 - 浏览器内的推理使本地媒体源(如实时视频分析、人脸检测和语音识别)能够使用新的用例,而无需将数据发送到远程服务器并等待响应。
  • 隐私保护 - 用户数据保留在设备上并保护用户隐私,因为 Web 应用和框架不需要将敏感信息或个人信息上传到云服务进行处理。
  • 高可用性 - 离线情况下,在初始资产缓存后不依赖网络,因为即使互联网连接不可用或不可靠,Web 应用和框架也可以在本地运行神经网络模型。
  • 低服务器成本 - 在客户端设备上进行计算意味着不需要服务器,这有助于 Web 应用减少在云中运行 AI/ML 服务的运营和维护成本。

WebNN 支持的 AI/ML 包括生成式 AI、人员检测、人脸检测、语义分段、骨架检测、风格迁移、超分辨率、图像描述生成、机器翻译和降噪。

备注

WebNN API 仍在持续开发中,预览状态支持 GPU,即将支持 NPU。 目前不应在生产环境中使用 WebNN API。

框架支持

WebNN 设计为 Web 框架的后端 API。 对于 Windows,建议使用 ONNX Runtime Web。 这为本机使用 DirectML 和 ONNX Runtime 提供了熟悉的体验,因此你可以在 Web 和本机应用程序中以 ONNX 格式部署 AI,从而获得一致的体验。

WebNN 要求

通过导航到 chromium 浏览器地址栏中的 about://version 来检查有关浏览器的信息。

硬件 Web 浏览器 Windows 版本 ONNX Runtime Web 版本 驱动程序版本
GPU WebNN 需要使用 Chromium 浏览器*。 请使用最新版本的 Microsoft Edge Beta。 最低版本:Windows 11,版本 21H2。 最低版本:1.18 安装适用于硬件的最新驱动程序。

将 WebNN 集成到 Web 应用的结构示意图

备注

基于 Chromium 的浏览器目前可以支持 WebNN,但将取决于各个浏览器的实施状态。

模型支持

GPU(预览版):

在 GPU 上运行时,WebNN 当前支持以下模型:

只要有足够的操作符支持,WebNN 也适用于自定义模型。 在此处检查操作员状态。

常见问题解答

如何提交有关 WebNN 的问题?

有关 WebNN 的一般问题,请在 WebNN 开发人员预览版 GitHub 上提出问题

有关 ONNX Runtime Web 或 WebNN 执行提供程序的问题,请转至 ONNXRuntime Github

如何解决 WebNN 的问题?

WebNN W3C 规范提供有关错误传播的信息,通常通过 DOM 例外的形式。 about://gpu 末尾的记录可能也有帮助信息。 对于进一步的问题,请按照上述链接提交问题。

WebNN 是否支持其他操作系统?

目前,WebNN 对 Windows 操作系统的支持最佳。 适合 Mac 操作系统的版本正在进行中。

目前有哪些硬件后端可用? 特定硬件后端是否仅支持某些模型?

WebNN 操作的实施状态 |Web 机器学习中,可找到 WebNN 中有关操作员支持的信息。