Vue d’ensemble de WebNN
L’API de réseau neuronal web (WebNN) est une norme web émergente qui permet aux applications web et aux frameworks d’accélérer des réseaux neuronaux profonds avec des processeurs GPU, CPU ou des accélérateurs d’IA spécialement conçus tels que des processeurs NPU. L’API WebNN tire profit de l’API DirectML sur Windows pour accéder aux fonctionnalités matérielles natives et optimiser l’exécution des modèles de réseau neuronal.
À mesure que l’utilisation de l’IA/ML dans les applications devient plus populaire, l’API WebNN offre les avantages suivants :
- Optimisations des performances : en utilisant DirectML, WebNN permet aux applications web et aux frameworks de tirer parti des meilleures optimisations matérielles et logicielles disponibles pour chaque plateforme et appareil, sans nécessiter de code complexe et spécifique à la plateforme.
- Faible latence : l’inférence dans le navigateur permet de nouveaux cas d’utilisation avec des sources multimédias locales, telles que l’analyse vidéo en temps réel, la détection des visages et la reconnaissance vocale, sans avoir à envoyer des données à des serveurs distants et à attendre les réponses.
- Préservation de la confidentialité : les données utilisateur restent sur l’appareil et conservent la confidentialité des utilisateurs, car les applications web et les frameworks n’ont pas besoin de charger des informations sensibles ou personnelles dans des services cloud à des fins de traitement.
- Haute disponibilité : aucune dépendance sur le réseau après la mise en cache initiale des ressources pour les cas hors connexion, car les applications web et les frameworks peuvent exécuter localement des modèles de réseau neuronal même si la connexion Internet n’est pas disponible ou non fiable.
- Faible coût de serveur : le calcul sur les appareils clients signifie qu’aucun serveur n’est nécessaire, ce qui aide les applications web à réduire les coûts d’exploitation et de maintenance liés à l’exécution de services d’IA/ML dans le cloud.
L’IA/ML prise en charge par WebNN inclut l’IA générative, la détection des personnes, la détection des visages, la segmentation sémantique, la détection du squelette, le transfert de style, la super résolution, le légendage d’images, la traduction automatique et la suppression du bruit.
Remarque
L’API WebNN est toujours en développement, avec la prise en charge du GPU dans un état de préversion et la prise en charge du NPU prochainement. L’API WebNN ne doit pas être utilisée dans un environnement de production.
Prise en charge du framework
WebNN est conçu en tant qu’API back-end pour les frameworks web. Pour Windows, nous vous recommandons d’utiliser ONNX Runtime Web. Cela permet de se familiariser avec l’utilisation native de DirectML et d’ONNX Runtime afin d’avoir une expérience cohérente du déploiement de l’IA au format ONNX dans les applications web et natives.
Exigences de WebNN
Vous pouvez vérifier les informations relatives à votre navigateur en accédant à about://version dans la barre d’adresse de votre navigateur Chrome.
Matériel | Navigateurs web | Version de Windows | Version ONNX Runtime Web | Version du pilote |
---|---|---|---|---|
GPU | WebNN nécessite un navigateur Chromium*. Utilisez la version la plus récente de Microsoft Edge Beta. | Version minimale : Windows 11, version 21H2. | Version minimale : 1.18 | Installez les derniers pilotes pour votre matériel. |
Remarque
Les navigateurs basés sur Chromium peuvent actuellement prendre en charge WebNN, mais cela dépend de l’état d’avancement de l’implémentation de chaque navigateur.
Prise en charge des modèles
GPU (préversion) :
Lors de l’exécution sur des GPU, WebNN prend actuellement en charge les modèles suivants :
- Stable Diffusion Turbo
- Diffusion stable 1.5
- Whisper-base
- MobileNetv2
- Segment Anything
- ResNet
- EfficientNet
- SqueezeNet
WebNN fonctionne également avec des modèles personnalisés tant que la prise en charge de l’opérateur est suffisante. Vérifier le statut des opérateurs ici.
FAQ
Comment puis-je signaler un problème avec WebNN ?
Pour les problèmes généraux liés à WebNN, veuillez signaler un problème sur notre GitHub de préversion pour les développeurs WebNN
Pour les problèmes liés à ONNX Runtime Web ou au fournisseur d’exécution WebNN, accédez au GitHub ONNXRuntime.
Comment déboguer des problèmes avec WebNN ?
La spécification WebNN W3C contient des informations sur la propagation des erreurs, généralement par le biais d’exceptions DOM. Le journal à la fin de about://gpu peut également contenir des informations utiles. Pour d’autres problèmes, veuillez signaler un problème comme indiqué ci-dessus.
WebNN prend-il en charge d’autres systèmes d’exploitation ?
Actuellement, WebNN prend mieux en charge le système d’exploitation Windows. Une version pour les systèmes d’exploitation Mac est en cours de développement.
Quels sont les back-ends matériels actuellement disponibles ? Certains modèles sont-ils uniquement pris en charge avec des back-ends matériels spécifiques ?
Vous trouverez des informations sur la prise en charge des opérateurs dans WebNN dans l’article État d’implémentation des opérations WebNN | Web Machine Learning.