Inicio Artículos Los requisitos cada vez mayores de la IA en la periferia exigen...

Los requisitos cada vez mayores de la IA en la periferia exigen soluciones con un rendimiento más elevado

Una forma que tienen los diseñadores de aumentar rápidamente sus recursos de computación en la periferia (Edge) sin depender de la nube consiste en utilizar las capacidades de procesamiento en paralelo inherentes a las FPGA para potenciar el rendimiento de la red neuronal. Además, mediante el uso de FPGA de menor densidad optimizadas para un consumo más bajo y suministradas en encapsulados compactos, los diseñadores pueden ajustarse a las exigentes limitaciones de consumo y espacio asociadas a las nuevas aplicaciones industriales y de consumo. A modo de ejemplo, las familias de productos iCE40 UltraPlus™ y ECP5™ de Lattice permiten desarrollar soluciones en la periferia que consumen entre 1 mW y 1 W en plataformas de hardware compactas que ocupan de 5,5 mm2 a 100 mm2.
Estas FPGA, caracterizadas por su muy bajo consumo, alto rendimiento y precisión, junto con su amplia compatibilidad con interfaces más antiguos, proporcionan a los desarrolladores de dispositivos en la periferia la flexibilidad que necesitan para cambiar los requisitos del diseño. Con el objetivo de abordar esta necesidad y de acelerar el desarrollo, Lattice ha integrado sensAI™, la primera solución en el mercado que ofrece a los diseñadores todas las herramientas que necesitan para desarrollar dispositivos de bajo consumo y alto rendimiento en la periferia para hogares, fábricas y coches inteligentes.
Al haber sido diseñada para cubrir la creciente necesidad de dispositivos en la periferia con soporte para IA (inteligencia artificial), sensAI ofrece una solución completa de hardware y software con el fin de implementar una funcionalidad de bajo consumo siempre activa en dispositivos inteligentes que funcionen en la periferia de la red. Dicha solución, presentada en 2018, fue diseñada para crear un nuevo diseño o para actualizar uno existente con inferencia de IA de bajo consumo optimizada para estos nuevos requisitos de la aplicación. ¿En qué consiste este ecosistema de diseño completo? En primer lugar, plataformas modulares de hardware de Lattice como iCE40 UPduino 2.0 con HM01B0 Shield y el Embedded Vision Development Kit (EVDK) basado en ECP5 proporcionan una sólida base para el desarrollo de aplicaciones.
La UPduino se puede utilizar en diseños de IA que apenas consuman unos pocos milivatios, mientras que el EVDK se dirige a aplicaciones de mayor consumo pero que en general se sitúen por debajo de 1 W. La propiedad intelectual (IP) del software se puede reproducir fácilmente en una FPGA para agilizar el desarrollo de redes neuronales. En este sentido, el paquete de desarrollo de sensAI incluye la IP de un acelerador de red neuronal convolucional (RNC) compacta que permite a los diseñadores implementar aplicaciones de aprendizaje profundo (deep learning) en la FPGA iCE40 UltraPlus. sensAI también ofrece un núcleo de IP de acelerador parametrizable de la RNC que se puede implementar en las FPGA ECP5 de Lattice. Estas IP permiten una cuantificación variable lo cual, a su vez, dotan a los diseñadores de la capacidad de compensar precisión de los datos y consumo. La solución sensAI de Lattice abre la posibilidad de que los diseñadores exploren opciones de diseño y buscar la mejor combinación con un flujo de herramientas de fácil uso. Los diseñadores pueden entrenar la red recurriendo a entornos estándar como Caffe, Tensor- Flow y Keras.
El entorno de desarrollo también ofrece un compilador de red neuronal que reproduce el modelo de la red entrenada en coma fija que admite la cuantificación variable de valoraciones y activaciones. Los diseñadores pueden utilizar el compilador para ayudar a analizar, simular y compilar diferentes tipos de redes para su implementación en los núcleos de IP del acelerador de Lattice sin experiencia previa en RTL. Los diseñadores pueden recurrir a continuación a sus herramientas de diseño tradicionales para FPGA, como Radiant y Diamond de Lattice, con el fin de aplicar el diseño de la FPGA en su conjunto. Para agilizar la implementación del diseño, sensAI ofrece una creciente gama de diseños de referencia y demostraciones. La lista está formada por diseños y demostraciones para reconocimiento facial, detección de gestos de las manos, detección de palabras clave, detección de presencia humana, seguimiento facial, recuento de objetos y detección de señales de velocidad. Finalmente, los equipos de diseño necesitan a menudo conocimientos especializados para completar un diseño. Para cubrir dicha necesidad, Lattice ha establecido acuerdos con una serie de proveedores de servicios de diseño en varias zonas geográficas para ofrecer soporte local a los clientes si no disponen de los conocimientos necesarios sobre IA y aprendizaje automático.
Mejoras importantes
Con el objetivo puesto en cumplir estos requisitos cada vez mayores por lo que se refiere al rendimiento para la IA en la periferia, Lattice ha anunciado importantes mejoras en el rendimiento y el flujo de diseño de sensAI en 2019. Esta versión revisada multiplica por diez el rendimiento respecto a la versión inicial gracias a múltiples factores, como la optimización del acceso a memoria con una IP de RNC actualizada y un compilador de red neuronal con funciones como cuantificación de 8 bit, fusión inteligente de capas y doble motor DSP. En la versión más reciente, la secuencia de acceso a memoria se ha visto mejorada significativamente tras haber actualizado el compilador de la red neuronal para admitir datos de entrada de 8 bit. Esto no solo reduce a la mitad el acceso a memoria externa sino que también permite usar imágenes de mayor resolución como datos de entrada que aumentan la precisión en la aplicación final.
Lattice ha optimizado la capa de convolución en la red neuronal de sensAI para aumentar todavía más el rendimiento, reduciendo para ello el tiempo total que necesita para computar las convoluciones. Lattice ha duplicado el número de motores de convolución en sus dispositivos, que pueden reducir el tiempo de convolución alrededor de un 50% según las estimaciones. Dado que Lattice ha mejorado el rendimiento sin aumentar el consumo, los diseñadores ahora tienen la oportunidad de adoptar un dispositivo con menos puertas perteneciente a la gama de FPGA ECP5 de Lattice sin penalizar el consumo. Las demostraciones optimizadas ayudan a reflejar este mayor rendimiento.
Una demostración de detección de presencia humana, que está optimizada para minimizar el consumo e incorpora un sensor de imagen CMOS, ofrece una resolución de 64 x 64 x 3 mediante una red VGG8. El sistema trabaja a cinco imágenes por segundo y apenas disipa 7 mW utilizando una FPGA iCE40 UltraPlus. Una segunda demostración con un rendimiento optimizado se dirige a aplicaciones de recuento de personas, también incorpora un sensor de imagen CMOS y ofrece una resolución de 128 x 128 x 3 mediante una red VGG8. Esta demostración funciona a 30 imágenes por segundo y disipa 850 mW con una FPGA ECP5-85K. La impecable experiencia de usuario de sensAI permite recurrir a nuevos modelos de red neuronal, entornos de aprendizaje automático y ciclos de diseño más rápidos.
Los nuevos diseños de referencia personalizables simplifican el desarrollo de soluciones habituales en la periferia como el recuento de objetos y la detección de presencia, mientras que un creciente número de proveedores de diseño suministra importantes servicios de diseño. Gracias a estos diseños, Lattice ofrece ahora a los desarrolladores todos los componentes clave que necesitan para reproducir o modificar su diseño con facilidad. Como ejemplo, el siguiente diagrama de bloques muestra la completa oferta de componentes de Lattice, formada por modelos de entrenamiento, conjuntos de datos de entrenamiento, scripts de entrenamiento, IP de red neuronal actualizada y un compilador de red neuronal actualizado.
Dentro de su compromiso con proporcionar una impecable experiencia de usuario, Lattice ha potenciado su soporte a entornos de aprendizaje automático. Inicialmente sensAI era compatible con Caffe y TensorFlow, mientras que su sucesor añade el soporte a Keras, una red neuronal de código abierto escrita en Python y diseñada para su ejecución sobre TensorFlow, Microsoft Cognition Toolkit o Theano. Keras, que trata de ayudar a los ingenieros a la rápida realización de pruebas con redes neuronales profundas, simplifica el desarrollo rápido de prototipos al ofrecer un entorno muy fácil de usar, modular y ampliable. En un principio se concibió como interfaz en lugar de entorno autónomo para aprendizaje automático y ofrece a los desarrolladores un alto nivel de abstracción que acelera el desarrollo de modelos de aprendizaje profundo. Para facilitar aún más su utilización, Lattice ha actualizado el compilador de redes neuronales de sensAI con el fin de seleccionar automáticamente los bits de la fracción más precisa al convertir un modelo de aprendizaje automático en el archivo de firmware.
Las actualizaciones de sensAI también se suministran junto con una herramienta de depuración de hardware para que los usuarios lean y escriban cada capa de la red. Tras la simulación del software, los ingenieros también desean saber cómo responderá su red en el hardware real. Gracias a esta herramienta, los ingenieros pueden ver los resultados en el hardware real en unos minutos. A todo ello se suma que la última versión de sensAI cuenta con el soporte de un creciente número de empresas que suministran servicios de diseño y habilidades de desarrollo de productos optimizadas para dispositivos en la periferia de menor consumo y siempre activos. Estas empresas pueden ayudar a los clientes a disponer de dispositivos de IA en la periferia, bien sea actualizando los diseños existentes o desarrollando soluciones totalmente nuevas para determinadas aplicaciones.
Conclusión
Resulta obvio que los próximos años serán cruciales para el desarrollo del mercado de dispositivos inteligentes y siempre activos en la periferia. A medida que aumenta la complejidad de las aplicaciones, los diseñadores necesitarán herramientas capaces de alcanzar mayores niveles de rendimiento con un bajo consumo. La versión más reciente de la tecnología sensAI de Lattice, junto con las FPGA ECP5 y iCE40 UltraPlus, ofrece a los diseñadores las plataformas de hardware, la IP, las herramientas de software, los diseños de referencia y los servicios de diseño que necesitarán para superar a sus competidores y desarrollar soluciones exitosas con rapidez.