Поделиться через


Обзор WebNN

API веб-нейронной сети (WebNN) — это новый веб-стандарт, позволяющий веб-приложениям и фреймворкам ускорять глубокие нейронные сети с помощью GPU, ЦПУ или специально созданных акселераторов ИИ, таких как нейронные процессоры (NPUs). API WebNN использует API DirectML в Windows для доступа к собственным возможностям оборудования и оптимизации выполнения моделей нейронной сети.

Поскольку использование искусственного интеллекта и машинного обучения в приложениях становится более популярным, API WebNN предоставляет следующие преимущества:

  • Оптимизация производительности . Используя DirectML, WebNN позволяет веб-приложениям и платформам использовать лучшие возможности оптимизации оборудования и программного обеспечения для каждой платформы и устройства, не требуя сложного и конкретного кода платформы.
  • Низкая задержка . Вывод в браузере помогает включить новые варианты использования с локальными источниками мультимедиа, такими как анализ видео в режиме реального времени, обнаружение лиц и распознавание речи, без необходимости отправлять данные на удаленные серверы и ждать ответов.
  • Сохранение конфиденциальности — данные пользователей остаются на устройстве и сохраняют конфиденциальность пользователей, так как веб-приложения и платформы не должны передавать конфиденциальные или персональные данные в облачные службы для обработки.
  • Высокий уровень доступности — отсутствие зависимости от сети после первоначального кэширования ресурсов в автономном режиме, так как веб-приложения и платформы могут локально запускать модели нейронной сети, даже если подключение к Интернету недоступно или ненадежно.
  • Низкие затраты на сервер — вычисления происходят на клиентских устройствах, поэтому серверы не нужны, что помогает веб-приложениям снизить затраты на эксплуатацию и обслуживание служб искусственного интеллекта и машинного обучения в облаке.

Сценарии ИИ/ML, поддерживаемые WebNN, включают генерацию ИИ, обнаружение людей, обнаружение лиц, семантическую сегментацию, обнаружение скелетов, перенос стилей, суперразрешение, описание изображения, машинный перевод и подавление шума.

Заметка

API WebNN по-прежнему разрабатывается с поддержкой GPU и NPU в стадии предварительной версии. В настоящее время API WebNN не следует использовать в рабочей среде.

Поддержка платформы

WebNN разработан в качестве серверного API для веб-платформ. Для Windows рекомендуется использовать веб-сайт среды выполнения ONNX. Это обеспечивает знакомый опыт использования DirectML и ONNX Runtime на нативной платформе, чтобы гарантировать единообразное развертывание ИИ в формате ONNX как в веб-приложениях, так и в нативных приложениях.

Требования к WebNN

Вы можете проверить сведения о браузере, перейдя к about://version в адресной строке браузера chromium.

Аппаратное обеспечение Веб-браузеры Версия Windows Веб-версия среды выполнения ONNX Версия драйвера
Графический процессор Для WebNN требуется браузер Chromium*. Используйте последнюю версию бета-версии Microsoft Edge. Минимальная версия: Windows 11 версии 21H2. Минимальная версия: 1.18 Установите последний драйвер для оборудования.
НПУ Для WebNN требуется браузер Chromium*. Используйте последнюю версию Microsoft Edge Canary. См. примечание ниже по отключению списка блокировок GPU. Минимальная версия: Windows 11 версии 21H2. Минимальная версия: 1.18 Версия драйвера Intel: 32.0.100.2381. Ознакомьтесь с часто задаваемыми вопросами о том, как обновить драйвер.

Схема структуры, лежащей в основе интеграции WebNN в веб-приложение

Заметка

Браузеры на основе Chromium в настоящее время могут поддерживать WebNN, но будут зависеть от состояния реализации отдельного браузера.

Заметка

Для поддержки NPU запустите edge из командной строки со следующим флагом: msedge.exe --disable_webnn_for_npu=0

Поддержка модели

GPU (предварительная версия):

При запуске на gpu, WebNN в настоящее время поддерживает следующие модели:

WebNN также работает с пользовательскими моделями до тех пор, пока поддержка операторов достаточна. Проверьте статус операторов здесь .

NPU (предварительная версия)

На процессорах Intel® Core™ Ultra с NPU Intel® AI Boost webNN поддерживает:

Вопросы и ответы

Как сообщить о проблеме с WebNN?

Для общих проблем с WebNN заведите запрос в репозитории WebNN Developer Preview GitHub

Для проблем с веб-средой выполнения ONNX или поставщиком выполнения WebNN перейдите на сайт ONNXRuntime Github.

Как выполнить отладку проблем с WebNN?

Спецификация WebNN W3C содержит сведения о распространении ошибок, как правило, с помощью исключений DOM. Журнал в конце about://gpu также может содержать полезные сведения. Для дальнейших проблем отправьте файл проблемы, как описано выше.

Поддерживает ли WebNN другие операционные системы?

В настоящее время WebNN лучше всего поддерживает операционную систему Windows. Ведётся работа над версиями для других операционных систем.

Какие аппаратные внутренние компоненты сейчас доступны? Поддерживаются ли некоторые модели только с определенными аппаратными внутренними устройствами?

Сведения о поддержке операторов в WebNN см. в разделе "Состояние реализации операций WebNN" | Веб-машинное обучение.

Какие шаги по обновлению драйвера Intel для поддержки NPU (предварительная версия)?

  1. Найдите обновленный драйвер из веб-сайта драйвера Intel .
  2. Распакуйте ZIP-файл.
  3. Нажмите клавиши Win+R, чтобы открыть диалоговое окно "Запуск".
  4. Введите devmgmt.msc в текстовое поле.
  5. Нажмите клавишу ВВОД или кнопку "ОК".
  6. В диспетчере устройств откройте узел "Нейронные процессоры"
  7. Щелкните правой кнопкой мыши на NPU, драйвер которого вы хотите обновить.
  8. Выберите "Обновить драйвер" в контекстном меню
  9. Выберите "Поиск драйверов на этом компьютере"
  10. Выберите "Позвольте мне выбрать из списка доступных драйверов на моем компьютере"
  11. Нажмите кнопку "Иметь диск"
  12. Нажмите кнопку "Обзор"
  13. Перейдите к месту, где вы распаковали указанный выше ZIP-файл.
  14. Нажмите кнопку ОК.