Compartir a través de


Desarrollar aplicaciones de inteligencia artificial para Copilot+ PC

Los equipos Copilot+ son una nueva clase de hardware de Windows 11 con tecnología de una unidad de procesamiento neuronal de alto rendimiento (NPU), un chip de equipo especializado para procesos intensivos de inteligencia artificial, como traducciones en tiempo real y generación de imágenes, que pueden realizar más de 40 billones de operaciones por segundo (TOPS). Copilot+ Pc proporcionan duración de batería todo el día y acceso a las características y modelos de IA más avanzados.

Aprende más:

La siguiente Guía de equipos Copilot+ para desarrolladores cubre:

  • Requisitos previos del dispositivo
  • ¿Cuál es el chip de Elite X+ basado en Arm?
  • Características únicas de inteligencia artificial compatibles con los equipos Copilot+ con un procesador NPU
  • Cómo acceder a la NPU en un equipo Copilot+
  • Cómo usar ONNX Runtime para acceder mediante programación a la NPU en un equipo Copilot+
  • Medición del rendimiento de los modelos de inteligencia artificial que se ejecutan localmente en la NPU del dispositivo

Requisitos previos

Esta guía es específica de equipos Copilot+.

Muchas de las nuevas características de IA de Windows requieren una NPU con la capacidad de ejecutarse en más de 40 TOPS, entre las que se incluyen, entre otras:

Surface Copilot+ PC para empresas:

¿Cuál es el chip de Elite X basado en Arm?

El nuevo chip Snapdragon X Elite basado en Arm y fabricado por Qualcomm hace hincapié en la integración de la IA a través de su unidad de procesamiento neuronal (NPU) líder en el sector. Esta NPU puede procesar grandes cantidades de datos en paralelo, realizando billones de operaciones por segundo, usando energía en las tareas de inteligencia artificial de forma más eficaz que una CPU o GPU, lo que da lugar a una duración de batería de dispositivo más larga. La NPU funciona en alineación con la CPU y la GPU. Windows 11 asigna tareas de procesamiento al lugar más adecuado para ofrecer un rendimiento rápido y eficaz. La NPU permite experiencias inteligentes de inteligencia artificial en el dispositivo con seguridad de nivel empresarial para mejorar la protección de chip a nube.

Características únicas de inteligencia artificial compatibles con los equipos Copilot+ con una NPU

Los equipos Copilot+ ofrecen experiencias únicas de inteligencia artificial que se incluyen con versiones modernas de Windows 11. Estas características de inteligencia artificial, diseñadas para ejecutarse en la NPU del dispositivo, se incluirán en las versiones más recientes de Windows y estarán disponibles a través de las API de Microsoft Foundry en Windows. Obtenga más información sobre Microsoft Foundry en las API de Windows compatibles con modelos optimizados para realizar inferencias en la NPU. Estas API se enviarán en una próxima versión del SDK de aplicaciones de Windows.

Cómo acceder a la NPU en un equipo Copilot+

La unidad de procesamiento neuronal (NPU) es un nuevo recurso de hardware. Al igual que otros recursos de hardware en un equipo, la NPU necesita programarse específicamente para aprovechar las ventajas que ofrece. Las NPU están diseñadas específicamente para ejecutar las operaciones matemáticas de aprendizaje profundo que componen modelos de IA.

Las características de Windows 11 Copilot+ IA mencionadas anteriormente se han diseñado específicamente para aprovechar las ventajas de la NPU. Los usuarios obtendrán una mejor duración de la batería y un tiempo de ejecución de inferencia más rápido para los modelos de IA que tienen como destino la NPU. La compatibilidad de Windows 11 con NPU incluirá dispositivos Qualcomm basados en Arm, así como dispositivos Intel y AMD (próximamente).

En el caso de los dispositivos con NPU, el Administrador de tareas ahora se puede usar para ver el uso de recursos de NPU.

Captura de pantalla del Administrador de tareas de Windows que muestra el rendimiento de la NPU junto con CPU, GPU, memoria, Ethernet y disco

La manera recomendada de inferencia (ejecutar tareas de IA) en la NPU del dispositivo es usar Windows ML.

Cómo acceder de forma programática a la NPU en un Copilot+ PC para la aceleración de la IA

