Partager via


Présentation de WebNN

L’API WebNN (Web Neural Network) est une norme Web émergente qui permet aux applications et aux frameworks Web d’accélérer les réseaux neuronaux profonds avec des GPU, des CPU ou des accélérateurs d’IA spécialement conçus tels que les NPU. L’API WebNN tire parti 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 et aux frameworks Web de tirer parti des meilleures optimisations matérielles et logicielles disponibles pour chaque plate-forme et appareil, sans nécessiter de code complexe et spécifique à la plate-forme.
  • Faible latence : l’inférence dans le navigateur permet de créer 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 de données à des serveurs distants et à attendre des réponses.
  • Préservation de la confidentialité - Les données de l’utilisateur restent sur l’appareil et préservent la confidentialité de l’utilisateur, car les applications Web et les frameworks n’ont pas besoin de télécharger des informations sensibles ou personnelles sur les services cloud pour le traitement.
  • Haute disponibilité : aucune dépendance au réseau après la mise en cache initiale des ressources pour le cas hors ligne, car les applications Web et les frameworks peuvent exécuter des modèles de réseau neuronal localement, même lorsque la connexion Internet n’est pas disponible ou peu fiable.
  • Faible coût de serveur : l’informatique sur les appareils clients signifie qu’aucun serveur n’est nécessaire, ce qui permet aux applications Web de réduire les coûts d’exploitation et de maintenance liés à l’exécution de services d’IA/ML dans le cloud.

Les scénarios d’IA/ML pris en charge par WebNN incluent l’IA générative, la détection de personnes, la détection de visages, la segmentation sémantique, la détection de squelettes, le transfert de style, la super résolution, le sous-titrage d’images, la traduction automatique et la suppression du bruit.

Remarque

L’API WebNN est toujours en cours, avec la prise en charge du GPU et du NPU dans un état de prévisualisation. L’API WebNN ne doit actuellement pas être utilisée dans un environnement de production.

Support cadre

WebNN est conçu comme une API backend pour les frameworks web. Pour Windows, nous vous recommandons d’utiliser ONNX Runtime Web. Cela permet d’utiliser DirectML et ONNX Runtime en mode natif, ce qui vous permet de bénéficier d’une expérience cohérente de déploiement de l’IA au format ONNX dans les applications Web et natives.

Exigences WebNN

Vous pouvez vérifier les informations de votre navigateur en accédant à about://version dans la barre d’adresse de votre navigateur Chromium.

Matériel Navigateurs Web Version de Windows Version Web d’ONNX Runtime Version du pilote
GPU WebNN nécessite un navigateur Chromium*. Veuillez utiliser la version la plus récente de Microsoft Edge Beta. Version minimale : Windows 11, version 21H2. Version minimale : 1.18 Installez le dernier pilote pour votre matériel.
NPU WebNN nécessite un navigateur Chromium*. Veuillez utiliser la version la plus récente de Microsoft Edge Canary. Voir la note ci-dessous pour savoir comment désactiver la liste de blocage GPU. Version minimale : Windows 11, version 21H2. Version minimale : 1.18 Version du pilote Intel : 32.0.100.2381. Consultez la FAQ pour savoir comment mettre à jour le pilote.

Schéma de la structure de l’intégration de WebNN dans votre application web

Remarque

Les navigateurs basés sur Chromium peuvent actuellement prendre en charge WebNN, mais cela dépendra de l’état de mise en œuvre de chaque navigateur.

Remarque

Pour la prise en charge de NPU, lancez edge à partir de la ligne de commande avec l’indicateur suivant : msedge.exe --disable_webnn_for_npu=0

Prise en charge des modèles

GPU (préversion) :

Lorsqu’il fonctionne sur des GPU, WebNN prend actuellement en charge les modèles suivants :

WebNN fonctionne également avec des modèles personnalisés tant que l’assistance de l’opérateur est suffisante. Vérifiez le statut des opérateurs ici.

NPU (préversion) :

Sur les® processeurs Intel Core™ Ultra avec Intel® AI Boost NPU, WebNN prend en charge :

Questions fréquentes (FAQ)

Comment puis-je signaler un problème avec WebNN ?

Pour des problèmes généraux avec WebNN, veuillez signaler un problème sur notre GitHub WebNN Developer Preview

Pour les problèmes liés à ONNX Runtime Web ou au fournisseur d’exécution WebNN, accédez au Github ONNXRuntime.

Comment déboguer les 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 registre à 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 en charge le système d’exploitation Windows. Des versions pour d’autres systèmes d’exploitation sont en cours.

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 l’assistance des opérateurs dans WebNN à la page Statut de mise en œuvre des opérations WebNN | Apprentissage automatique Web.

Quelles sont les étapes de mise à jour du pilote Intel pour la prise en charge NPU (préversion) ?

  1. Recherchez le pilote mis à jour sur le site Web des pilotes d’Intel.
  2. Décompressez le fichier ZIP.
  3. Appuyez sur Win+R pour ouvrir la boîte de dialogue Exécuter.
  4. Tapez devmgmt.msc dans le champ de texte.
  5. Appuyez sur Entrée ou cliquez sur OK.
  6. Dans le Gestionnaire de périphériques, ouvrez le nœud « Processeurs neuronaux »
  7. Faites un clic droit sur le NPU dont vous souhaitez mettre à jour le pilote.
  8. Sélectionnez « Mettre à jour le pilote » dans le menu contextuel
  9. Sélectionnez « Rechercher les pilotes sur mon ordinateur »
  10. Sélectionnez « Me laisser choisir dans une liste de pilotes disponibles sur mon ordinateur »
  11. Appuyez sur le bouton « Avoir un disque »
  12. Appuyez sur le bouton « Parcourir »
  13. Naviguez jusqu’à l’endroit où vous avez décompressé le fichier zip susmentionné.
  14. Appuyez sur OK.