Обзор 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. Ознакомьтесь с часто задаваемыми вопросами о том, как обновить драйвер. |
Заметка
Браузеры на основе Chromium в настоящее время могут поддерживать WebNN, но будут зависеть от состояния реализации отдельного браузера.
Заметка
Для поддержки NPU запустите edge из командной строки со следующим флагом: msedge.exe --disable_webnn_for_npu=0
Поддержка модели
GPU (предварительная версия):
При запуске на gpu, WebNN в настоящее время поддерживает следующие модели:
- стабильный диффузный turbo
- стабильное распространение 1,5
- Whisper-base
- MobileNetv2
- сегмент ничего
- ResNet
- EfficientNet
- SqueezeNet
WebNN также работает с пользовательскими моделями до тех пор, пока поддержка операторов достаточна. Проверьте статус операторов здесь .
NPU (предварительная версия)
На процессорах Intel® Core™ Ultra с NPU Intel® AI Boost webNN поддерживает:
- Whisper-base
- MobileNetV2
- ResNet
- EfficientNet
Вопросы и ответы
Как подать запрос о проблеме с 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 (предварительная версия)?
- Найдите обновленный драйвер из веб-сайта драйвера Intel .
- Распакуйте ZIP-файл.
- Нажмите клавиши Win+R, чтобы открыть диалоговое окно "Запуск".
- Введите devmgmt.msc в текстовое поле.
- Нажмите клавишу ВВОД или кнопку "ОК".
- В диспетчере устройств откройте узел "Нейронные процессоры"
- Щелкните правой кнопкой мыши на NPU, драйвер которого вы хотите обновить.
- Выберите "Обновить драйвер" в контекстном меню
- Выберите "Поиск драйверов на этом компьютере"
- Выберите "Позвольте мне выбрать из списка доступных драйверов на моем компьютере"
- Нажмите кнопку "Иметь диск"
- Нажмите кнопку "Обзор"
- Перейдите к месту, где вы распаковали указанный выше ZIP-файл.
- Нажмите кнопку ОК.