Compartilhar via


Visão geral do WebNN

A API WebNN (Web Neural Network) é um padrão web emergente que permite que aplicativos Web e estruturas acelerem redes neurais profundas com GPUs, CPUs ou aceleradores de IA criados com finalidade, como NPUs. A API WebNN aproveita a API DirectML no Windows para acessar os recursos de hardware nativo 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 oferece os seguintes benefícios:

  • Otimizações de desempenho – utilizando o DirectML, o WebNN ajuda a habilitar aplicativos Web e estruturas a aproveitar as melhores otimizações de hardware e software disponíveis para cada plataforma e dispositivo, sem a necessidade de código complexo e específico da plataforma.
  • Baixa Latência – A inferência no navegador ajuda a habilitar 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 remotos e aguardar respostas.
  • Preservação da Privacidade – Os dados do usuário permanecem no dispositivo e preservam a privacidade do usuário, pois aplicativos Web e estruturas não precisam carregar informações confidenciais ou pessoais nos serviços de nuvem para processamento.
  • Alta disponibilidade – nenhuma dependência na 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 com a Internet não estiver disponível ou não confiável.
  • Baixo Custo do Servidor – Computação em dispositivos cliente significa que não são necessários servidores, o que ajuda os aplicativos Web a reduzir os custos operacionais e de manutenção da execução de serviços de IA/ML na nuvem.

Os cenários de IA/ML compatíveis com a WebNN incluem IA generativa, detecção de pessoas, detecção facial, segmentação semântica, detecção de esqueleto, transferência de estilo, super resolução, legenda de imagem, tradução automática e supressão de ruído.

Observação

A API WebNN ainda está em andamento, com suporte para GPU e NPU em fase de prévia. A API WebNN não deve ser usada atualmente em um ambiente de produção.

Suporte à estrutura

O WebNN foi projetado como uma API de back-end para estruturas da Web. Para o Windows, é recomendável usar o ONNX Runtime Web. Isso oferece uma experiência familiar para usar o DirectML e o ONNX Runtime nativamente para que você possa ter uma experiência consistente implantando IA no formato ONNX em aplicativos web e nativos.

Requisitos de WebNN

Você pode verificar informações sobre seu navegador navegando até about://version na barra de endereços do navegador chromium.

Equipamento Navegadores da Web Versão do Windows Versão da Web do ONNX Runtime Versão do Driver
GPU WebNN requer um navegador 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 o hardware.
NPU WebNN requer um navegador Chromium*. Use a versão mais recente do Microsoft Edge Canary. Veja a observação abaixo sobre como desabilitar a lista de bloqueios de GPU. Versão mínima: Windows 11, versão 21H2. Versão mínima: 1.18 Versão do driver intel: 32.0.100.2381. Confira as perguntas frequentes sobre como atualizar o driver.

Diagrama da estrutura por trás da integração do WebNN ao seu aplicativo Web

Observação

Atualmente, os navegadores baseados em Chromium podem dar suporte à WebNN, mas dependerão do status de implementação do navegador individual.

Observação

Para suporte à NPU, inicie o Edge a partir da linha de comando com a seguinte opção: msedge.exe --disable_webnn_for_npu=0

Suporte ao modelo

GPU (versão prévia):

Ao executar em GPUs, o WebNN atualmente dá suporte aos seguintes modelos:

O WebNN também funciona com modelos personalizados, desde que o suporte ao operador seja suficiente. Verifique o status dos operadores aqui.

NPU (Versão Prévia):

Nos processadores Core™ Ultra da Intel® com a NPU do Intel® AI Boost, o WebNN suporta:

Perguntas Freqüentes

Como fazer para registrar um problema com o WebNN?

Para problemas gerais com o WebNN, registre um problema no nosso GitHub de Versão Prévia do Desenvolvedor WebNN

Para problemas com o ONNX Runtime Web ou o Provedor de Execução webNN, acesse o Github ONNXRuntime.

Como depurar problemas com WebNN?

A Especificação W3C da WebNN tem informações sobre propagação de erro, normalmente por meio de exceções do DOM. O log no final do about://gpu também pode ter informações úteis. Para problemas adicionais, registre um problema conforme vinculado acima.

O WebNN dá suporte a outros sistemas operacionais?

Atualmente, o WebNN dá melhor suporte ao sistema operacional Windows. As versões de outros sistemas operacionais estão em andamento.

Quais back-ends de hardware estão disponíveis no momento? Determinados modelos têm suporte apenas com back-ends de hardware específicos?

Você pode encontrar informações sobre o suporte do operador no WebNN no Status de Implementação das Operações webNN | Web Machine Learning.

Quais são as etapas para atualizar o driver Intel para suporte à NPU (versão prévia)?

  1. Localize o driver atualizado no Site do Driver da Intel.
  2. Descompacte o arquivo ZIP.
  3. Pressione Win+R para abrir a caixa de diálogo Executar.
  4. Digite devmgmt.msc no campo de texto.
  5. Pressione Enter ou clique em OK.
  6. No Gerenciador de Dispositivos, abra o serviço "Processadores de rede neural"
  7. Clique com o botão direito do mouse na NPU que é o driver que você deseja atualizar.
  8. Selecione "Atualizar Driver" no menu de contexto
  9. Selecione "Procurar drivers no meu computador"
  10. Selecione "Deixe-me escolher em uma lista de drivers disponíveis no meu computador"
  11. Pressione o botão "Ter disco"
  12. Pressione o botão "Procurar"
  13. Navegue até o local onde você descompactou o arquivo zip mencionado acima.
  14. Pressione OK.