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


Обзор 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 Версия драйвера
GPU Для WebNN требуется браузер Chromium*. Используйте последнюю версию бета-версии Microsoft Edge. Минимальная версия: Windows 11 версии 21H2. Минимальная версия: 1.18 Установите последний драйвер для оборудования.
NPU Для 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 Runtime Web или с поставщиком выполнения WebNN перейдите на ONNXRuntime Github.

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

Спецификация W3C WebNN содержит сведения о распространении ошибок, как правило, с помощью исключений 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. Нажмите кнопку ОК.