La manera recomendada de acceder mediante programación a la NPU (unidad de procesamiento neuronal) y la GPU para la aceleración de IA ha cambiado de DirectML a Windows ML (WinML). Esta transición refleja un esfuerzo más amplio para simplificar y optimizar la experiencia del desarrollador para cargas de trabajo de IA en dispositivos Windows. Puede encontrar instrucciones actualizadas aquí: Obtenga información sobre cómo Windows Machine Learning (ML) ayuda a las aplicaciones de Windows a ejecutar modelos de IA localmente.

  • Detección integrada de EP: anteriormente, los desarrolladores tenían que saber qué proveedores de ejecución (EP) eran compatibles con su hardware y empaquetar esos CSP con sus aplicaciones. Esto a menudo llevó a tamaños de aplicación más grandes y a una mayor complejidad en la administración de dependencias. Con Windows ML, el proceso ahora está automatizado y optimizado. Windows ML detecta automáticamente el hardware disponible en el dispositivo y descarga los EP adecuados según sea necesario. Esto significa que los desarrolladores ya no necesitan agrupar direcciones IP específicas con sus aplicaciones, lo que da lugar a tamaños de aplicación más pequeños y a una complejidad reducida.

  • Entrega integrada de EP: los EPs necesarios, como QNNExecutionProvider de Qualcomm o OpenVINO EP de Intel, ahora se incluyen con Windows o se entregan a través de Windows Update, lo que elimina la necesidad de descargas manuales.

  • ORT en segundo plano: Windows ML sigue usando ONNX Runtime como motor de inferencia, pero abstrae la complejidad de la administración de EP. ONNX Runtime es un motor de inferencia y entrenamiento de código abierto para modelos de inteligencia artificial mediante el formato ONNX y permite a los desarrolladores crear aplicaciones de INTELIGENCIA ARTIFICIAL que se pueden ejecutar de forma eficaz en una amplia gama de dispositivos.

  • Colaboración con proveedores de hardware: Microsoft trabaja directamente con proveedores de hardware, como Qualcomm e Intel, para garantizar la compatibilidad EP con versiones anteriores del controlador y nuevo silicio (por ejemplo, Snapdragon X Elite, Intel Core Ultra, etc.).

Al implementar un modelo de IA mediante Windows ML en un equipo Copilot +:

  • Windows ML consulta el sistema para ver los aceleradores de hardware disponibles.
  • Selecciona el EP más eficaz (por ejemplo, QNN para NPUs de Qualcomm, OpenVINO para NPUs de Intel).
  • El EP se carga automáticamente y comienza la inferencia.
  • Si el EP preferido falla o no está disponible, Windows ML cambia de manera eficiente a otro (por ejemplo, usando la GPU o la CPU).

Esto significa que los desarrolladores pueden centrarse en la creación de experiencias de inteligencia artificial sin preocuparse por la integración de hardware de bajo nivel.

Formatos de modelos compatibles

Los modelos de inteligencia artificial a menudo se entrenan y están disponibles en formatos de datos más grandes, como FP32. Sin embargo, muchos dispositivos NPU solo admiten matemáticas de enteros en formato de bits inferior, como INT8, para aumentar el rendimiento y la eficiencia energética. Por lo tanto, los modelos de inteligencia artificial deben convertirse (o "cuantificarse") para ejecutarse en la NPU. Hay muchos modelos disponibles que ya se han convertido en un formato listo para usar. También puede traer su propio modelo (BYOM) para convertir o optimizar.

Para aquellos que quieran traer su propio modelo, se recomienda usar la herramienta de optimización de modelos compatible con hardware, Olive. Olive puede ayudar con la compresión, optimización y compilación del modelo para trabajar con ONNX Runtime como una solución de optimización del rendimiento de NPU. Más información: La IA hecha más fácil: Cómo el tiempo de ejecución ONNX y la cadena de herramientas Olive le ayudarán Preguntas y respuestas | Compilación de 2023.

Medición del rendimiento de los modelos de inteligencia artificial que se ejecutan localmente en la NPU del dispositivo

Para medir el rendimiento de la integración de características de IA en la aplicación y los entornos de ejecución del modelo de IA asociados:

  • Registrar un seguimiento: la actividad del dispositivo de registro durante un período de tiempo se conoce como seguimiento del sistema. El seguimiento del sistema produce un archivo de "seguimiento" que puede utilizarse para generar un informe y ayudarle a identificar cómo mejorar el rendimiento de su aplicación. Obtenga más información: Capture una seguimiento del sistema para analizar el uso de la memoria.

  • Ver el uso de la NPU: examine qué procesos usan la NPU y las pila de llamadas que envían el trabajo.

  • Visualización del trabajo y las pila de llamadas en la CPU: examine los resultados de los modelos de IA de alimentación previa al trabajo y los modelos de IA posteriores al trabajo.

  • Carga y tiempo de ejecución: examine el período de tiempo para cargar un modelo de IA y cree una sesión en tiempo de ejecución de ONNX.

  • Parámetros de Runtime: examine los parámetros de configuración y proveedor de ejecución (EP) de ONNX que afectan al rendimiento y la optimización del entorno de ejecución del modelo.

  • Tiempos de inferencia individuales: realice un seguimiento de los tiempos de inferencia y los subelementos de la NPU.

  • Generador de perfiles: generación de perfiles de operaciones del modelo de IA para ver cuánto tiempo tarda cada operador en contribuir al tiempo total de inferencia.

  • Específico de la NPU: examine los subelementos de la NPU, como las métricas de sub-HW, el ancho de banda de memoria, etc.

