Microsoft y sus socios de hardware lanzaron recientemente sus PC Copilot+, impulsadas por CPU Arm con unidades de procesamiento neuronal integradas. Son una interesante redirección de las plataformas x64 convencionales anteriores, centradas inicialmente en los procesadores Snapdragon X Arm de Qualcomm y que ejecutan las últimas compilaciones de Windows de Microsoft en Arm. Compre uno ahora y ya está ejecutando la compilación 24H2 de Windows 11, al menos un par de meses antes de que 24H2 llegue a otro hardware. De fábrica, el Copilot+ es un PC rápido, con todas las características que esperamos de un portátil moderno. La duración de la batería es excelente y los puntos de referencia nativos de Arm son tan buenos, o en algunos casos mejores, que la mayoría del hardware basado en Intel o AMD. Incluso le dan competencia a los procesadores Arm M2 y M3 de Apple. Eso los hace ideales para las tareas de desarrollo más comunes que utilizan Visual Studio y Visual Studio Code. Ambos tienen compilaciones Arm64, por lo que no necesitan pasar por la complejidad adicional que viene con la capa de emulación Prism de Windows On Arm. PC Arm para desarrollo Arm Con GitHub u otro sistema de control de versiones para administrar el código, los desarrolladores que trabajan en versiones Arm de aplicaciones pueden clonar rápidamente un repositorio, configurar una nueva rama, compilar, probar y realizar cambios locales antes de enviar su rama al repositorio principal listo para usar solicitudes de extracción para fusionar cualquier cambio. Este enfoque debería acelerar el desarrollo de versiones Arm de aplicaciones existentes, con hardware capaz ahora parte del ciclo de vida del desarrollo de software. Para ser honesto, eso no es un gran cambio con respecto al hardware Windows On Arm anterior. Si eso es todo lo que necesita, esta nueva generación de hardware simplemente trae un conjunto más amplio de fuentes. Si tiene un acuerdo de compra con Dell, HP o Lenovo, puede agregar rápidamente hardware Arm a su flota y no está obligado a usar Surface de Microsoft. La característica más interesante de los nuevos dispositivos es la unidad de procesamiento neuronal (NPU) incorporada. Al ofrecer al menos 40 TOP de capacidad de cómputo adicional, la NPU brinda capacidades avanzadas de inferencia local a las PC, lo que admite pequeños modelos de lenguaje y otras funciones de aprendizaje automático. Microsoft las está mostrando inicialmente con una herramienta de subtítulos en vivo y una selección de diferentes filtros de video en tiempo real en la ruta de procesamiento de la cámara del dispositivo. (La herramienta de indexación Recall AI planificada se está rediseñando para abordar las preocupaciones de seguridad). Cree su propia IA en hardware de IA Las aplicaciones de IA incluidas son interesantes y potencialmente útiles, pero tal vez sea mejor pensarlas como indicadores de las capacidades del hardware. Como siempre, Microsoft confía en sus desarrolladores para entregar aplicaciones más complejas que puedan llevar el hardware a sus límites. De eso se trata Copilot Runtime, con soporte para el entorno de ejecución de inferencia ONNX y, si no en la versión de Windows de envío, una versión de su API de inferencia DirectML para PC Copilot+ y su NPU Qualcomm. Aunque la compatibilidad con DirectML simplificaría la creación y ejecución de aplicaciones de IA, Microsoft ya ha comenzado a enviar algunas de las herramientas necesarias para crear sus propias aplicaciones de IA. Sin embargo, no esperes que sea fácil, ya que aún faltan muchas piezas, lo que hace que el flujo de trabajo de desarrollo de IA sea difícil de implementar. ¿Por dónde empezar? El lugar obvio es AI Toolkit for Visual Studio Code. Está diseñado para ayudarte a probar y ajustar pequeños modelos de lenguaje que pueden ejecutarse en PC y portátiles, utilizando CPU, GPU y NPU. Las últimas compilaciones admiten Arm64, por lo que puedes instalar AI Toolkit y Visual Studio Code en tus dispositivos de desarrollo. Trabajar con AI Toolkit for Visual StudioLa instalación es rápida, utilizando las herramientas integradas de Marketplace. Si planeas crear aplicaciones de IA, vale la pena instalar las herramientas de Python y C#, así como las herramientas para conectarse a GitHub u otros repositorios de código fuente. Otras características útiles para agregar incluyen compatibilidad con Azure y las extensiones necesarias para trabajar con el Subsistema de Windows para Linux (WSL). Una vez instalado, puedes usar AI Toolkit para evaluar una biblioteca de pequeños modelos de lenguaje que están destinados a ejecutarse en PC y hardware de borde. Actualmente hay cinco disponibles: cuatro versiones diferentes del propio Phi-3 de Microsoft y una instancia de Mistral 7b. Todas se descargan localmente y puedes usar el área de juegos de modelos de AI Toolkit para experimentar con instrucciones de contexto y mensajes de usuario. Desafortunadamente, el área de juegos de modelos no usa la NPU, por lo que no puedes hacerte una idea de cómo se ejecutará el modelo en la NPU. Aun así, es bueno experimentar con el desarrollo del contexto para tu aplicación y ver cómo responde el modelo a las entradas del usuario. Sería bueno tener una forma de crear una aplicación con más funciones en torno al modelo; por ejemplo, implementar Prompt Flow o una herramienta de orquestación de IA similar para experimentar con la conexión a tierra de tu pequeño modelo de lenguaje en tus propios datos. No esperes poder ajustar un modelo en una PC Copilot+. Cumplen con la mayoría de los requisitos, con soporte para las compilaciones Arm64 WSL correctas de Ubuntu, pero el hardware de Qualcomm no incluye una GPU Nvidia. Su NPU está diseñada solo para inferencia, por lo que no proporciona las capacidades necesarias para ajustar algoritmos. Eso no le impide usar un dispositivo Arm como parte de un flujo de trabajo de ajuste, ya que aún se puede usar con una máquina virtual alojada en la nube que tenga acceso a una GPU completa o fraccionaria. Tanto Microsoft Dev Box como GitHub Codespaces tienen opciones de máquina virtual habilitadas para GPU, aunque pueden ser costosas si está ejecutando un trabajo grande. Alternativamente, puede usar una PC con una GPU Nvidia si está trabajando con datos confidenciales. Una vez que tenga un modelo con el que esté satisfecho, puede comenzar a integrarlo en una aplicación. Aquí es donde hay un gran vacío en el flujo de trabajo de desarrollo de IA de Copilot+ PC, ya que no puede pasar directamente de AI Toolkit a la edición de código. En su lugar, comience por encontrar el directorio oculto que contiene la copia local del modelo que ha estado probando (o descargue una versión optimizada de su servicio de ajuste fino de elección), configure un entorno de ejecución ONNX que admita la NPU de la PC y úselo para comenzar a compilar y probar código. Creación de un entorno de ejecución de IA para NPU de Qualcomm Aunque podría crear un entorno Arm ONNX desde la fuente, todas las piezas que necesita ya están disponibles, por lo que todo lo que tiene que hacer es ensamblar su propio entorno de ejecución. AI Toolkit incluye un punto final de servidor web básico para un modelo cargado, y puede usarlo con herramientas como Postman para ver cómo funciona con entradas y salidas REST, como si lo estuviera usando en una aplicación web. Si prefiere crear su propio código, existe una compilación Arm64 de Python 3 para Windows, así como una versión precompilada del proveedor de ejecución ONNX para las NPU QNN de Qualcomm. Esto debería permitirle crear y probar código Python desde Visual Studio Code una vez que haya validado su modelo usando la inferencia de CPU dentro de AI Toolkit. Aunque no es un enfoque ideal, le ofrece una ruta para usar una PC Copilot+ como su entorno de desarrollo de IA. Incluso podría usarlo con la versión Python del marco de orquestación del agente de IA Semantic Kernel de Microsoft. Los desarrolladores de C# no se quedan afuera. Hay una compilación .NET de la herramienta QNN ONNX disponible en NuGet, por lo que puede tomar rápidamente modelos locales e incluirlos en su código. Puede usar AI Toolkit y Python para validar modelos antes de incrustarlos en aplicaciones .NET. Es importante comprender las limitaciones de la herramienta QNN ONNX. Solo está diseñada para modelos cuantizados, y eso requiere asegurarse de que todos los modelos que use estén cuantizados para usar números enteros de 8 o 16 bits. Debe consultar la documentación antes de usar un modelo estándar para ver si necesita realizar algún cambio antes de incluirlo en sus aplicaciones. Tan cerca, pero tan lejos Aunque la plataforma Copilot+ PC (y el Copilot Runtime asociado) muestra mucho potencial, la cadena de herramientas aún está fragmentada. Tal como están las cosas, es difícil pasar del modelo al código y a la aplicación sin tener que salir del IDE. Sin embargo, es posible ver cómo una futura versión del AI Toolkit para Visual Studio Code puede agrupar los entornos de ejecución QNN ONNX, así como ponerlos a disposición para su uso a través de DirectML para el desarrollo de aplicaciones .NET. Esa futura versión debe ser más pronto que tarde, ya que los dispositivos ya están en manos de los desarrolladores. Obtener la inferencia de IA en dispositivos locales es un paso importante para reducir la carga en los centros de datos de Azure. Sí, el estado actual del desarrollo de IA de Arm64 en Windows es decepcionante, pero eso se debe más a que es posible ver lo que podría ser, no a una falta de herramientas. Muchos elementos necesarios están aquí; lo que se necesita es una forma de agruparlos para brindarnos una plataforma de desarrollo de aplicaciones de IA de extremo a extremo para que podamos aprovechar al máximo el hardware. Por ahora, puede que sea mejor quedarse con Copilot Runtime y el modelo Phi-Silica integrado con sus API listas para usar. Después de todo, compré una de las nuevas laptops Surface con tecnología Arm y quiero ver que cumpla su promesa como el hardware de desarrollo de IA que esperaba usar. Con suerte, Microsoft (y Qualcomm) llenarán los vacíos y me darán la experiencia de codificación de NPU que quiero. Copyright © 2024 IDG Communications, Inc.