▷ Artificial Intelligence #AI based on #FPGA

 ⭐⭐⭐⭐⭐ Artificial Intelligence #AI based on #FPGA

Actualmente, Inteligencia Artificial es uno de los términos más utilizados en muchas áreas, no solo en entornos de tecnología pura, sino también en economía, leyes, medicina, entretenimiento, entre otros. Uno de los objetivos principales de la inteligencia artificial es mejorar el núcleo del negocio en el que está presente. Tradicionalmente, la mejora de un negocio se lleva a cabo por expertos, sin embargo, no siempre es rápida o eficiente. La Inteligencia Artificial (IA) permite en distintos escenarios delegar las tareas más complejas a una máquina, e increíblemente, sin decirle explícitamente cómo hacerlo [1].

Las GPU son dispositivos de arquitectura basados en instrucciones, como las CPU, mientras que las FPGA requieren un lenguaje de descripción de hardware (HDL). Es decir, los primeros están programados con lenguajes como C, Python o Java, los segundos están configurados con VHLD o Verilog. Es necesario aclarar que a través de cualquiera de los lenguajes es posible implementar cualquier cálculo deseado, pero el desarrollo en FPGA sigue siendo un conocimiento más difícil o más especializado [1].

Las GPU son más comerciales y no requieren un desarrollo previo para implementar modelos de inteligencia artificial, pues entre desarrolladores y fabricantes trabajan para facilitar el trabajo de los usuarios, el desempeño es óptimo y se han solucionado inconvenientes a lo largo de los años.
El uso de FPGA actualmente se limita a investigaciones o aplicaciones puntuales en donde la baja latencia es un factor importante, por lo tanto, la decisión de que dispositivo usar para una implementación de inteligencia artificial radica en el tiempo y costo de desarrollo dispuesto a invertir, buscando no solo una buena solución, sino la mejor solución posible para cada aplicación [1].
 
Las GPU son dispositivos especializados, aunque cumplen con distintas funciones, todas ellas dentro del procesamiento de matrices, es decir, imágenes, video, modelos de IA, entre otros, todos ellos de fácil uso. No es posible modificar la arquitectura interna del dispositivo, por lo tanto, si se requiere una arquitectura más veloz se debe comprar un nuevo dispositivo[1].

La FPGA permite cualquier tipo de aplicación, obteniendo los mejores resultados posibles, en contra parte se deberá desarrollar por completo cualquier funcionalidad. En caso de desear modificar la aplicación o cambiarla es posible, también modificar la arquitectura interna del dispositivo, por lo cual no requiere una nueva inversión en equipo[1].

Aplicaciones:
  • Recientes investigaciones han demostrado la eficiencia de las arquitecturas basadas en FPGA (SoftProcessor) vs arquitecturas basadas en procesadores ARM (HardProcessor), permitiendo a las FPGA alcanzar tiempos 5 más rápidos que su contraparte ARM [2].
  • Existen trabajos recientes que han implementado algoritmos de clasificación para la detección de intenciones motoras basados en señales de Electroencefalogrfía (EEG) [3]. Así mismo, se han utilizado FPGA en la clasificación de intenciones motoras basados en señales de Electromiografía (EMG) [4]. Estos trabajos permiten demostrar la eficiencia de las arquitecturas FPGA en aplicaciones de Brain Computer Interface (BCI).
  • La combinación de arquitecturas basadas en FPGA con los algoritmos de Inteligencia Artificial (IA) no conocen limites, recientes trabajos de investigación han logrado desarrollar aplicaciones de predicción de comportamiento humano basados en contextos [5], así como aplicaciones de predicción de variables para sistemas de riego inteligente [6].
El mercado de FPGA es grande, sin embargo, el fabricante Xilinx está en el proceso de redefinir su ecosistema de productos para incluir SoC con FPGA incorporados: con procesadores ARM de propósito general (serie Cortex-A) y puertas lógicas programables para lidiar con la aceleración de algoritmos, especialmente cuando se trata de fusión de sensores / E / S programables y dispositivos de bajo costo. Como resultado, Xilinx está lanzando un nuevo SoC de la serie Zynq 7000 de un solo núcleo con un FPGA integrado, así como los nuevos FPGA Spartan-7 y Artix-7 enfocados en el bajo costo [7].

El nuevo Spartan-7 está destinado a la fusión de sensores y la conectividad, mientras que el Artix-7 está destinado al mercado de procesamiento de señales. El Zynq-7000 es para el espacio de SoC programable, con un solo núcleo ARM (varios modelos que comienzan con Cortex-A9, pasando a Cortex-A53 dual / cuádruple) que permite funciones analíticas en chip, así como implementaciones impulsadas sin host y cifrado de flujo de bits [7].

Referencias:


Leer temas relacionados:

Comentarios

Popular Posts

▷ Especificaciones del módulo ESP32

▷ #ESP32 - REAL-TIME CLOCK #RTC INTERNO

▷ #ESP32 - SINCRONIZAR RTC INTERNO CON SERVIDOR NTP

▷ #ESP32 - Display OLED 128x64

▷ #ESP32 - Over-The-Air programming #OTA

▷ SISTEMAS EMBEBIDOS, PROYECTOS PROPUESTOS (2021 PAO1)

▷ #ESP32 - #MQTT (Introducción)

▷ DISEÑO DE SISTEMAS DIGITALES, PROYECTOS PROPUESTOS (2019 2do Término)

▷ SISTEMAS EMBEBIDOS, PROYECTOS PROPUESTOS (2020 1er Término)