La IA en el perímetro ya no significa una IA simplificada

Nodo de origen: 1579936

Un aspecto de la sabiduría recibida sobre la IA ha sido que toda la innovación comienza en los grandes motores de aprendizaje/capacitación de máquinas en la nube. Parte de esa innovación podría eventualmente migrar en una forma reducida/limitada al borde. En parte, esto reflejaba la novedad del campo. Quizás también reflejó en parte la necesidad de soluciones preempaquetadas de talla única para widgets de IoT. Donde los diseñadores querían la inteligencia en sus productos pero no estaban listos para convertirse en expertos en diseño de ML. Pero ahora esos diseñadores se están poniendo al día. Leen los mismos comunicados de prensa e investigaciones que todos hacemos, al igual que sus competidores. Quieren aprovechar los mismos avances, pero respetando las limitaciones de energía y costos.

La IA en el perímetro ya no significa una IA simplificada

Reconocimiento facial

Diferenciación de IA en el borde

Se trata de la diferenciación dentro de un sobre de costo/potencia aceptable. Eso es difícil de conseguir con soluciones preempaquetadas. Después de todo, los competidores tienen acceso a las mismas soluciones. Lo que realmente desea es un conjunto de opciones de algoritmo modeladas en el procesador como aceleradores dedicados listos para ser utilizados, con la capacidad de superponerse en su propio valor agregado basado en software. Puede pensar que no hay mucho que pueda hacer aquí, aparte de algunos administradores y ajustes. Los tiempos han cambiado. CEVA presentó recientemente su procesador de IA integrado NeuPro-M que permite la optimización utilizando algunos de los últimos avances de ML, en profundidad en el diseño de algoritmos.

OK, entonces más control del algoritmo, pero ¿con qué fin? Desea optimizar el rendimiento por vatio, pero la métrica estándar, TOPS/W, es demasiado gruesa. Las aplicaciones de imágenes deben medirse en fotogramas por segundo (fps) por vatio. Para aplicaciones de seguridad, seguridad automotriz o prevención de colisiones con drones, los tiempos de reconocimiento por cuadro son mucho más relevantes que las operaciones sin procesar por segundo. Por lo tanto, una plataforma como NeuPro-M, que puede entregar hasta miles de fps/W, en principio manejará tasas de fps realistas de 30 a 60 cuadros por segundo a muy baja potencia. Eso es un avance real en las soluciones tradicionales de IA preempaquetadas.

Haciéndolo posible

Los algoritmos definitivos se construyen marcando las funciones sobre las que ha leído, comenzando con una amplia gama de opciones de cuantificación. Lo mismo se aplica a la diversidad de tipos de datos en activación y pesos en un rango de tamaños de bit. La unidad multiplicadora neuronal (NMU) admite de manera óptima múltiples opciones de ancho de bits para activación y pesos como 8×2 o 16×4 y también admitirá variantes como 8×10.

El procesador es compatible con Winograd Transforms o convoluciones eficientes, lo que proporciona una ganancia de rendimiento de hasta 2X y una potencia reducida con una degradación de precisión limitada. Agregue el motor de escasez al modelo para una aceleración de hasta 4X según la cantidad de valores cero (ya sea en datos o pesos). Aquí, la Unidad de multiplicador neuronal también admite una variedad de tipos de datos, fijos de 2 × 2 a 16 × 16, y punto flotante (y Bfloat) de 16 × 16 a 32 × 32.

La lógica de transmisión proporciona opciones para el escalado, la activación y la agrupación de puntos fijos. El procesador vectorial le permite agregar sus propias capas personalizadas al modelo. "Y qué, todo el mundo apoya eso", podría pensar, pero vea a continuación el rendimiento. También hay un conjunto de funciones de inteligencia artificial de próxima generación que incluyen transformadores de visión, convolución 3D, compatibilidad con RNN y descomposición de matriz.

Muchas opciones de algoritmos, todas respaldadas por una optimización de red para su solución integrada a través del marco CDNN para aprovechar al máximo el poder de sus algoritmos ML. CDNN es una combinación de un compilador de gráficos de inferencia de red y una herramienta complementaria PyTorch dedicada. Esta herramienta podará el modelo, admitirá opcionalmente la compresión del modelo a través de la descomposición de la matriz y agregará un reentrenamiento consciente de la cuantificación.

Optimización del rendimiento

En la mayoría de los sistemas de IA, algunas de estas funciones pueden manejarse en motores especializados, lo que requiere que se descarguen los datos y que la transformación se vuelva a cargar cuando se complete. Eso es una gran cantidad de latencia adicional (y tal vez compromisos de energía), lo que socava por completo el rendimiento en su modelo, que de otro modo sería sólido. NeuPro-M elimina ese problema conectando todos estos aceleradores directamente a un caché L1 compartido. Sosteniendo un ancho de banda mucho más alto que el que encontrará en los aceleradores convencionales.

Como ejemplo sorprendente, la unidad de procesamiento de vectores, que normalmente se usa para definir capas personalizadas, se encuentra al mismo nivel que los demás aceleradores. Sus algoritmos implementados en la VPU se benefician de la misma aceleración que el resto del modelo. Una vez más, no es necesario descargar ni recargar para acelerar las capas personalizadas. Además, puede tener hasta 8 de estos motores NPM (todos los aceleradores, más el caché NPM L1). NeuPro-M también ofrece un nivel significativo de optimización del ancho de banda controlado por software entre la caché L2 y las cachés L1, optimizando el manejo de tramas y minimizando la necesidad de accesos DDR.

Naturalmente, NeuPro-M también minimizará el tráfico de datos y peso. Para los datos, los aceleradores comparten la misma caché L1. Un procesador host puede comunicar datos directamente con el NeuPro-M L2, lo que nuevamente reduce la necesidad de transferencias DDR. NeuPro-M comprime y descomprime pesos en el chip en transferencia con memoria DDR. Puede hacer lo mismo con las activaciones.

La prueba en aceleración fps/W

CEVA ejecutó puntos de referencia estándar utilizando una combinación de algoritmos modelados en los aceleradores, desde nativo a través de Winograd, a Winograd+Sparsity, a Winograd+Sparsity+4×4. Ambos puntos de referencia mostraron mejoras de rendimiento de hasta 3X, con una potencia (fps/W) de alrededor de 5X para un ISP NN. La solución NeuPro-M entregó un área más pequeña, un rendimiento 4X, 1/3 de la potencia, en comparación con su generación anterior NeuPro-S.

Hay una tendencia que estoy viendo de manera más general para obtener lo último en rendimiento mediante la combinación de varios algoritmos. Que es lo que CEVA ahora ha hecho posible con esta plataforma. Puedes leer más AQUÍ.

Comparte esta publicación a través de: Fuente: https://semiwiki.com/artificial-intelligence/306655-ai-at-the-edge-no-longer-means-dumbed-down-ai/

Sello de tiempo:

Mas de Semiwiki