Motor de IA: satisfacer las demandas de procesamiento de las aplicaciones de última generación

En muchos mercados dinámicos y en evolución, tales como el de celulares 5G, los centros de datos, el mercado automotor y el industrial, las aplicaciones están presionando para aumentar cada vez más la aceleración de procesamiento sin dejar de ahorrar energía. Dado que la ley de Moore y la escala de Dennard ya no siguen sus trayectorias tradicionales, pasar al nodo de chip de última generación por sí solo no puede ofrecer los beneficios de menor consumo de energía y menor costo con un mejor rendimiento, como en las generaciones anteriores.

En respuesta a este aumento no lineal en la demanda de las aplicaciones de última generación, como la formación de haces inalámbrica y la inferencia de aprendizaje automático, AMD desarrolló una tecnología de procesamiento innovadora, el motor de IA, como parte de la arquitectura AMD Versal™.

Arquitectura de motor de IA

Los motores de IA están diseñados como matrices 2D compuestas por múltiples mosaicos de motor de IA y permiten una solución muy escalable en toda la cartera de productos Versal, que abarca de 10s a 100s de motores de IA en un solo dispositivo, lo que satisface las necesidades de procesamiento de una amplia gama de aplicaciones. Los beneficios incluyen las siguientes opciones:

Múltiples opciones de programación

Para aplicaciones de DSP (Digital Signal Processing, procesamiento de señales digitales) de alto rendimiento, los siguientes métodos están disponibles para codificar motores de IA (a fin de obtener más información, visita: Diseño de DSP de AMD Vitis™ AI Engine)

  • Flujo basado en C utilizando funciones de biblioteca DSP y codificación API
  • Diseño basado en modelos (utilizando Vitis Model Composer en MathWorks Simulink)
  • Intrínsecos 
Para aplicaciones de IA/ML:
  • Bibliotecas robustas para desarrolladores de marcos de IA/ML
Determinísticos
  • Instrucciones y memorias de datos dedicadas
  • Conectividad dedicada emparejada con motores de DMA (Direct Memory Access, acceso directo a memoria) para el movimiento de datos programado mediante la conectividad entre los mosaicos del motor de IA
Eficiencia
  • Para las aplicaciones de DSP de alto rendimiento, los motores de IA pueden ofrecer una reducción de la energía dinámica y un ahorro sustancial de recursos en comparación con la implementación de lógica programable tradicional solamente
Mosaico de motor de IA

Cada mosaico del motor de IA consta de un procesador vectorial SIMD (Single Instruction Multiple Data, una instrucción, múltiples datos) y VLIW (Very Long Instruction Word, palabra de instrucción muy larga) optimizado para aprendizaje automático y aplicaciones avanzadas de procesamiento de señales. El procesador del motor de IA puede funcionar hasta a 1,3 GHz, lo que permite funciones eficientes, de alto rendimiento y de baja latencia.

Además del procesador vectorial VLIW, cada mosaico contiene memoria de programa para almacenar las instrucciones necesarias; memoria de datos local para almacenar datos, pesos, activaciones y coeficientes; y un procesador escalar RISC y diferentes modos de interconexión para manejar diferentes tipos de comunicaciones de datos.

Cargas de trabajo heterogéneas: aceleración de procesamiento de señales e inferencia de aprendizaje automático

AMD ofrece dos tipos de motores de IA: AIE y AIE-ML (motor de IA para aprendizaje automático), que ofrecen mejoras significativas en el rendimiento con respecto a las FPGA (Field-Programmable Gate Arrays, matrices de puertas lógicas programables en campo) de la generación anterior. AIE acelera un conjunto más equilibrado de cargas de trabajo, incluidas aplicaciones de inferencia de ML y cargas de trabajo de procesamiento de señales de DSP de alto rendimiento, como formación de haces, radar y otras cargas de trabajo que requieren una gran cantidad de filtrado y transformaciones. Con ampliaciones mejoradas del vector de IA y la introducción de mosaicos de memoria compartida dentro de la matriz de motor de IA, AIE-ML ofrece un rendimiento superior a AIE para aplicaciones enfocadas en inferencia ML, mientras que AIE puede ofrecer un mejor rendimiento frente a AIE-ML para ciertos tipos de procesamiento avanzado de señales.

AI Engine Diagram Workloads
Mosaico de motor de IA

