Partilhar via


Desenvolva aplicações de IA para Copilot+ PCs

Copilot+ PCs são uma nova classe de hardware do Windows 11 alimentado por uma Unidade de Processamento Neural (NPU) de alto desempenho — um chip de computador especializado para processos intensivos de IA, como traduções em tempo real e geração de imagens — que pode executar mais de 40 trilhões de operações por segundo (TOPS). Copilot+ Os PCs proporcionam autonomia de bateria para todo o dia e acesso aos recursos e modelos de IA mais avançados.

Saiba mais:

O seguinte Copilot+ PC Developer Guidance abrange:

  • Pré-requisitos do dispositivo
  • O que é o chip Snapdragon Elite X+ baseado em Arm?
  • Recursos exclusivos de IA suportados por Copilot+ PCs com um processador NPU
  • Como aceder a NPU em um Copilot+ PC
  • Como usar o ONNX Runtime para acessar programaticamente a NPU em um Copilot+ PC
  • Como medir o desempenho de modelos de IA executados localmente na NPU do dispositivo

Pré-requisitos

Esta orientação é específica para Copilot+ PCs.

Muitos dos novos recursos de IA do Windows exigem uma NPU com a capacidade de operar a 40+ TOPS, incluindo, mas não se limitando a:

Surface Copilot+ PCs para Empresas:

O que é o chip Snapdragon Elite X baseado em ARM?

O novo chip baseado no Snapdragon X Elite Arm construído pela Qualcomm enfatiza a integração de IA por meio de sua Unidade de Processamento Neural (NPU) líder do setor. Esta NPU é capaz de processar grandes quantidades de dados em paralelo, realizando trilhões de operações por segundo, usando energia em tarefas de IA de forma mais eficiente do que uma CPU ou GPU, resultando em maior vida útil da bateria do dispositivo. A NPU funciona em alinhamento com a CPU e GPU. O Windows 11 atribui tarefas de processamento ao local mais apropriado para oferecer um desempenho rápido e eficiente. A NPU permite experiências inteligentes de IA no dispositivo com segurança de nível empresarial para proteção aprimorada do chip à nuvem.

Funcionalidades exclusivas de IA suportadas por Copilot+ PCs com uma NPU

Copilot+ PCs proporcionam experiências únicas de IA que vêm com versões modernas do Windows 11. Estas funcionalidades de IA, concebidas para funcionar no NPU do dispositivo, vêm nas últimas versões do Windows e estarão disponíveis através de APIs no Microsoft Foundry no Windows. Saiba mais sobre o Microsoft Foundry em APIs do Windows suportadas por modelos otimizados para correr (inferência) na NPU. Essas APIs serão fornecidas em uma próxima versão do SDK de Aplicativo Windows.

Como aceder a NPU em um Copilot+ PC

O da Unidade de Processamento Neural (NPU) é um novo recurso de hardware. Como outros recursos de hardware em um PC, a NPU precisa que o software seja especificamente programado para aproveitar os benefícios que oferece. As NPUs são projetadas especificamente para executar as operações matemáticas de aprendizagem profunda que compõem os modelos de IA.

Os recursos do Windows 11 Copilot+ AI mencionados acima foram projetados especificamente para tirar proveito da NPU. Os usuários terão maior vida útil da bateria e tempo de execução de inferência mais rápido para modelos de IA que visam a NPU. O suporte do Windows 11 para NPUs incluirá dispositivos Qualcomm baseados em Arm, bem como dispositivos Intel e AMD (em breve).

Para dispositivos com NPUs, o Gestor de Tarefas pode agora ser utilizado para visualizar a utilização de recursos NPU.

Captura de ecrã do Gestor de Tarefas do Windows a apresentar o desempenho da NPU juntamente com CPU, GPU, Memória, Ethernet e Disco

A maneira recomendada de inferir (executar tarefas de IA) na NPU do dispositivo é usar o Windows ML.

Como aceder programaticamente à NPU num PC Copilot+ para aceleração de inteligência artificial

