Guía para desarrolladores de equipos Copilot+
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). Los equipos Copilot+ proporcionan duración de batería todo el día y acceso a las características y modelos de IA más avanzados. Obtenga más información en Presentación de los equipos Copilot+ - El blog oficial de Microsoft.
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 ejecutar más de 40 TOPS, entre las que se incluyen, entre otras:
- Dispositivos Qualcomm Snapdragon X Elite basados en Arm
- Dispositivos Intel Lunar Lake: próximamente
- Dispositivos AMD STRIX (Ryzen AI 9): próximamente
¿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.
- Obtenga más información sobre Qualcomm Snapdragon X Elite.
- Obtenga más información sobre el uso y el desarrollo para Windows en Arm.
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 IA, diseñadas para ejecutarse en la NPU del dispositivo, incluyen:
Efectos de Windows Studio: un conjunto de efectos de inteligencia artificial acelerados por la NPU de audio y vídeo de Microsoft, incluido el filtro creativo, el desenfoque de fondo, el contacto ocular, el marco automático, el foco de voz. Los desarrolladores también pueden agregar alternancias a su aplicación para controles de nivel de sistema. Lista de mejoras de IA de los efectos de Windows Studio.
Recuperación: la API UserActivity compatible con IA que permite a los usuarios buscar interacciones pasadas mediante lenguaje natural y retomarlas donde las dejaron. Disponible para los equipos Copilot+ a través del Programa Windows Insider (WIP). Más información: Siga los pasos con Recuperación
Phi Silica: El modelo de lenguaje reducido de Phi (SLM) que permite a su aplicación conectarse con el modelo en el dispositivo para realizar tareas de procesamiento del lenguaje natural (chat, matemáticas, código, razonamiento) utilizando una próxima versión del SDK de Aplicaciones para Windows.
Reconocimiento de texto: La API de reconocimiento óptico de caracteres (OCR) que permite extraer texto de imágenes y documentos. Imagine tareas como convertir un PDF, un documento en papel o una imagen de una pizarra de clase en texto digital editable.
Cocreador con Paint una nueva función de Microsoft Paint que transforma imágenes en AI Art.
Super resolución: una tecnología de inteligencia artificial líder del sector que usa la NPU para que los juegos se ejecuten más rápido y se vean mejor.
*No todas las características pueden estar disponibles inicialmente en todos los equipos Copilot+.
Importante
Los modelos de IA de las últimas versiones de Windows estarán disponibles a través de las API del Runtime Copilot de Windows anunciadas en la compilación de 2024. Las API de las nuevas funciones de IA, como Phi Silica, son compatibles con modelos optimizados para ejecutarse (inferencia) en la NPU y se incluirán en una próxima versión del SDK de Aplicaciones para 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.
La manera recomendada de inferencia (ejecutar tareas de IA) en la NPU del dispositivo es usar ONNX Runtime. ONNX Runtime es una pila flexible y eficaz para programar con la NPU, así como la GPU y la CPU, lo que le permite traer sus propios modelos de inteligencia artificial o usar modelos de inteligencia artificial de código abierto que se encuentran en la web. Obtenga más información sobre el uso de ONNX Runtime para acceder a la NPU siguiente o obtenga más información sobre cómo usar modelos de Machine Learning en la aplicación de Windows.
Nota:
¿Qué ocurre con el uso de otros Runtimes para PyTorch o Tensorflow? En Windows también se admiten otros entornos de ejecución para PyTorch, Tensorflow y otros tipos de SDK proporcionados por el proveedor de Silicon. Actualmente, puede ejecutar PyTorch, TensorFlow y otros tipos de modelo mediante la conversión al formato ONNX flexible, pero la compatibilidad nativa estará disponible próximamente.
Cómo usar ONNX Runtime para acceder mediante programación a la NPU en un equipo Copilot+
Microsoft proporciona un completo marco de inferencias y formación de código abierto denominado ONNX Runtime. ONNX Runtime es la solución de código abierto recomendada por Microsoft para ejecutar modelos de IA en una NPU. Dado que ONNX Runtime es flexible y admite muchas opciones diferentes para ejecutar modelos de IA, las opciones pueden resultar confusas. Esta guía le ayudará a seleccionar opciones específicas de equipos Copilot+ de Windows.
- Qualcomm Docker X: Actualmente, los desarrolladores deben dirigirse al Proveedor de ejecución de Qualcomm QNN (EP), que usa el SDK directo de Qualcomm AI Engine (QNN). Los paquetes precompilados con compatibilidad con QNN están disponibles para descargarse. Esta es la misma pila usada actualmente por Windows Copilot Runtime y experiencias en dispositivos Qualcomm de equipos Copilot+. La compatibilidad de DirectML y WebNN con las NPU Snapdragon X Elite de Qualcomm se anunció en la compilación de 2024 y estará disponible en breve.
- Dispositivos Intel y AMD NPU: los dispositivos NPU adicionales estarán disponibles más adelante en 2024. DirectML es el método recomendado para dirigirse a estos dispositivos.
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.
- Qualcomm AI Hub (Compute):Qualcomm proporciona modelos de IA que ya se han validado para su uso en equipos Copilot+ con Snap X Elite con los modelos disponibles optimizados específicamente para ejecutarse de forma eficaz en esta NPU. Más información: Aceleración de la implementación de modelos con Qualcomm AI Hub | Microsoft compilación de 2024.
- ONNX Model Zoo: este repositorio de código abierto ofrece una colección seleccionada de modelos entrenados previamente y de última generación en formato ONNX. Estos modelos se recomiendan para su uso con NPU en todos los equipos Copilot+, incluidos los dispositivos Intel y AMD (próximamente).
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.
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:
Descargue ort.wprp y etw_provider.wprp.
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
Combine los perfiles de Windows Performance Recorder (WPR) con otros perfiles de registro integrados, como CPU, disco, etc.
Descargue Windows Performance Analyzer (WPA) de Microsoft Store.
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.