Los sistemas integrados son cada vez más necesarios para realizar “AI y DL en el borde”. Es el borde de Internet donde los sensores y actuadores interactúan con el mundo real.
Los sistemas integrados son cada vez más necesarios para realizar “AI y DL en el borde”. Es el borde de Internet donde los sensores y actuadores interactúan con el mundo real.
Se están logrando rápidos avances en lo que respecta a la inteligencia artificial (IA), las redes neuronales artificiales (ANN) y el aprendizaje profundo (DL). Algunas noticias interesantes son que CEVA ha anunciado la familia de procesadores NeuPro para AI/DL en el perímetro (consulte también la columna de Rich Quinnell. Una mirada entre bastidores a CES 2018 revela las próximas innovaciones).
Al igual que con todos los productos de hardware de CEVA, el procesador NeuPro viene en forma de propiedad intelectual (IP) que los diseñadores pueden implementar en FPGA o integrar en dispositivos de sistema en chip (SoC).
Antes de sumergirnos en estos procesadores, retrocedamos un poco para establecer la escena y asegurarnos de que estamos hablando de lo mismo. Considere el siguiente proceso de aprendizaje profundo de alto nivel (para este ejemplo, suponga algún tipo de sistema de visión artificial destinado a realizar la detección y el reconocimiento de objetos):
Primero, defina la arquitectura ANN y captúrela utilizando un sistema adecuado como Caffe o TensorFlow de Google. Luego “entrenas” la red con cientos de miles o millones de imágenes. Esta etapa requiere mucha precisión. En otras palabras, generalmente usamos valores de coma flotante de 32 bits.
El siguiente paso es convertir la red de punto flotante de 32 bits en un equivalente de punto fijo de 16 u 8 bits adecuado para la implementación en FPGA o SoC (se prefieren las representaciones de punto fijo para un mejor rendimiento). el consumo de energía).
Finalmente, implemente la red en el dispositivo de destino, use la cámara para presentar una imagen (como una imagen de Daisy) y sorprenda cuando el sistema diga: “¡Oye, mira esa Daisy!”
verificar este video Aquí está su historia, demostrando tal sistema en ESC Boston en 2017. Para ser honesto, estoy impresionado por esta tecnología. Este era un sistema antiguo prestado de CEVA en 2016 (esto es como hace 100 años en inteligencia artificial/aprendizaje profundo). universo).
<span id=”selection-marker-1” class=”redactor-selection-marker”&amp ;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp ;amp;amp;amp;amp;lt;/span>
Al convertir la red entrenada en un equivalente de punto fijo desplegable de 16 u 8 bits, CEVA tiene Red neuronal profunda CEVA (CDNN) contiene generadores que admiten más de 120 tipos de redes neuronales (Caffe, TensorFlow, etc.). La red de punto fijo generada está totalmente optimizada para su uso en procesadores CEVA-XM y NeoPro.
Los algoritmos AI/DL requieren una enorme potencia computacional, especialmente durante la fase de entrenamiento. Esta es la razón por la que la red original de coma flotante de 32 bits generalmente se basaba en servidores basados en la nube de servicio pesado. Sin embargo, a los sistemas integrados se les pide cada vez más que realicen “AI y DL en el borde”. Es el borde de Internet donde los sensores y actuadores interactúan con el mundo real.
En algunos casos, puede ser necesario realizar entrenamientos y reentrenamientos al límite. Por ejemplo, los automóviles de última generación. Cuando compre un automóvil nuevo en el futuro, lo primero que debe hacer es entrenarlo para saber cómo se ve. Las puertas se desbloquean cuando te acercas y el motor arranca cuando dices “vamos”. Cuando llegue a casa más tarde, entrénelo para que reconozca a los demás miembros de su familia.
Lograr AI/DL en el borde requiere procesadores especializados diseñados y optimizados para realizar estas tareas de manera muy eficiente con un consumo mínimo de energía. Aquí es donde brilla la nueva familia de procesadores NeuPro de CEVA. Cada procesador NeuPro consta de dos motores principales, el NeuPro VPU y el NeuPro Engine.

El motor NeuPro cuenta con funciones especializadas como la multiplicación de matrices, la activación de hardware y las capas de agrupación (realizar la activación y la agrupación en el chip mejora drásticamente el rendimiento y reduce el consumo de energía). La NeuPro VPU, por otro lado, es una unidad de procesador vectorial totalmente programable que admite extensiones de usuario, personalizaciones y firmware CDNN (por lo que no se requiere un controlador adicional).
Los procesadores NeuPro admiten cuantificación de 8 y 16 bits por capa. Puede decidir en tiempo real cuál usar para lograr el mejor equilibrio entre rendimiento y precisión. Capaz de admitir todos los tipos y topologías de capa de red neuronal, el procesador puede contener hasta 4K 8×8 MAC y puede configurarse para funcionar como 2K 8×16 MAC o 1K 16×16 MAC.
¿Alguna vez ha intentado implementar Game of Life (GOL) de Conway en un procesador de uso general (consulte Max’s Cool Beans: Artificial Life Simulations)? Incluso si el algoritmo que trata con el centro de la matriz es muy eficiente, puede ser lento porque trata con las condiciones de contorno en los bordes del “Universo GOL”. Un problema similar ocurre en AI/DL cuando se usan tensores 3D.
La solución proporcionada por los procesadores NeuPro es que el controlador integrado DMA (Dynamic Memory Access) realiza el procesamiento automático de bordes de mapas en hardware. Es decir, relleno de valor cero o constante en la entrada y recorte del mapa de salida para facilitar el procesamiento por SIMD (instrucción única, datos múltiples). ) software.

La familia NeuPro consta de cuatro procesadores AI/DL especializados autónomos que escalan el rendimiento para una amplia gama de mercados finales, incluidos IoT, teléfonos inteligentes, vigilancia, automotriz, robótica, médica e industrial. Estos procesadores manejan una gama completa de cargas de trabajo de redes neuronales profundas en el dispositivo, incluido el reconocimiento facial, los filtros faciales de realidad aumentada, la clasificación inteligente de objetos, el procesamiento del lenguaje natural, la traducción en tiempo real, la gestión del flujo de trabajo, la autenticación y la detección de malware en tiempo real. a .

Los cuatro procesadores de la familia NeuPro ofrecen diferentes niveles de paralelismo, desde 2 tera operaciones por segundo (TOPS) para procesadores básicos hasta 12,5 TOPS para configuraciones de vanguardia.
- El NP500 contiene 512 unidades MAC y es el procesador más pequeño dirigido a IoT, dispositivos portátiles y cámaras.
- El NP1000 contiene 1024 unidades MAC y se dirige a teléfonos inteligentes de gama media, ADAS, aplicaciones industriales y auriculares AR/VR.
- El NP2000 contiene 2048 unidades MAC y está dirigido a teléfonos inteligentes de alta gama, vigilancia, robots y drones.
- El NP4000 incluye 4.096 unidades MAC para procesamiento perimetral de alto rendimiento en vigilancia empresarial y conducción autónoma.
La familia de procesadores NeuPro estará disponible para licencias para clientes selectos en el segundo trimestre de 2018, con licencias generales disponibles en el tercer trimestre de 2018 (haga clic aquí para más información).