WebNN の概要
Web Neural Network API (WebNN) API は、WEB アプリとフレームワークが GPU、CPU、または NPU などの専用の AI アクセラレータを使用してディープ ニューラル ネットワークを高速化できるようにする新しい Web 標準です。 WebNN API は、Windows 上の DirectML API を活用してネイティブ ハードウェア機能にアクセスし、ニューラル ネットワーク モデルの実行を最適化します。
アプリでの AI/ML の使用がますます一般的になっている今日、WebNN API は次のようなメリットをもたらします。
- パフォーマンスの最適化 – DirectML を利用することで、WebNN は、Web アプリとフレームワークが、複雑なプラットフォーム固有のコードを必要とせずに、プラットフォームおよびデバイスごとに最適なハードウェアとソフトウェアの最適化を利用できるようにします。
- 低遅延 - ブラウザー内推論により、リモート サーバーにデータを送信して応答を待つ必要なく、リアルタイムのビデオ分析、顔検出、音声認識などのローカル メディア ソースを使用する新しいユース ケースが実現します。
- プライバシーの維持 - Web アプリやフレームワークでは処理のために機密情報や個人情報をクラウド サービスにアップロードする必要がなく、ユーザー データはデバイス上に残り、ユーザーのプライバシーが維持されます。
- 高可用性 - インターネット接続が利用できない場合や信頼性が低い場合でも、Web アプリとフレームワークでニューラル ネットワーク モデルをローカルで実行できるため、オフライン時の初期アセット キャッシュ後にネットワークに依存しません。
- 低いサーバー コスト - クライアント デバイスでのコンピューティングではサーバーが不要になるため、Web アプリによって、クラウドで AI/ML サービスを実行する場合の運用コストとメンテナンス コストを削減できます。
WebNN でサポートされる AI/ML には、生成 AI、人物検出、顔検出、セマンティック セグメント化、スケルトン検出、スタイル転送、スーパー解像度、画像キャプション、機械翻訳、ノイズ抑制が含まれます。
Note
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 | お使いのハードウェアで使用できる最新のドライバーをインストールします。 |
Note
Chromium ベースのブラウザーは現在、WebNN をサポートできますが、個々のブラウザーの実装状態によって異なります。
モデルのサポート
GPU (プレビュー):
GPU で実行する場合、WebNN が現在サポートしているモデルは次のとおりです。
- Stable Diffusion Turbo
- Stable Diffusion 1.5
- Whisper ベース
- MobileNetv2
- Segment Anything
- ResNet
- EfficientNet
- SqueezeNet
WebNN は、オペレーターのサポートが十分であれば、カスタム モデルでも機能します。 オペレーターの状態はこちらでご確認ください。
よく寄せられる質問
WebNN に関する問題を提出するには、どうすればいいですか?
WebNN に関する一般的な問題については、WebNN Developer Preview GitHub で問題を提出してください。
ONNX Runtime Web または WebNN Execution Provider に関する問題については、ONNXRuntime Github にアクセスしてください。
WebNN に関する問題をデバッグするには、どうすればいいですか?
WebNN W3C 仕様にはエラー伝達に関する情報が記載されており、通常は DOM 例外を使用します。 about://gpu の末尾のログにも役立つ情報が含まれている場合があります。 その他の問題については、上記のリンク先に示すとおりに問題を提出してください。
WebNN は他のオペレーティング システムをサポートしていますか?
WebNN は現在、Windows オペレーティング システムを最適にサポートしています。 Mac オペレーティング システムのバージョンについてもサポートできるよう現在取り組んでいます。
現在使用できるハードウェア バックエンドは何ですか? 一部のモデルは、特定のハードウェア バックエンドでのみサポートされていますか?
WebNN のオペレーター サポートに関する情報は、Implementation Status of WebNN Operations | Web Machine Learning でご確認いただけます。