AIE acelera un conjunto equilibrado de cargas de trabajo, incluidas aplicaciones de inferencia de ML y cargas de trabajo de procesamiento avanzado de señales como formación de haces, radar, FFT y filtros.

Compatibilidad con diversas cargas de trabajo y aplicaciones​
  • DSP de alto rendimiento para comunicaciones, radar, pruebas y mediciones, y aplicaciones industriales y automotrices
  • Procesamiento de video e imagen
  • Inferencia de aprendizaje automático
Compatibilidad nativa para tipos de datos reales, complejos y de punto flotante
  • INT8/16/32 de punto fijo
  • CINT16 y CINT32 de punto fijo complejo
  • FP32 de punto de datos flotante
Funciones de HW dedicadas para implementaciones FFT y FIR
  • 128 INT8 MAC por mosaico

Consulta el Manual de arquitectura de AMD Versal AI Engine para obtener más información.​

Operaciones por mosaico de AIE
INT4
256
INT8
256
INT16
64
CINT16
16 16
BFLOAT16*
16
FP32
16 16

* BFLOAT16 implementado usando el procesador vectorial FP32.

Mosaico de motor de IA-ML

La arquitectura de motor de IA-ML está optimizada para el aprendizaje automático, mejorando tanto el núcleo de procesamiento como la arquitectura de memoria. Capaces de procesar señales avanzadas y de ML, estos mosaicos optimizados desenfatizan la compatibilidad INT32 y CINT32 (común en el procesamiento por radar) para mejorar las aplicaciones enfocadas en ML.

AIE-ML estará disponible en dos versiones: AIE-ML, que duplica el procesamiento en comparación con AIE, y AIE-MLv2, que duplica el procesamiento en comparación con AIE-ML y agrega ancho de banda adicional entre las interconexiones de stream.

Compatibilidad nativa extendida para tipos de datos de ML
  • BFLOAT16
  • FP8 (solo AIE-MLv2)
  • FP16 (solo AIE-MLv2)
  • MX4 (solo AIE-MLv2)
  • MX6 (solo AIE-MLv2)
  • MX9 (solo AIE-MLv2)
Aumento del procesamiento de ML con latencia reducida
  • 256 INT8 MAC/ciclo por mosaico en AIE-ML
  • 512 INT8 MAC/ciclo por mosaico en AIE-MLv2
Aumento de la memoria de matriz para localizar datos
  • Memoria de datos local duplicada por mosaico (64 kB)
  • Mosaicos de memoria (512 kB) para acceso de memoria compartida de alto ancho de banda
Operaciones por mosaico de AIE-ML
INT4
1024
INT8
512
INT16
128
CINT16
16
BFLOAT16
256
FP32**
42

** Emulación de SW para compatibilidad AIE-ML FP32.

Parte de una plataforma heterogénea ​

El motor de IA, la lógica programable y un sistema de procesamiento forman una arquitectura heterogénea estrechamente integrada en los SoC adaptables Versal que se puede cambiar tanto a nivel de hardware como de software para adaptarse dinámicamente a las necesidades de una amplia gama de aplicaciones y cargas de trabajo.

Construida desde cero para ser programable por software de forma nativa, la arquitectura Versal presenta una NoC (network on chip, red en chip) programable y flexible de varios terabits por segundo para integrar sin interrupciones todos los componentes e interfaces clave, haciendo que la plataforma esté disponible en el inicio y tanto los desarrolladores de software como los científicos de datos y los desarrolladores de hardware puedan programarla con facilidad.

Aplicaciones

Motores de IA para cargas de trabajo heterogéneas, que varían desde procesamiento inalámbrico hasta aprendizaje automático en la nube, la red y el perímetro

Procesamiento de centro de datos

El análisis de imágenes y videos es fundamental para la explosión de datos en el centro de datos. La naturaleza de la CNN (convolutional neural network, red neuronal convolucional) de estas cargas de trabajo requiere cantidades intensas de procesamiento, a menudo alcanzando múltiples TeraOPS. Los motores de IA se optimizaron para ofrecer esta densidad de procesamiento de manera rentable y ahorrando energía.

Procesamiento inalámbrico 5G

La tecnología 5G puede proporcionar un rendimiento sin precedentes a una latencia extremadamente baja, lo que requiere un aumento significativo en el procesamiento de la señal. Los motores de IA pueden ejecutar este procesamiento de señales en tiempo real en la RU (radio unit, unidad de radio) y la DU (distributed unit, unidad distribuida) a menor potencia, como con las sofisticadas técnicas de formación de haces utilizadas en paneles MIMO masivos para aumentar la capacidad de la red.

