Introducción a WebNN
La API de red neuronal web (WebNN) es un estándar web emergente que permite a las aplicaciones web y marcos acelerar las redes neuronales profundas con GPU, CPU o aceleradores de IA creados específicamente, como NPUs. La API de WebNN aprovecha la API de DirectML en Windows para acceder a las funcionalidades de hardware nativas y optimizar la ejecución de modelos de red neuronal.
A medida que el uso de IA/ML en aplicaciones es más popular, la API de WebNN proporciona las siguientes ventajas:
- Optimizaciones de rendimiento: al usar DirectML, WebNN ayuda a que las aplicaciones web y los marcos aprovechen las mejores optimizaciones de hardware y software disponibles para cada plataforma y dispositivo, sin necesidad de código complejo y específico de la plataforma.
- Baja latencia : la inferencia en el navegador permite nuevos casos de uso con orígenes multimedia locales, como análisis de vídeo en tiempo real, detección de caras y reconocimiento de voz, sin necesidad de enviar datos a servidores remotos y esperar respuestas.
- Conservación de la privacidad: los datos de usuario permanecen en el dispositivo y conservan la privacidad del usuario, ya que las aplicaciones web y los marcos no necesitan cargar información confidencial o personal en los servicios en la nube para su procesamiento.
- Alta disponibilidad : no depende de la red después del almacenamiento en caché inicial de recursos para casos sin conexión, ya que las aplicaciones web y los marcos pueden ejecutar modelos de red neuronal localmente incluso cuando la conexión a Internet no está disponible o no es confiable.
- Bajo costo de servidor: la computación en dispositivos cliente significa que no se necesitan servidores, por lo que las aplicaciones web pueden reducir los costos operativos y de mantenimiento de la ejecución de servicios de IA y ML en la nube.
La AI/ML compatibles con WebNN incluyen IA generativa, detección de personas, detección de caras, segmentación semántica, detección de esqueletos, transferencia de estilo, super resolución, subtítulo de imágenes, traducción automática y eliminación de ruido.
Nota:
La API de WebNN todavía está en curso, con soporte GPU en un estado de versión preliminar y soporte NPU próximamente. La API de WebNN no debería utilizarse actualmente en un entorno de producción.
Soporte de marco
WebNN está diseñado como una API de back-end para marcos web. Para Windows, se recomienda usar ONNX Runtime Web. Esto proporciona una experiencia familiar para usar DirectML y ONNX Runtime de forma nativa para que pueda tener una experiencia coherente con la implementación de IA en formato ONNX en aplicaciones web y nativas.
Requisitos de WebNN
Para comprobar información sobre el navegador, vaya a acerca de://version en la barra de direcciones del navegador chromium.
Hardware | Exploradores web | Versión de Windows | Versión web de ONNX Runtime | Versión del controlador |
---|---|---|---|---|
GPU | WebNN requiere un navegador Chromium*. Use la versión más reciente de Microsoft Edge Beta. | Versión mínima: Windows 11, versión 21H2. | Versión mínima 1.18 | Instale los driver más recientes disponibles para su hardware. |
Nota:
Los navegadores basados en Chromium actualmente pueden admitir WebNN, pero dependerán del estado de implementación del navegador individual.
Compatibilidad con los modelos
GPU (versión preliminar):
Al ejecutarse en GPU, WebNN admite actualmente los siguientes modelos:
- Stable Diffusion Turbo
- Stable Diffusion 1.5
- Whisper-base
- MobileNetv2
- Segment Anything
- ResNet
- EfficientNet
- SqueezeNet
WebNN también funciona con modelos personalizados siempre que el soporte con operadores sea suficiente. Compruebe el estado de los operadores aquí.
Preguntas más frecuentes
¿Cómo envío un problema con WebNN?
Para problemas generales con WebNN, envíe un problema en nuestra versión preliminar para desarrolladores de WebNN en GitHub.
Para problemas con ONNX runtime web o el proveedor de ejecución de WebNN, vaya al ONNXRuntime de Github.
¿Cómo depuro problemas con WebNN?
La especificación W3C de WebNN tiene información sobre la propagación de errores, normalmente a través de excepciones DOM. El registro al final de acerca de://gpu también puede tener información útil. Si tiene algún problema posterior, envíe un problema como se ha vinculado anteriormente.
¿Admite WebNN otros sistemas operativos?
Actualmente, WebNN admite mejor el sistema operativo Windows. Hay una versión para los sistemas operativos Mac en curso.
¿Qué back-ends de hardware están disponibles actualmente? ¿Algunos modelos solo se admiten con back-ends de hardware específicos?
Puede encontrar información sobre el soporte con operadores en WebNN en Estado de implementación de operaciones de WebNN | Web Machine Learning.