Captura de pantalla que ofrece una impresión general de la herramienta Windows Performance Analyzer

Para realizar estas mediciones, se recomiendan las siguientes herramientas de diagnóstico y seguimiento:

  • Administrador de tareas: permite a un usuario ver el rendimiento del sistema operativo Windows instalado en su dispositivo, incluidos procesos, rendimiento, historial de aplicaciones, aplicaciones de inicio, usuarios, detalles y servicios. Los datos de rendimiento en tiempo real se mostrarán para la CPU del dispositivo, memoria, disco de almacenamiento, Wi-Fi, GPU... y ahora NPU. Los datos incluyen el porcentaje de uso, la memoria disponible, la memoria compartida, la versión del controlador, la ubicación física, etc.
  • Grabadora de rendimiento de Windows (WPR): WPR ahora se incluye con un perfil de procesamiento neuronal para registrar la actividad de NPU. Esto registra las interacciones del modelo de controlador de proceso de Microsoft (MCDM) con la NPU. Los desarrolladores ahora pueden ver el uso de la NPU, qué procesos usan la NPU y las pila de llamadas que envían trabajo.
  • Windows Performance Analyzer (WPA): WPA crea gráficos y tablas de datos de los eventos de Event Tracing para Windows (ETW) que son registrados por Windows Performance Recorder (WPR), Xperf o una evaluación que se ejecuta en la Plataforma de evaluación. Proporciona puntos de acceso cómodos para analizar la CPU, el disco, la red, los eventos en tiempo de ejecución de ONNX... y una nueva tabla para el análisis de la NPU, todo en una sola escala de tiempo. WPA ahora puede ver el trabajo y las pila de llamadas en la CPU relacionada con los modelos de IAl de alimentación previa al trabajo y los resultados del modelo de IA posterior al procesamiento del trabajo. Descargue Windows Performance Analyzer de Microsoft Store.
  • GPUView: GPUView es una herramienta de desarrollo que lee los eventos de kernel y vídeo registrados desde un archivo de registro de seguimiento de eventos (.etl) y presenta los datos gráficamente al usuario. Esta herramienta ahora incluye operaciones de GPU y NPU, así como compatibilidad con la visualización de eventos DirectX para dispositivos MCDM como la NPU.
  • Eventos en tiempo de ejecución de ONNX en Windows Performance Analyzer: a partir de ONNXRuntime 1.17 (y mejorado en 1.18.1) los siguientes casos de uso están disponibles con eventos emitidos en tiempo de ejecución:
    • Vea cuánto tiempo se tarda en cargar un modelo de IA y crear una sesión en tiempo de ejecución de ONNX.
    • Consulte Configuración y parámetros del proveedor de ejecución (EP) de ONNX que afectan al rendimiento y la optimización del entorno de ejecución del modelo.
    • Realice un seguimiento de los tiempos de inferencia y los subelementos de la NPU (QNN).
    • Realice un perfil de las operaciones del modelo de IA para ver cuánto tiempo tardó cada operador en contribuir al tiempo total de inferencia.
    • Obtenga más información sobre la generación de perfiles del proveedor de ejecución (EP) en Runtime de ONNX.

Nota:

La interfaz de usuario de WPR (la interfaz de usuario disponible para admitir WPR basado en la línea de comandos incluida en Windows), WPA y GPUView forman parte de Windows Performance Toolkit (WPT), versión de mayo de 2024+. Para usar WPT, deberá: Descargar el kit de herramientas de Windows ADK.

Para ver un inicio rápido sobre cómo ver eventos en tiempo de ejecución de ONNX con Windows Performance Analyzer (WPA), siga estos pasos:

  1. Descargue ort.wprp y etw_provider.wprp.

  2. Abra la línea de comandos y escriba:

    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 los perfiles de Windows Performance Recorder (WPR) con otros perfiles de registro integrados, como CPU, disco, etc.

  4. Descargue Windows Performance Analyzer (WPA) de Microsoft Store.

  5. Abra el archivo onnx_NPU.etl en WPA. Haga doble clic para abrir estos gráficos:

    • "Procesamiento neuronal: uso de la NNPU >
    • Eventos genéricos para eventos ONNX

Entre las herramientas de medición de rendimiento adicionales que se deben tener en cuenta con las herramientas de Microsoft Windows enumeradas anteriormente, se incluyen:

  • Generador de perfiles Qualcomm Snapdragon (qprof): una interfaz gráfica de usuario y una herramienta de creación de perfiles de rendimiento de todo el sistema diseñadas para visualizar el rendimiento del sistema, así como para identificar oportunidades de optimización y mejora del escalado de aplicaciones en las CPU, GPU, DSP y otros bloques IP de los SoC de Qualcomm. El generador de perfiles Snapdragon permite ver los detalles secundarios de la NPU, como las métricas de sub-HW, el ancho de banda de la memoria y mucho más.

Recursos adicionales