A maneira recomendada de acessar programaticamente a NPU (Unidade de Processamento Neural) e a GPU para aceleração de IA mudou do DirectML para o Windows ML (WinML). Essa transição reflete um esforço mais amplo para simplificar e otimizar a experiência do desenvolvedor para cargas de trabalho de IA em dispositivos Windows. Você pode encontrar orientações atualizadas aqui: Saiba como o Windows Machine Learning (ML) ajuda seus aplicativos do Windows a executar modelos de IA localmente.

  • Descoberta de EP integrada: Anteriormente, os desenvolvedores eram obrigados a saber quais Provedores de Execução (EPs) eram compatíveis com seu hardware e agrupar esses EPs com seus aplicativos. Isso geralmente levou a tamanhos maiores de aplicativos e aumento da complexidade no gerenciamento de dependências. Com o Windows ML, o processo agora é automatizado e simplificado. O Windows ML deteta automaticamente o hardware disponível no dispositivo e baixa os EPs apropriados conforme necessário. Isso significa que os desenvolvedores não precisam mais agrupar EPs específicos com seus aplicativos, resultando em tamanhos menores de aplicativos e complexidade reduzida.

  • Entrega integrada de EP: Os EPs necessários, como o QNNExecutionProvider da Qualcomm ou o OpenVINO EP da Intel, são agora incluídos no Windows ou entregues via Windows Update, eliminando a necessidade de downloads manuais.

  • ORT nos bastidores: o Windows ML continua a usar o ONNX Runtime como seu mecanismo de inferência, mas abstrai a complexidade do gerenciamento de Execution Providers (EP). O ONNX Runtime é um mecanismo de inferência e treinamento de código aberto para modelos de IA usando o formato ONNX e permitindo que os desenvolvedores criem aplicativos de IA que podem ser executados de forma eficiente em uma ampla gama de dispositivos.

  • Colaboração com fornecedores de hardware: a Microsoft trabalha diretamente com fornecedores de hardware, como Qualcomm e Intel, para garantir a compatibilidade EP com as primeiras versões de driver e novo silício (por exemplo, Snapdragon X Elite, Intel Core Ultra, etc.).

Quando você implanta um modelo de IA usando o Windows ML em um Copilot+ PC:

  • O Windows ML consulta o sistema em busca de aceleradores de hardware disponíveis.
  • Ele seleciona o EP mais performante (por exemplo, QNN para NPUs Qualcomm, OpenVINO para NPUs Intel).
  • O EP é carregado automaticamente e a inferência começa.
  • Se o EP preferido falhar ou não estiver disponível, o Windows ML normalmente voltará para outro (por exemplo, usando a GPU ou CPU).

Isso significa que os desenvolvedores podem se concentrar na criação de experiências de IA sem se preocupar com a integração de hardware de baixo nível

Formatos de modelo suportados

Os modelos de IA são frequentemente treinados e estão disponíveis em formatos de dados maiores, como o FP32. Muitos dispositivos NPU, no entanto, suportam apenas matemática inteira em formato de bit mais baixo, como INT8, para maior desempenho e eficiência energética. Portanto, os modelos de IA precisam ser convertidos (ou "quantizados") para serem executados na NPU. Existem muitos modelos disponíveis que já foram convertidos para um formato pronto a usar. Você também pode trazer seu próprio modelo (BYOM) para converter ou otimizar.

Para aqueles que querem trazer seu próprio modelo, recomendamos usar a ferramenta de otimização de modelo com reconhecimento de hardware, Olive. Olive pode ajudar com a compactação, otimização e compilação de modelos para trabalhar com o ONNX Runtime como uma solução de otimização de desempenho para NPU. Saiba mais: IA facilitada: Como o ONNX Runtime e a cadeia de ferramentas Olive ajudarão você a perguntas e respostas | Construir 2023.

Como medir o desempenho de modelos de IA executados localmente na NPU do dispositivo

Para medir o desempenho da integração de recursos de IA em seu aplicativo e os tempos de execução do modelo de IA associados:

  • Registrar um rastreamento: Registrar a atividade do dispositivo ao longo de um período de tempo é conhecido como rastreamento do sistema. O rastreamento do sistema produz um arquivo de "rastreamento" que pode ser usado para gerar um relatório e ajudá-lo a identificar como melhorar o desempenho do seu aplicativo. Saiba mais: Capture um rastreamento do sistema para analisar o uso da memória.

  • Exibir uso da NPU: examine quais processos estão usando a NPU e as pilhas de chamadas que enviam trabalho.

  • Visualize o trabalho e as pilhas de chamadas na CPU: examine os resultados dos modelos de IA de alimentação pré-trabalho e modelos de IA de processamento pós-trabalho.

  • Load and Runtime: Examine o período de tempo para carregar um modelo de IA e criar uma sessão de Runtime ONNX.

  • Parâmetros de tempo de execução: examine a configuração do ONNX Runtime e os parâmetros do Provedor de Execução (EP) que afetam o desempenho e a otimização do tempo de execução do modelo.

  • Tempos de inferência individuais: Acompanhe os tempos para cada inferência e os subdetalhes do NPU.

  • Profiler: Perfile as operações do modelo de IA para ver quanto tempo cada operador levou para contribuir para o tempo total de inferência.

  • específicos da NPU: examine os subdetalhes da NPU, como métricas sub-HW, largura de banda da memória e muito mais.

Captura de tela que fornece uma impressão geral da ferramenta Analisador de Desempenho do Windows

