El diseño de sistemas de silicio con aprendizaje profundo presenta los mismos desafíos que cualquier otro diseño complejo basado en sistemas en chip, pero más.
En una presentación reciente a un grupo de ejecutivos de la industria de semiconductores, el CEO y cofundador de BabbleLabs, Chris Rowen, dijo que hay dos formas importantes de ver el impacto del aprendizaje profundo en el espacio de los semiconductores. Su charla se dio en la reciente Cumbre de Mentor (Siemens Business) organizada por la División de Emulación.
Chris dijo que el aprendizaje profundo es un nuevo modelo informático y una forma diferente de pensar sobre cómo describir cómo funciona un sistema. Anteriormente, esto significaba escribir una expresión lógica. El código secuencial se usaba a menudo para expresar la funcionalidad con la esperanza de que el sistema hiciera exactamente lo que hacía el código. Fundamentalmente, el aprendizaje profundo es estadístico y no es la forma correcta de resolver un problema si existe una forma correcta conocida de llegar a una respuesta correcta definitiva. Por ejemplo, el aprendizaje profundo no debe usarse para alimentar calculadoras de bolsillo.
(Fuente: pixabay.com)
Según el tipo de problema, se puede considerar que la respuesta correcta es explicar el software, continúa Chris. En otros casos, el problema debe describirse como un conjunto de datos. Todo lo demás sobre las redes neuronales profundas tiene que derivarse automáticamente. Usó la síntesis lógica como ejemplo, utilizando datos de entrada y las etiquetas correspondientes para determinar el hardware requerido, y mostró la estructura de mapeo y red neuronal. Después de todo, estos son detalles de implementación.
La descripción básica es el conjunto de datos, que es otra forma de ver el problema. Uno de los desafíos intelectuales en la industria de TI es cómo utilizar nuevas metodologías ahora que están disponibles. Esto es tan básico como la aparición de los microprocesadores cuando no se disponía de programas para implementar funciones integradas.
Aprendizaje profundo en la nube y el perímetro
La segunda implicación es que el aprendizaje profundo usa e impulsa la nube y el borde de manera diferente.
La nube ofrece versatilidad y es donde aborda sus mayores problemas y realiza la mayor parte de su entrenamiento. La inferencia en la nube se realiza a través de grandes conjuntos de datos agregados que fluyen desde diferentes lugares del mundo.
Por el contrario, los bordes se utilizan para el procesamiento en tiempo real, de baja latencia, de menor potencia y de menor costo de una pequeña cantidad de flujos de datos.
Chris describió las redes neuronales y señaló que son diversas. Un ejemplo es Vision Space con su nuevo hardware de gama alta. Hacer todo a estas altas velocidades de datos a menudo requiere cientos de miles de millones a billones a decenas de billones de operaciones por segundo. Esta capacidad plantea preguntas interesantes, como la capacidad de las redes neuronales para extraer el habla de un ruido casi perfecto sin requerir mucha potencia computacional. Esta es una computación enorme en comparación con lo que se ha aplicado en el pasado. Menos exigente que los microcontroladores y los DSP de gama baja. De hecho, le dijo al público que esperara ver las diferentes formas en que se armó.
De hecho, esto desafiará el dominio de la GPU en el mercado, agregó Chris. Seis empresas ya están planeando construir chips más grandes con un número aún más asombroso de ceros en operaciones por segundo. En el otro extremo del espectro, existen aplicaciones en el mercado que se ejecutan en microcontroladores existentes.
Mientras tanto, los subsistemas de redes neuronales han hecho apariciones generalizadas en estos chips ómnibus, y los teléfonos inteligentes son las más notables de las primeras implementaciones de CPU. Luego vinieron los DSP, luego los DSP y las GPU, y ahora tenemos CPU, DSP, GPU y algunos procesadores neuronales profundos que trabajan juntos en computación heterogénea.
La heterogeneidad a nivel de hardware se refleja en la heterogeneidad en la integración del sistema. Chris afirma que ahora es más que juntar diferentes piezas de software. El software no tradicional también debe poder funcionar bien con el código heredado. Y esa integración será un desafío para aquellos que buscan implementar sistemas para desbloquear todo el potencial de la tecnología subyacente.
hardware de red neuronal
Por un lado, Chris comenta que el hardware de redes neuronales y el silicio de aprendizaje profundo son fáciles. En su núcleo es un pastel de capas computacionalmente complejo, funciones no lineales y buenas propiedades. El flujo de datos domina sin lógica de control. Los coeficientes son de solo lectura y se reutilizan con frecuencia. Tiene tremenda localidad de referencia. Los patrones de referencia de la memoria son regulares, estáticos y, a menudo, de tamaño modesto. Su capacidad de programación permite que una sola pieza de hardware resuelva muchos tipos de problemas. Además, su marco de desarrollo esconde detalles arquitectónicos.
El silicio de aprendizaje profundo, por otro lado, es difícil. Después de la parte aparentemente fácil, viene la complejidad de un rico conjunto de diferentes tipos de capas, como tamaños de convolución, diferentes pasos y longitudes de vectores. Los diseñadores a menudo realizan reorganizaciones de datos sobre la marcha a medida que los datos pasan por este cálculo de torta de capas, o usan modelos grandes para aprovechar la escasez de datos. El ancho de banda de la memoria varía mucho. Por ejemplo, el ancho de banda de la memoria utilizado para el entrenamiento depende del tamaño del modelo y del tamaño de los resultados intermedios. Ambos pueden causar problemas de ancho de banda de memoria en algunas redes.
El software de mapeo es la brecha más grande cuando los productos llegan al mercado. El desafío es describir uno de estos problemas a un alto nivel y ajustarlo de manera eficiente al hardware utilizando TensorFlow, Pie, Torture, Café o una serie de otros marcos. Chris dice que incluso las pocas empresas principales que luchan por encontrar las soluciones más eficientes siguen siendo incompletas. Los nuevos participantes están ingresando al juego mediante la introducción de nuevas arquitecturas o haciendo más trabajo que en el silicio para desarrollar el entorno de software. Como resultado, la disponibilidad de silicio puede exceder las capacidades de implementación de aplicaciones.
Chris identificó capacidades de aprendizaje profundo en los productos de Apple, Samsung y Huawei, pero preguntó dónde las aplicaciones utilizan estas capacidades. Estamos limitados por la inmadurez de las herramientas de software, concluye Chris respondiendo a su propia pregunta. Agregó que el silicio probablemente funcionaría, pero que habría cuellos de botella en el desarrollo de aplicaciones.
Aprendizaje profundo y emulación
Chris identificó una serie de desafíos, incluido el aumento del tamaño del chip, la transición a la computación heterogénea y la integración de hardware y software. En cualquier caso, los ingenieros de verificación de diseño de chips pueden beneficiarse de la emulación de hardware.
El diseño de sistemas de silicio con aprendizaje profundo presenta los mismos desafíos que cualquier otro diseño complejo basado en sistemas en chip, pero más. Todos los desafíos principales en diseños de vanguardia: enorme complejidad lógica y aritmética, gran huella de memoria y ancho de banda, integración con E/S en tiempo real, lanzamiento temprano de software, optimización conjunta de hardware y software. fallas de hardware y software, magnificadas por el aprendizaje profundo. Por lo tanto, el aprovechamiento de la productividad proporcionado por los diseños basados en emulación es especialmente valioso para que estos sistemas inteligentes funcionen de manera más rápida y exitosa.
Finalmente, Chris planteó el desafío de encontrar formas para que los desarrolladores de aplicaciones y herramientas creen soluciones que funcionen tanto en el hardware como en las capacidades del sistema. La implementación de una estrategia de emulación de hardware debería ser parte de la solución.
Nota del autor: Regístrese para escuchar más de Chris Rowen DVConse llevará a cabo del 25 al 28 de febrero en el Hotel DoubleTree en San José, California. Chris se une al panel (¿remodelando la industria o manteniendo el statu quo?) para hablar sobre el aprendizaje profundo con portavoces de Achronix, AMD, Arm y NVIDIA. El panel se llevará a cabo el miércoles 27 de febrero de 13:30 a 14:30 horas.