ADAS y conducción autónoma

Las CNN son una clase de redes neuronales artificiales profundas y prealimentadas más comúnmente aplicadas al análisis de imágenes visuales. Las CNN se volvieron esenciales, ya que las computadoras se utilizan para todo, desde los vehículos de conducción autónoma hasta la videovigilancia. Los motores de IA proporcionan la densidad de procesamiento y la eficiencia necesarias para los formatos pequeños con envolventes térmicas estrechas.  ​

Industria aeroespacial y de defensa

La fusión de potentes motores de DSP basados en vectores con motores de IA en un formato pequeño permite una amplia gama de sistemas en la industria aeroespacial y de defensa, incluidos el radar de matriz en fases, la EW (early warning, alerta temprana), las comunicaciones militares y los vehículos no tripulados. Al admitir cargas de trabajo heterogéneas que varían desde el procesamiento de señales, el acondicionamiento de señales y AI Inference para cargas útiles de varias misiones, los motores de IA ofrecen eficiencia de procesamiento para cumplir con los requisitos exigentes de SWaP (size, weight, and power, tamaño, peso y potencia) de estos sistemas fundamentales.

Sector industrial

Las aplicaciones industriales, incluidas la robótica y la visión artificial, combinan la fusión de sensores con IA/ML para realizar el procesamiento de datos en el perímetro y cerca de la fuente de información. Los motores de IA mejoran el rendimiento y la confiabilidad en estos sistemas en tiempo real, a pesar de la incertidumbre del entorno.

Equipo de prueba inalámbrico

El DSP en tiempo real se utiliza ampliamente en equipos de prueba de comunicaciones inalámbricas. La arquitectura de motor de IA es adecuada para manejar todos los tipos de implementaciones de protocolos, incluida la tecnología 5G desde el front-end digital hasta la formación de haces y la banda base.

Atención médica

Las aplicaciones de atención médica que utilizan los motores de IA incluyen formadores de haces paralelos de alto rendimiento para ultrasonidos médicos, retroproyección para escáneres de TC, descarga de reconstrucción de imágenes en máquinas de resonancia magnética y diagnóstico asistido en una variedad de aplicaciones clínicas y de diagnóstico​.

Flujos de desarrollo de motores de IA

Los motores de IA se construyen desde cero para ser programables por software y adaptables al hardware. Hay dos flujos de diseño distintos para que los desarrolladores aprovechen el rendimiento de estos motores de procesamiento con la capacidad de compilar en minutos y explorar rápidamente diferentes microarquitecturas. Los dos flujos de diseño consisten en:

  • El IDE (Integrated Design Environment, entorno de diseño integrado) unificado de Vitis™ para programación de estilo C/C++, adecuado para desarrolladores de software y hardware
  • Vitis Model Composer para un flujo de diseño basado en modelos que funciona como complemento dentro de MathWorks Simulink®
  • Vitis AI para un flujo basado en el marco de IA/ML, dirigido a los científicos de IA y de datos

Las matrices de motor de IA también pueden permitir la implementación de funciones DSP de alto rendimiento con el uso optimizado de recursos y energía. El uso de motores de IA junto con los recursos de la estructura de FPGA puede permitir una implementación muy eficiente de aplicaciones de DSP de alto rendimiento. Aprende a utilizar el flujo de la herramienta AMD Vitis para desbloquear las capacidades de aceleración de hardware de los motores de IA para aplicaciones de DSP: Diseño de DSP de AMD Vitis AI Engine

Bibliotecas de motor de IA para desarrolladores de software/hardware y científicos de datos

Con la biblioteca de aceleración de Vitis, AMD proporciona kernels prediseñados que permiten:

  • Ciclos de desarrollo más cortos
  • Portabilidad a través de arquitecturas de motor de IA, por ejemplo, AIE a AIE-ML
  • Aprendizaje y adopción más rápidos de la tecnología de motor de IA
  • Capacidad para que los diseñadores se enfoquen en sus propios algoritmos patentados

Los desarrolladores de software y hardware programan directamente los motores de IA basados en procesadores vectoriales y pueden recurrir a bibliotecas prediseñadas con código C/C++ cuando sea apropiado.

