No sorprende que encontremos muchas aplicaciones que pueden aprovechar el poder de la IA para mejorar los procesos y construir chips más rápido.
Jean-Marie Brunet, director sénior de marketing de Mentor, una empresa de Siemens, moderó un panel de discusión de DVCon EE. UU. sobre temas candentes en inteligencia artificial (IA) y aprendizaje automático (ML).
Raymond Nijssen, vicepresidente y tecnólogo jefe de Achronix, fue panelista en la sesión de una hora. Rob Aitken, miembro y director de tecnología de Arm. Miembro sénior de AMD, Alex Starr. Ty Garibay, vicepresidente de ingeniería de hardware en Mythic. y Saad Godil, Director de Investigación de Aprendizaje Profundo Aplicado en Nvidia.
(Fuente: pixabay.com)
A continuación se muestra la parte 1 de una miniserie de cuatro partes basada en las transcripciones del panel. Esto cubre la primera pregunta de Brunet sobre cómo la IA está remodelando la industria de los semiconductores, específicamente la verificación del diseño de chips y las impresiones de los panelistas.
La parte 2 cubre el diseño y la verificación de chips de IA, mientras que las partes 3 y 4 presentan preguntas de la audiencia y respuestas de los panelistas.
Raimundo Nisen: Si observa lo que está sucediendo, verá grandes cambios en la industria de FPGA. En las aplicaciones tradicionales, las aplicaciones DSP impulsadas por procesadores DSP integrados en FPGA están en transición a arquitecturas orientadas a aplicaciones de aprendizaje automático en términos de movimiento de datos y naturaleza computacional. La raíz de estos cálculos es bastante simple. Todos estos algoritmos tienen algo en común, básicamente consisten en una gran cantidad de multiplicaciones implementadas de varias maneras inteligentes. Por supuesto, hay muchas maneras de aislar el problema. Después de todo, desde un punto de vista conceptual, este es un chip bastante simple que se repite una y otra vez.
La complejidad no proviene de la diversidad y heterogeneidad de chips. Estos chips tienden a ser homogéneos, con un fuerte enfoque en el movimiento de datos y operaciones aritméticas básicas. En ese sentido, verificar estos chips desde una perspectiva de verificación de diseño tradicional no es diferente de lo que ya sabe y hace. Con tanto software en el sistema, la verificación del rendimiento del sistema es muy compleja.
Todas las pilas de software están fragmentadas, diferentes personas tienen diferentes formas de resolver el mismo problema, lo que conduce a soluciones completamente diferentes. Para lograr altas tasas de TOPS, los chips pueden tener una gran cantidad de multiplicadores. Especialmente si tiene matrices dispersas, descubrirá que no puede mantenerlas ocupadas porque hay un cuello de botella en algún lugar del subsistema de memoria o en la forma en que se accede a los datos. Se complica Finalmente, validar chips de IA es probablemente más complicado que validar procesadores.
Rob Aitken: Yo diría que es muy parecido a validar un procesador, ya que la propia unidad de aprendizaje automático está haciendo el trabajo. no la GPU. no la CPU. Pero hago muchas multiplicaciones y sumas como parte de mi programa. Creo que un problema de validación interesante es exactamente lo que alguien describió. Se trata de cómo estas unidades de procesamiento interactúan entre sí y qué hace el sistema.
Construya un acelerador de 2 mil millones de TOPS por vatio y lo verá.Pero no entiendo cómo llegan los datos de la memoria del sistema a la caja, así que no sé cómo conectarlos a nada. [and] En segundo lugar, una vez finalizado el cálculo, ¿cómo se informan los resultados?
Cómo encaja la aceleración en el flujo de control general. Como dijo Raymond, estructurar tanto el hardware como el software para manejar el problema requiere un ejercicio holístico. De esa manera, puede eliminar tantos cuellos de botella como sea posible. También lo ayuda a reconocer cualquier cuello de botella restante y diseñar su sistema para que se ejecute lo más rápido posible. El trabajo que ya se ha hecho es enorme, pero aún queda mucho por hacer.
Desde la perspectiva de la validación del aprendizaje automático, creo que este es un subconjunto interesante del problema EDA en general. Si observa EDA, la gente ha creado una gran cantidad de heurísticas en los últimos 30 años, y esas heurísticas son bastante buenas.
A diferencia de muchos otros problemas, la simple aplicación del aprendizaje automático a un problema EDA genérico no conduce necesariamente a mejores resultados. Su solución en realidad puede ser peor. Mirando hacia atrás en la ola anterior de IA en la década de 1990, hubo muchos documentos sobre nuestros aspectos favoritos del aprendizaje automático y la verificación, así como otros problemas de EDA. La mayoría de ellos no fueron a ninguna parte. El poder computacional realmente no existía, y la idea de entrenar redes neuronales profundas y superficiales realmente no se afianzó.
Lo que ahora sabemos es que si observa algunos problemas específicos, puede encontrar excelentes soluciones. Como ejemplo, parte del trabajo realizado en Arm se centró en elegir qué vectores de prueba tienen más o menos probabilidades de agregar valor a la suite de validación. Ese problema resultó ser relativamente fácil de formular como un problema de aprendizaje automático, específicamente un problema de reconocimiento de imágenes. Un conjunto estándar de redes neuronales pudo detectar que, si bien este conjunto de vectores parecía prometedor, ese conjunto parecía menos prometedor, lo que mejoró el rendimiento de validación general en aproximadamente un factor de 2. Definitivamente hay soluciones donde ML funciona en el lado algorítmico. Además de las soluciones obvias, también hay soluciones que actualmente están construyendo chips de IA de alguna forma.
Alex Starr: Me gustaría comenzar con una referencia de dónde nos encontramos actualmente en términos de los diseños de sistemas complejos que estamos desarrollando. Tenemos productos multi-die y multi-socket, lo cual es un hecho para AMD. Así que ya nos enfrentamos a desafíos de escala, como ciertamente vemos en el lado de la IA. Muchos diseños tienen que lidiar con eso. En cierto sentido, ya hemos abordado este problema de muchas maneras, tanto con flujos basados en motores híbridos como con modelos más abstractos en verificación y emulación.
Mirando esto, como se mencionó anteriormente, los motores computacionales en estos diseños son bastante simples en comparación con algunos de los motores computacionales existentes que se usan en las GPU y CPU actuales. Desde una perspectiva de nivel de IP, probablemente sea bastante simple. ¿Cómo lidias con el escalado de diseños grandes? Esto es realmente un problema de software. ¿Cómo funciona todo el sistema?
Todos estos diseños se miden por la rapidez con la que se pueden ejecutar estos algoritmos de aprendizaje automático. Eso es un problema de hardware y software/firmware. Creo que la industria necesita rascarse la cabeza sobre cómo optimizar el rendimiento de todo el ecosistema, no solo el diseño en sí. En eso estoy involucrado en AMD. Es una de mis pasiones y algo en lo que he estado trabajando durante años para mejorar realmente el ecosistema de todo el sistema e impulsar el rendimiento. Existen importantes desafíos de optimización del rendimiento que deben abordarse. En cuanto al aspecto del problema de “construir diseños complejos”, para nosotros es más o menos como de costumbre, no realmente específico de la IA.
De su pregunta “¿cómo usa la IA en el proceso de verificación?”, Creo que es un área de gran expansión. Hoy en día, los sistemas híbridos pueden realizar diseños a gran escala y procesar grandes cantidades de datos. que hacer con esos datos? Históricamente, hemos analizado las formas de onda para obtener detalles microscópicos, pero estos son ecosistemas grandes con múltiples pilas de software en ejecución. ¿Cómo puedo depurar el software? ¿Dónde debo poner a mis ingenieros si quiero optimizar ese sistema? Usted puede desempeñar un papel específico en la forma en que aborda y cómo dirige su enfoque.
Garibay tailandés: Los equipos de diseño y verificación que trabajan en nuestro chip implementaron esencialmente una red antagónica generativa con personas. Hay un diseño, hay personas talentosas que intentan atacarlo, y el diseño evoluciona con el tiempo a medida que los diseñadores lo arreglan, lo mejoran y, de hecho, crean nuevos chips.
El desafío es que este chip es único y, a menos que esté haciendo derivados, x86 de próxima generación, etc., no tiene datos de referencia o la visibilidad de los datos de referencia es limitada de un chip a otro. En el entorno actual, estamos construyendo chips de aprendizaje automático. En términos de implementación, es como estar en el Lejano Oeste, donde todos eligen hacer las cosas a su manera y afirman tener una fuente especial. Es difícil ver dónde puede obtener tanta información como Arm, pero pudimos obtenerla del conjunto de pruebas de Arm que usamos para construir núcleos de Arm.
Esto es similar al sistema Trek de Breker Systems, que puede generar pruebas para sistemas de memoria. Una herramienta de aprendizaje limitada, pero aprende a su manera. Claramente existe una oportunidad a medida que profundizamos en la segunda generación de productos. Utilice los datos que recopila para saber qué está buscando y utilícelos para que su validación sea más productiva.
Sad Godil: Estoy de acuerdo con mucho de lo que dijo mi colega. Me gustaría agregar una consideración más sobre la construcción de un chip de IA. El campo de la IA está cambiando rápidamente y presentará un desafío interesante para el equipo de validación. Actualmente, es necesario construir un entorno de verificación que pueda responder rápidamente a los cambios en las especificaciones. Eso se vuelve aún más importante.
Ilustremos este concepto con un ejemplo. Un colega mío tiene un grupo semanal de lectura de periódicos. Leen diferentes artículos de AI cada semana. Una semana alguien dijo: “Retrocedamos en el tiempo y leamos los documentos clásicos que se usan con frecuencia”. Ese artículo se publicó en 2017 y se considera antiguo en el campo.
Construir un chip lleva tiempo. Eso significa que estarás viviendo con un objetivo en movimiento. Necesitamos crear un entorno de verificación que pueda responder rápidamente, lo que nos da una ventaja competitiva en la entrega de estos chips de IA.
Cuando se trata de construir chips de IA, en general, la industria ya ha diseñado chips que están listos para escalar. Desde ese ángulo, no creo que sea único. Creo que esta es una característica de este entorno. Espero que más personas trabajen en este campo. Estoy emocionado de ver qué soluciones geniales se le ocurren a la gente en este espacio, pero no creo que haya nada único que se limite solo a la IA.
Otra pregunta es cómo la IA afecta la validación. En eso, soy optimista. Muchos dicen que la IA es el nuevo poder y que hay muchas industrias que se verán afectadas. Estamos seguros de que nuestra industria del diseño será una de ellas. Mire la cantidad de datos que tenemos, la complejidad del trabajo que hacemos. Tiene mucho sentido que encontraremos muchas aplicaciones diferentes que pueden aprovechar el poder de la IA para mejorar los procesos y construir chips más rápido.
La Parte 2 de esta miniserie de cuatro partes explora si los proveedores de herramientas están listos para entregar lo que necesitan para validar chips en sus dominios específicos y si los proveedores de herramientas están listos para ayudar.