Editar

Share via


Preguntas más frecuentes sobre el uso de IA en Windows

General

¿Qué es DirectML?

DirectML es una API de bajo nivel para el aprendizaje automático que proporciona aceleración de GPU para tareas comunes de aprendizaje automático en una amplia gama de controladores y hardware compatibles, incluidas todas las GPU compatibles con DirectX 12 de proveedores como AMD, Intel, NVIDIA y Qualcomm. DirectML es un componente de WinML.

¿Qué es ONNX?

El formato Open Network Neural Exchange (ONNX) es un estándar abierto para representar modelos de aprendizaje automático (ML). Los marcos de modelos de ML populares, como TensorFlow, PyTorch, SciKit-Learn, Keras, Chainer, MATLAB, etc. se pueden exportar o convertir al formato ONNX estándar. Una vez que en el formato ONNX, el modelo se puede ejecutar en varias plataformas y dispositivos. ONNX es bueno para usar un modelo de ML en un formato diferente al que se entrenó.

¿Qué es ORT?

ONNX Runtime u ORT es una herramienta de tiempo de ejecución unificada para ejecutar modelos en diferentes marcos (PyTorch, TensorFlow, etc.) que admite aceleradores de hardware (CPU de dispositivo, GPU o NPU).

¿Cómo difiere ONNX de otros marcos de aprendizaje automático, como PyTorch o TensorFlow?

PyTorch y TensorFlow se usan para desarrollar, entrenar y ejecutar modelos de aprendizaje profundo usados en aplicaciones de inteligencia artificial (IA). PyTorch se usa a menudo para la investigación, TensorFlow se usa a menudo para la implementación del sector, y ONNX es un formato de intercambio de modelos estandarizado que puentea la brecha, lo que le permite cambiar entre marcos según sea necesario y compatible entre plataformas.

¿Qué es una NPU? ¿En qué difiere de una CPU o GPU?

Una unidad de procesamiento neuronal o NPU es un chip de IA dedicado diseñado específicamente para realizar tareas de IA. El foco de una NPU difiere del de una CPU o GPU. Una unidad de procesamiento central, o CPU, es el procesador principal de un equipo, responsable de ejecutar instrucciones y cálculos de uso general. Una unidad de procesamiento de gráficos, o GPU, es un procesador especializado diseñado para representar gráficos y optimizado para el procesamiento paralelo. Es capaz de representar imágenes complejas para tareas de edición y juegos de vídeo.

Las NPU están diseñadas para acelerar los algoritmos de aprendizaje profundo y pueden quitar parte del trabajo de la CPU o GPU de un equipo, por lo que el dispositivo puede funcionar de forma más eficaz. Las NPU están diseñadas específicamente para acelerar las tareas de red neuronal. Destacan en el procesamiento de grandes cantidades de datos en paralelo, por lo que son idóneas para tareas comunes de IA, como el reconocimiento de imágenes o el procesamiento de lenguaje natural. Por ejemplo, durante una tarea de reconocimiento de imágenes, la NPU puede ser responsable de la detección de objetos o la aceleración de imágenes, mientras que la GPU asume la responsabilidad de la representación de imágenes.

¿Cómo puedo averiguar qué tipo de CPU, GPU o NPU tiene mi dispositivo?

Para comprobar el tipo de CPU, GPU o NPU en el dispositivo Windows y cómo funciona, abra el Administrador de tareas (Ctrl + Alt + Eliminar) y, a continuación, seleccione la pestaña Rendimiento y podrá ver la CPU, memoria, Wi-Fi, GPU o NPU de la máquina, junto con información sobre la velocidad, la tasa de uso y otros datos.

¿Qué es WinML?

WinML o Windows Machine Learning es una API de alto nivel para implementar modelos de aprendizaje automático acelerados por hardware (ML) en dispositivos Windows que permiten a los desarrolladores usar las funcionalidades del dispositivo para realizar la inferencia de modelos. El enfoque se centra en la carga, el enlace y la evaluación del modelo. WinML utiliza el formato del modelo ONNX.

Conceptos útiles de IA

¿Qué es un modelo de lenguaje grande (LLM)?

Un LLM es un tipo de modelo de aprendizaje automático (Machine Learning, ML) conocido por la capacidad de lograr la generación y comprensión del lenguaje de uso general. Los LLM son redes neuronales artificiales que adquieren funcionalidades mediante el aprendizaje de relaciones estadísticas de grandes cantidades de documentos de texto durante un proceso intensivo de entrenamiento auto supervisado y semi supervisado de forma computacional. Los LLM se suelen usar para la generación de texto, una forma de IA generativa que, dadas algunas entradas de texto, genera palabras (o "tokens") que es más probable que creen oraciones coherentes y contextualmente relevantes a cambio. También hay modelos de lenguaje pequeños (SLM) que tienen menos parámetros y una capacidad más limitada, pero pueden ser más eficientes (requieren menos recursos computacionales), rentables e idóneos para dominios específicos.