Los científicos de datos de IA permanecen en sus entornos de marcos conocidos, como PyTorch o TensorFlow, y llaman a superposiciones de ML prediseñadas a través de Vitis AI sin tener que programar directamente los motores de IA.

Las bibliotecas son de código abierto y están disponibles en GitHub: https://github.com/Xilinx/Vitis_Libraries.

Programación de flujo de datos para desarrollador de software/hardware

La arquitectura de motor de IA se basa en una tecnología de flujo de datos. Los elementos de procesamiento vienen en matrices de 10 a 100 mosaicos, creando un solo programa a través de las unidades de procesamiento. Para un diseñador, integrar directivas en un paralelismo específico en estos mosaicos sería tedioso y casi imposible. Para superar esta dificultad, el diseño de motor de IA se realiza en dos etapas: desarrollo de kernel único seguido de creación de gráficos ADF (Adaptive Data Flow, flujo de datos adaptable), que conecta varios kernels en una aplicación general.

El IDE unificado de Vitis proporciona una única cabina de IDE que permite el desarrollo del kernel de motor de IA utilizando código de programación C/C++ y diseño de gráficos ADF. Específicamente, los diseñadores pueden:

  • Desarrollar kernels en C/C++ y describir funciones de procesamiento específicas usando bibliotecas de Vitis
  • Conectar kernels a través de gráficos ADF utilizando las herramientas de Vitis AI Engine

Se ejecuta un solo kernel en un único mosaico de motor de IA de manera predeterminada. Sin embargo, pueden ejecutarse varios kernels en el mismo mosaico de motor de IA, compartiendo el tiempo de procesamiento cuando la aplicación lo permita.

A continuación, se muestra un ejemplo conceptual:

  • Los kernels de motor de IA se desarrollan en C/C++
  • Los kernels en PL (programmable logic, lógica programable) se escriben en RTL o Vitis HLS (high level synthesis, síntesis de alto nivel) 
  • El flujo de datos entre kernels en los motores de PL e IA se realiza a través de un gráfico ADF
Integración del diseño del motor de IA en un sistema completo

Dentro del IDE unificado de Vitis, el diseño de motor de IA se puede incluir en un sistema completo más grande que combina todos los aspectos del diseño en un flujo integrado donde la simulación, la emulación de hardware, la depuración y la implementación son posibles.

  • Los compiladores dedicados se dirigen a diferentes motores heterogéneos de la plataforma Versal, incluidos el sistema de procesamiento (subsistema Arm®), la lógica programable y los motores de DSP e IA.
  • Un compilador de sistema luego enlaza estos bloques individuales de código y crea todas las interconexiones para optimizar el movimiento de datos entre ellos y cualquier jerarquía de memoria personalizada. El conjunto de herramientas también integra la cadena de herramientas x86 para sistemas basados en PCIe®.
  • Para implementar tu aplicación, el software Xilinx Runtime (XRT) proporciona API independientes de la plataforma y del sistema operativo para administrar la configuración del dispositivo, la memoria y las transferencias de datos de host a dispositivo, así como la ejecución del acelerador. 
  • Una vez que hayas ensamblado tu primer prototipo, puedes simular tu aplicación utilizando un simulador rápido de nivel de transacción o un simulador de ciclos precisos y utilizar un analizador de rendimiento para optimizar tu aplicación y obtener el mejor particionamiento y rendimiento.
  • Cuando estés satisfecho con los resultados, puedes implementarlo en la plataforma Versal.

Cartera

Serie Versal™ AI Core

La Serie AMD Versal AI Core ofrece AI Inference y aceleración inalámbrica innovadoras con motores de IA que ofrecen un rendimiento de procesamiento excepcional. Las aplicaciones para los SoC adaptables Versal AI Core, que presentan el procesamiento más alto en la cartera Versal, incluyen procesamiento para centros de datos, formación de haces inalámbrica, procesamiento de imágenes y video, y equipos de prueba inalámbricos.

Serie Versal™ AI Edge

La Serie AMD Versal AI Edge ofrece alto rendimiento y baja latencia en AI Inference para la inteligencia en conducción autónoma, sistemas predictivos de fabricación y atención médica, cargas útiles de múltiples misiones en la industria aeroespacial y de defensa, y muchas otras aplicaciones. Más que solo ofrecer IA, la Serie Versal AI Edge acelera toda la aplicación, desde el sensor hasta la IA y el control en tiempo real, todo esto mientras cumple con los requisitos fundamentales de seguridad y protección.