Para realizar essas medições, recomendamos as seguintes ferramentas de diagnóstico e rastreamento:

  • Gestor de Tarefas: Permite que um utilizador visualize o desempenho do Sistema Operativo Windows instalado no seu dispositivo, incluindo Processos, Desempenho, Histórico de aplicações, Aplicações de arranque, Utilizadores, Detalhes e Serviços. Dados de desempenho em tempo real serão mostrados para a CPU do seu dispositivo, memória, disco de armazenamento, Wi-Fi, GPU... e agora NPU. Os dados incluem a percentagem de utilização, memória disponível, memória partilhada, versão do controlador, localização física e muito mais.
  • Gravador de Desempenho do Windows (WPR): O WPR agora é fornecido com um perfil de Processamento Neural para registrar a atividade da NPU. Isso registra as interações do Microsoft Compute Driver Model (MCDM) com a NPU. Os desenvolvedores agora podem ver o uso da NPU, quais processos estão usando a NPU e as pilhas de chamadas enviando trabalho.
  • Analisador de Desempenho do Windows (WPA): O WPA cria gráficos e tabelas de dados de eventos de Rastreamento de Eventos para Windows (ETW) que são registrados pelo Gravador de Desempenho do Windows (WPR), Xperf ou uma avaliação executada na Plataforma de Avaliação. Ele fornece pontos de acesso convenientes para analisar a CPU, disco, rede, eventos de tempo de execução ONNX ... e uma nova tabela para análise de NPU, tudo em uma única linha do tempo. Agora, o WPA pode visualizar o trabalho e as pilhas de chamadas na CPU relacionadas à alimentação de modelos de IA antes do trabalho e ao processamento dos resultados dos modelos de IA após o trabalho. Transfira o Analisador de Desempenho do Windows a partir da Microsoft Store.
  • GPUView: GPUView é uma ferramenta de desenvolvimento que lê vídeo registrado e eventos do kernel de um arquivo de log de rastreamento de eventos (.etl) e apresenta os dados graficamente ao usuário. Essa ferramenta agora inclui operações de GPU e NPU, bem como suporte para visualização de eventos DirectX para dispositivos MCDM como a NPU.
  • Eventos do Tempo de Execução ONNX no Analisador de Desempenho do Windows: Começando com ONNXRuntime 1.17 (e aprimorado em 1.18.1), os seguintes casos de uso estão disponíveis com eventos emitidos no tempo de execução:
    • Veja quanto tempo levou para carregar um modelo de IA e criar uma sessão de tempo de execução ONNX.
    • Consulte Configuração do ONNX Runtime e parâmetros do Execution Provider (EP) que afetam o desempenho e a otimização do tempo de execução do modelo.
    • Acompanhe os tempos de inferência e os subdetalhes da NPU (QNN).
    • Crie o perfil das operações do Modelo de IA para ver quanto tempo cada operador levou para contribuir para o tempo total de inferência.
    • Saiba mais sobre a Profiling do ONNX Runtime Execution Provider (EP).

Observação

WPR UI (a interface do usuário disponível para suportar o WPR baseado em linha de comando incluído no Windows), WPA e GPUView fazem parte do Windows Performance Toolkit (WPT), versão de maio de 2024+. Para usar o WPT, você precisará: Baixe o Windows ADK Toolkit.

Para obter um início rápido na exibição de eventos do ONNX Runtime com o Windows Performance Analyzer (WPA), siga estas etapas:

  1. Baixar ort.wprp e etw_provider.wprp.

  2. Abra sua linha de comando e digite:

    wpr -start ort.wprp -start etw_provider.wprp -start NeuralProcessing -start CPU
    echo Repro the issue allowing ONNX to run 
    wpr -stop onnx_NPU.etl -compress
    
  3. Combine os perfis do Windows Performance Recorder (WPR) com outros perfis de gravação integrados , como CPU, disco, etc.

  4. Transfira o Windows Performance Analyzer (WPA) a partir da Microsoft Store.

  5. Abra o arquivo onnx_NPU.etl no WPA. Double-Click para abrir estes gráficos:

    • "Processamento Neural - Utilização de NPU>
    • Eventos genéricos para eventos ONNX

Outras ferramentas de medição de desempenho a serem consideradas com as ferramentas do Microsoft Windows listadas acima incluem:

  • Qualcomm Snapdragon Profiler (qprof): Uma ferramenta de criação de perfil de desempenho em toda a GUI e em todo o sistema projetada para visualizar o desempenho do sistema, bem como identificar oportunidades de otimização e melhoria de dimensionamento de aplicativos em CPUs, GPUs, DSPs e outros blocos de IP SoC da Qualcomm. O Snapdragon Profiler permite visualizar subdetalhes da NPU, como métricas sub-HW, largura de banda de memória e muito mais.

Recursos adicionais