Visão geral da WebNN
A API WebNN (Rede Neural da Web) é um padrão emergente da Web que permite que estruturas e aplicativos Web acelerem redes neurais profundas com GPUs, CPUs ou aceleradores de IA criados para esse fim, como NPUs. A API WebNN aproveita a API DirectML no Windows para acessar os recursos de hardware nativos e otimizar a execução de modelos de rede neural.
À medida que o uso de IA/ML em aplicativos se torna mais popular, a API WebNN proporciona os seguintes benefícios:
- Otimizações de desempenho – ao utilizar o DirectML, a WebNN permite que estruturas e aplicativos Web usufruam das melhores otimizações de hardware e software disponíveis para cada plataforma e dispositivo, sem exigir código complexo e específico da plataforma.
- Baixa latência – a inferência no browser permite novos casos de uso com fontes de mídia locais, como análise de vídeo em tempo real, detecção facial e reconhecimento de fala, sem a necessidade de enviar dados para servidores de repositório remoto e aguardar respostas.
- Preservação da privacidade – os dados do usuário permanecem no dispositivo e preservam a privacidade do usuário, pois as estruturas e os aplicativos Web não precisam fazer upload de informações pessoais ou confidenciais para serviços de nuvem para processamento.
- Alta disponibilidade – não depende da rede após o cache inicial de ativos para casos offline, pois aplicativos Web e estruturas podem executar modelos de rede neural localmente, mesmo quando a conexão de Internet não está disponível ou não é confiável.
- Baixo custo do servidor – a computação em dispositivos cliente significa que não são necessários servidores, o que ajuda os aplicativos Web a reduzir os custos de operação e de manutenção relacionados à execução de serviços de IA/ML na nuvem.
A IA/ML compatível com WebNN inclui IA generativa, detecção de pessoas, detecção facial, segmentação semântica, detecção de esqueleto, transferência de estilo, superrresolução, legendagem de imagens, tradução automática e supressão de ruído.
Observação
A API WebNN ainda está em andamento, com suporte a GPU em um estado de preview e suporte a NPU em breve. A API WebNN não deve ser usada em um ambiente de produção no momento.
Suporte para estrutura
A WebNN foi projetada como uma API de back-end para frameworks da Web. Para Windows, recomendamos o uso do ONNX Runtime Web. Isso proporciona uma experiência familiar ao uso nativo do DirectML e do ONNX Runtime para que você possa ter uma experiência consistente na implantação de IA no formato ONNX em aplicativos Web e nativos.
Requisitos da WebNN
Você pode verificar as informações sobre seu browser indo para about://version na barra de endereço do browser Chromium.
Hardware | Browsers da Web | Versão do Windows | Versão Web do ONNX Runtime | Versão do driver |
---|---|---|---|---|
GPU | A WebNN requer um browser Chromium*. Use a versão mais recente do Microsoft Edge Beta. | Versão mínima: Windows 11, versão 21H2. | Versão mínima: 1.18 | Instale o driver mais recente para seu hardware. |
Observação
Atualmente, os browsers baseados no Chromium podem oferecer suporte à WebNN, mas isso vai depender do status de implementação do browser individual.
Suporte a modelo
GPU (Preview):
Quando executada em GPUs, a WebNN atualmente é compatível com os seguintes modelos:
- Stable Diffusion Turbo
- Stable Diffusion 1.5
- Whisper-base
- MobileNetv2
- Segment Anything
- ResNet
- EfficientNet
- SqueezeNet
A WebNN também funciona com modelos personalizados, desde que o suporte do operador seja suficiente. Verifique o status dos operadores aqui.
Perguntas frequentes
Como faço para registrar um problema com a WebNN?
Para problemas gerais com a WebNN, registre um problema em nosso GitHub de Preview do desenvolvedor da WebNN
Para problemas com a ONNX Runtime Web ou o Provedor de execução da WebNN, vá para o Github do ONNXRuntime.
Como depurar problemas com a WebNN?
A Especificação W3C da WebNN tem informações sobre propagação de erros, normalmente por meio de exceções DOM. O registro no final de about://gpu também pode ter informações úteis. Para outras perguntas, registre um problema conforme o link acima.
A WebNN é compatível com outros sistemas operacionais?
No momento, a WebNN é mais compatível com o sistema operacional Windows. Uma versão para sistemas operacionais Mac está em andamento.
Quais back-ends de hardware estão disponíveis no momento? Há suporte para determinados modelos apenas com back-ends de hardware específicos?
Você pode encontrar informações sobre o suporte do operador na WebNN em Status de implementação das operações da WebNN | Aprendizado de máquina da Web.