Versal Serie Premium

Diseñada para las aplicaciones de procesamiento y movimiento de datos más exigentes en comunicaciones con cable, procesamiento de centros de datos, pruebas y medición, y la industria aeroespacial y de defensa, la Serie AMD Versal Premium ofrece una capacidad de procesamiento de señales adaptable excepcional mediante la integración de motores de IA, que combina lógica programable, motores DSP y bloques de IP dura para Ethernet y cifrado de alta velocidad.

AMD Versal AI Edge VEK280
Kit de evaluación VEK280 para la Serie Versal AI Edge

El kit de evaluación VEK280, equipado con el SoC adaptable Versal AI Edge VE2802, ofrece motores de aceleración de hardware AIE-ML y DSP, junto con múltiples opciones de conectividad de alta velocidad. Este kit está optimizado para aplicaciones de inferencia de ML en mercados tales como el automotor, de visión, aeroespacial y de defensa, industrial, científico y médico.

AI Engine Diagram Versal AI Kit
Kit de evaluación VCK190 para la Serie Versal AI Core

El kit de evaluación VCK190 permite a los diseñadores desarrollar soluciones utilizando motores de IA y DSP capaces de ofrecer un rendimiento de procesamiento más de 100 veces superior en comparación con las CPU de servidor actuales. Con una amplia gama de opciones de conectividad y flujos de desarrollo estandarizados, el dispositivo VC1902 de la Serie Versal AI Core proporciona la mayor inferencia de IA y el mayor rendimiento de procesamiento de señales de la cartera de Versal para aplicaciones en la nube, la red y el perímetro.

Comenzar

La plataforma de software unificada de AMD Vitis proporciona kits de desarrollo de núcleo y bibliotecas integrales que utilizan tecnología de aceleración de hardware.

Visita los repositorios de Vitis GitHub y desarrollo de motor de IA para acceder a una variedad de tutoriales de motores de IA y obtener más información sobre las funciones de la tecnología y la metodología de diseño.

Las herramientas de motor de IA, tanto del compilador como del simulador, están integradas en el IDE de Vitis y requieren una licencia dedicada adicional. Comunícate con el representante de ventas local de AMD para obtener más información sobre cómo acceder a las herramientas y la licencia de motor de IA o utiliza el formulario Contactar a Ventas

AMD Vitis Model Composer es una herramienta de diseño basada en modelos que permite una exploración rápida del diseño dentro de los entornos de Simulink® y MATLAB®. Facilita el desarrollo y las pruebas de gráficos ADF de motor de IA a nivel del sistema, permitiendo a los usuarios incorporar bloques RTL y HLS con kernels o gráficos de motor de IA en la misma simulación. Utilizar las funciones de generación y visualización de señales dentro de la herramienta Simulink y MATLAB permite a los ingenieros de DSP diseñar y depurar en un entorno conocido. Para saber cómo usar los motores de IA de Versal con Vitis Model Composer, visita la página de recursos de motor de IA​.

Basado en la Serie Versal AI Core, el kit VCK190 permite a los diseñadores desarrollar soluciones utilizando motores de IA y motores de DSP. El kit de evaluación tiene todo lo que necesitas para comenzar a diseñar.

También está disponible la tarjeta de desarrollo VCK5000 basada en PCIe®, que incluye el dispositivo Versal AI Core con motores de IA, diseñado para AI Inference de alto rendimiento en el centro de datos.

Para el desarrollo de AIE-ML, el kit de evaluación VEK280, basado en la Serie Versal AI Edge, permitirá el desarrollo de aplicaciones de DSP y ML.

Los recursos de capacitación y aprendizaje de AMD proporcionan las habilidades prácticas y los conocimientos fundamentales que necesitas para lograr la máxima productividad en el próximo proyecto de desarrollo de SoC adaptable Versal. Los cursos incluyen las siguientes opciones:

Desde la planificación de soluciones hasta la integración y la validación de sistemas, AMD proporciona vistas personalizadas de la extensa lista de documentación de SoC adaptable Versal para maximizar la productividad de los diseños de los usuarios. Visita los centros de proceso de diseño de SoC adaptable Versal a fin de obtener el contenido más reciente para tus necesidades de diseño y explorar las capacidades y las metodologías de diseño de motor de IA.

Recursos

Mantente informado

Únete a la lista de notificaciones de SoC adaptable y FPGA para recibir las noticias y las actualizaciones más recientes.