¿Qué es el entrenamiento de modelos de ML?

En Machine Learning, el entrenamiento de modelos implica alimentar un conjunto de datos en un modelo (LLM o SLM), lo que le permite aprender de los datos para que el modelo pueda realizar predicciones o decisiones basadas en esos datos, reconociendo patrones. También puede implicar ajustar los parámetros del modelo de forma iterativa para optimizar su rendimiento.

¿Qué es la inferencia?

El proceso de uso de un modelo de aprendizaje automático entrenado para realizar predicciones o clasificaciones en datos nuevos y no vistos se denomina "Inferencia". Una vez entrenado un modelo de lenguaje en un conjunto de datos, aprendiendo sus patrones y relaciones subyacentes, está listo para aplicar este conocimiento a escenarios reales. La inferencia es el momento de verdad de un modelo de IA, una prueba de lo bien que puede aplicar información aprendida durante el entrenamiento para realizar una predicción o resolver una tarea. El proceso de usar un modelo existente para la inferencia es diferente de la fase de entrenamiento, que requiere el uso de datos de entrenamiento y validación para desarrollar el modelo y ajustar sus parámetros.

¿Qué es el ajuste preciso del modelo de ML?

El ajuste preciso es un paso fundamental en el aprendizaje automático en el que se adapta un modelo entrenado previamente para realizar una tarea específica. En lugar de entrenar un modelo desde cero, el ajuste se inicia con un modelo existente (normalmente entrenado en un conjunto de datos grande) y ajusta sus parámetros mediante un conjunto de datos más pequeño y específico de la tarea. Al realizar el ajuste, el modelo aprende características específicas de tareas al tiempo que conserva los conocimientos generales adquiridos durante el entrenamiento previo, lo que da lugar a un rendimiento mejorado para aplicaciones específicas.

¿Qué es la ingeniería de solicitudes?

La ingeniería de solicitudes es un enfoque estratégico que se usa con la IA generativa para dar forma al comportamiento y las respuestas de un modelo de lenguaje. Implica la creación cuidadosa de solicitudes de entrada o consultas para lograr el resultado deseado de un modelo de lenguaje (como GPT-3 o GPT-4). Al diseñar una solicitud eficaz, puede guiar un modelo de ML para generar el tipo de respuesta que desee. Entre las técnicas se incluyen ajustar el texto, especificar el contexto o usar códigos de control para influir en la salida del modelo.

¿Qué es la aceleración de hardware (en lo que respecta al entrenamiento del modelo de ML)?

La aceleración de hardware hace referencia al uso de hardware informático especializado diseñado para acelerar las aplicaciones de inteligencia artificial más allá de lo que se puede lograr con las CPU de uso general. La aceleración de hardware mejora la velocidad, la eficiencia energética y el rendimiento general de las tareas de aprendizaje automático, como los modelos de entrenamiento, la realización de predicciones o la descarga de cálculos en componentes de hardware dedicados que destacan en el procesamiento paralelo para cargas de trabajo de aprendizaje profundo. Las GPU y las NPU son ejemplos de aceleradores de hardware.

¿Cuáles son las diferencias entre un Científico de datos, un ingeniero de ML y un desarrollador de aplicaciones que quiere aplicar características de IA en su aplicación?

El proceso de creación y uso de modelos de ML implica tres roles principales: Científicos de datos: responsable de definir el problema, recopilar y analizar los datos, elegir y entrenar el algoritmo de ML y evaluar e interpretar los resultados. Usan herramientas como Python, R, Jupyter Notebook, TensorFlow, PyTorch y scikit-learn para realizar estas tareas. Ingenieros de ML: responsable de implementar, supervisar y mantener los modelos de ML en entornos de producción. Usan herramientas como Docker, Kubernetes, Azure ML, AWS SageMaker y Google Cloud AI Platform para garantizar la escalabilidad, confiabilidad y seguridad de los modelos de ML. Desarrolladores de aplicaciones: responsable de integrar los modelos de ML en la lógica de la aplicación, la interfaz de usuario y la experiencia de usuario. Usan herramientas como Windows Copilot Runtime, ONNX Runtime o API REST y procesan la entrada del usuario y la salida del modelo. Cada rol implica diferentes responsabilidades y aptitudes, pero se requiere colaboración y comunicación entre estos roles para lograr los mejores resultados. Dependiendo del tamaño y la complejidad del proyecto, estos roles se pueden realizar por la misma persona o por equipos diferentes.