WebNN 概述

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

随着 AI/ML 在应用程序中的使用越来越普遍,WebNN API 提供了以下优势:

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

WebNN 支持的 AI/ML 场景包括生成式 AI、人员检测、人脸检测、语义分割、骨骼检测、风格迁移、超分辨率、图像字幕、机器翻译和噪声抑制。

注释

WebNN API 仍在开发中,GPU 和 NPU 支持处于预览状态。 WebNN API 当前不应在生产环境中使用。

框架支持

WebNN 被设计为 Web 框架的后端 API。 对于 Windows,我们建议使用 ONNX Runtime Web。 这为原生使用 DirectML 和 ONNX 运行时提供了熟悉的体验,因此您可以在 Web 和原生应用程序中以 ONNX 格式部署 AI 时获得一致的体验。

WebNN 要求

您可以通过导航到 Chromium 浏览器地址栏中的 about://version 来查看有关浏览器的信息。

硬件 Web 浏览器 Windows 版本 ONNX 运行时 Web 版本 驱动程序版本
图形处理器 WebNN 需要 Chromium 浏览器*。 请使用最新版本的 Microsoft Edge Beta。 最低版本:Windows 11 版本 21H2。 最低版本:1.18 为您的硬件安装最新的驱动程序。
NPU WebNN 需要 Chromium 浏览器*。 请使用最新版本的 Microsoft Edge Canary。 有关如何禁用 GPU 阻止列表,请参阅下面的注释。 最低版本:Windows 11 版本 21H2。 最低版本:1.18 Intel 驱动程序版本:32.0.100.2381。 有关如何更新驱动程序的步骤,请参阅常见问题解答。

将 WebNN 集成到 Web 应用程序背后的结构图

注释

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

注释

对于 NPU 支持,请使用以下标志从命令行启动 Edge: msedge.exe --disable_webnn_for_npu=0

模型支持

GPU (预览版):

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

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

NPU (预览版):

在采用 Intel® AI Boost NPU 的® Intel Core™ Ultra 处理器上,WebNN 支持:

常见问题

如何向 WebNN 提交问题?

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

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

如何调试 WebNN 的问题?

WebNN W3C 规范包含有关错误传播的信息,通常通过 DOM 异常。 about://gpu 末尾的日志也可能包含有用的信息。 有关更多问题,请按照上述链接提交问题。

WebNN 是否支持其他作系统?

目前,WebNN 最支持 Windows作系统。 其他作系统的版本正在开发中。

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

您可以在 WebNN作的实现状态 |Web 机器学习

更新 Intel 驱动程序以获得 NPU 支持(预览版)的步骤是什么?

  1. Intel 的驱动程序网站找到更新的驱动程序。
  2. 解压缩 ZIP 文件。
  3. 按 Win+R 打开 Run 对话框。
  4. 在文本字段中键入 devmgmt.msc。
  5. 按 Enter 键或单击 OK(确定)。
  6. 在设备管理器中,打开“Neural processors”节点
  7. 右键单击要更新的驱动程序的 NPU。
  8. 从上下文菜单中选择 “Update Driver”
  9. 选择“浏览我的计算机以查找驱动程序”
  10. 选择“让我从计算机上的可用驱动程序列表中选择”
  11. 按下 “Have disk” 按钮
  12. 按下 “Browse” 按钮
  13. 导航到解压缩上述 zip 文件的位置。
  14. 按 OK。