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 | 安装适用于硬件的最新驱动程序。 |
注意
基于 Chromium 的浏览器目前可以支持 WebNN,但将取决于各个浏览器的实施状态。
模型支持
GPU(预览版):
在 GPU 上运行时,WebNN 当前支持以下模型:
- Stable Diffusion Turbo
- Stable Diffusion 1.5
- Whisper-base
- MobileNetv2
- Segment Anything
- ResNet
- EfficientNet
- SqueezeNet
只要有足够的操作符支持,WebNN 也适用于自定义模型。 在此处检查操作员状态。
常见问题解答
如何提交有关 WebNN 的问题?
有关 WebNN 的一般问题,请在 WebNN 开发人员预览版 GitHub 上提出问题
有关 ONNX Runtime Web 或 WebNN 执行提供程序的问题,请转至 ONNXRuntime Github。
如何解决 WebNN 的问题?
WebNN W3C 规范提供有关错误传播的信息,通常通过 DOM 例外的形式。 about://gpu 末尾的记录可能也有帮助信息。 对于进一步的问题,请按照上述链接提交问题。
WebNN 是否支持其他操作系统?
目前,WebNN 对 Windows 操作系统的支持最佳。 适合 Mac 操作系统的版本正在进行中。
目前有哪些硬件后端可用? 特定硬件后端是否仅支持某些模型?
在 WebNN 操作的实施状态 |Web 机器学习中,可找到 WebNN 中有关操作员支持的信息。