El problema con la validación de diseños hoy en día es que tenemos que lidiar con sistemas que son intrínsecamente no verificables.
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. Saad Godil, Director de Investigación de Aprendizaje Profundo Aplicado en Nvidia, dijo:
La Parte 1 de esta miniserie informó sobre las primeras preguntas de Brunet sobre cómo la IA está remodelando la industria de los semiconductores, específicamente la validación del diseño de chips y las impresiones de los panelistas. En la Parte 2, los panelistas discutieron si los proveedores de herramientas están listos para proporcionar lo que necesitan para validar chips en sus dominios específicos y si los proveedores de herramientas están listos para ayudar.
Ahora, la parte 3 de esta miniserie se basa en las transcripciones del panel, donde la audiencia hace preguntas a los panelistas.
Pregunta de la audiencia #1: Escuchamos cada vez más acerca de los cálculos probabilísticos, analógicos, cuánticos, etc. que gravan tanto el conjunto de instrucciones como la prueba. ¿Cómo se hacen las fichas? Me gustaría escuchar su opinión sobre esto. El representante de Mythic construye el circuito en base a lo anterior, por lo que debería tener una comprensión más profunda, al menos de eso está hablando.
Segunda pregunta: la verificación de chips es algo conocido. Esto es Silicon Valley. lo hemos estado haciendo durante mucho tiempo. En mi opinión, la novedad de los algoritmos es nueva. Y su novedad proviene de nuevos modelos estadísticos. Muchos de ellos nunca se han implementado en ninguna parte y están en proceso de diseño. [and] Se basa en la idea de la computación neuromórfica orientada a la biología, donde la mensajería asíncrona es más frecuente que el modelo síncrono.
La pregunta final es sobre los puntos de referencia. La gente habla mucho sobre los algoritmos de evaluación comparativa. BIDU publicó varios trabajos de investigación hace unos años. Me gustaría saber lo último desde tu punto de vista.
Garibay tailandés: En primer lugar, gracias por conocernos. [Mythic] Existencia. Implementamos la operación de convolución en analógico, lo que crea su propia gama de problemas de validación. Es un poco ridículo gastar millones de dólares y millones de horas-hombre en el objetivo de una verificación del 100 % de una máquina destinada a una precisión del 96,8 % y luego tratar la última parte como si importara. Oh, eso está mal. No, no está mal. Diferente del modelo de software. Y esto es todo lo que tenemos actualmente como modelo dorado de validación.
Hasta ahora, la forma en que la mayoría de las implementaciones de IA digital abordan esto es tratar el modelo de software como si fuera un modelo de conjunto de instrucciones. Y todos los bits deben coincidir. ¿por qué? En algunos casos, creemos que la computación analógica es más precisa, por lo que el hardware puede terminar siendo más preciso. Necesitamos crear un nuevo paradigma para la verificación en esta área: ¿qué significa ser correcto al modelar operaciones digitales en el mundo analógico?
Rob Aitken: Hablaste del 96,8 %, pero especialmente como diseñador digital, estoy tentado a decir: Pero bueno, solía ser el 96,8 %, así que tal vez debería ser el 96,7 %”. El tipo del software que inventó la red en primer lugar mata a la gente por ese 0,1 % adicional. Los chicos de hardware no pueden dejarlo pasar. Eso lleva a algunos pensamientos interesantes.
Usted mencionó la teoría de la probabilidad, como la cuántica. Ese es el futuro. Cuando las otras perillas comienzan a agotarse, cuando no podemos modificar los transistores, cuando no podemos sacar más potencia de lo que tenemos, y cuando no podemos hacer estas cosas, empiezo las matemáticas estocásticas, creo que es un cálculo aproximado. Porque cuando aprovecha al máximo lo que tiene digital para ofrecer, no hay mejor manera de hacerlo. Entonces tengo que empezar a hacer todas las cosas que me dan miedo porque tengo miedo a los análogos.
Jean-Marie Brunet: Con respecto a su tercera pregunta sobre puntos de referencia: hay puntos de referencia sobre marcos. ¿Nos dirigimos hacia algún estándar, o será así en un futuro próximo?
Raimundo Nisen: Parece que estará lleno por un tiempo. No hay manera de mantenerse al día con todos estos nuevos desarrollos. Todo se mueve rápidamente, divergiendo y convergiendo. Todos deberíamos centrarnos en esto, y cuando empiezas a centrarte en ello, cuando miras hacia arriba, todos ya van en diferentes direcciones. Necesitamos saber dónde estamos parados. ¿Qué tan bueno es esto realmente, 96.8% o 96.7%? Creo que eso es con lo que tenemos que vivir, y es parte de un momento emocionante.
Esto es lo mismo que recuerdas en la década de 1960. Todos estos profesores idearon algoritmos aparentemente simples que llevan su nombre. ¿Por qué? Porque todo era infancia. AI/ML se encuentra actualmente en sus primeras etapas. Ahora es el momento de proponer el punto de referencia de Johnson o alguna metodología.
Con respecto a la pregunta anterior, debemos descubrir cómo crear un sistema confiable a partir de componentes no confiables.
Desde la perspectiva de la verificación del diseño, no hay nada más difícil que esto. En otros entornos, como los canales de transmisión de telecomunicaciones, esta es una tarea compleja y la única razón por la que los datos se modifican al otro lado es mediante métodos probabilísticos. No hay garantía de que los datos se envíen correctamente a su disco duro. Sé que los datos solo se pueden leer correctamente de forma probabilística, y no tengo garantías de que así sea. Aún así, confío en todos los datos porque alguien encontró una manera de construir un sistema altamente confiable a partir de una base poco confiable.
La verificación del diseño debe tratar con sistemas no verificables. Alguien más está tratando de construir algo en capas como una analogía para la corrección de errores, redundancia, etc. Alguien descubrirá cómo construir uno confiable a partir de él. como compruebas eso? La cantidad de datos para hacer esto es enorme y necesitamos dejar que la computadora procese los datos y reconozca el problema. Esto se debe a que no hay forma de consultar el archivo de registro en el futuro para solucionar problemas.
Alex Starr: Solo voy a agregar a lo que dijiste. Aceptar. De alguna manera ya estamos allí. Hoy, cuando observa lo que está tratando de validar al hacer diseños grandes, el hardware y el software están integrados y no son deterministas en tiempo de ejecución. De hecho, hacemos todo lo posible para diseñar sistemas no deterministas con el espíritu de rendimiento. Esto le dará el mayor rendimiento posible para validar que todo funciona.
Esencialmente, ya estamos en un lugar donde no existe un modelo dorado de todo el sistema que se comporte exactamente como modelamos antes del silicio y potencialmente después del silicio. Ya estamos en esta situación difícil y tenemos que encontrar herramientas para leer mejor los archivos de registro para entender lo que está pasando. Tal vez no sepas lo que estás buscando. ¿Hay cuellos de botella en el sistema?, ¿hay problemas en rincones oscuros que no vemos?, ¿cómo encontramos esas cosas? Estos son algunos de los principales problemas que enfrenta la industria hoy en día.
Un buen ejemplo es la GPU. Hay ejemplos de diseño razonable por ahí. Según los tiempos del sistema, la carga del controlador de software y lo que sucede en el host, los resultados de la imagen pueden variar según el diseño en algunos casos, pero esto se debe a razones de rendimiento. ¿Cuál es el modelo dorado para ese escenario? Creo que es una pregunta difícil. Eso es con lo que tenemos que lidiar hoy. Tenemos que hacerlo mejor para resolver el problema.
Sad Godil: Me gustaría comentar toda esta idea de las redes neuronales, la inteligencia artificial y sus aspectos probabilísticos. Como dijo Rob, ¿cómo sabrías si se suponía que esta activación se dispararía? Puedo asegurarles que no quiero depender de poder averiguar por qué esta red neuronal no funciona para resolver el problema de validación. no lo vas a lograr Creo que eventualmente encontrarás algunas limitaciones; ese es probablemente el resultado final.
Esta es una compensación y está tomando una decisión agresiva: ¿realmente quiere presionar? Las especificaciones de hardware actuales suelen ser deterministas y, como dijo Alex, a veces hay que traspasar los límites. Cada vez que hace eso, se convierte en un enorme costo de verificación.
Lo más importante que hice cuando trabajé en la validación de GPU fue trabajar con el arquitecto desde el principio para erradicar esencialmente el no determinismo innecesario. Esta única cosa tuvo el mayor impacto en el tiempo de comercialización. Era mejor que usar técnicas modernas de EDA, nuevos bancos de pruebas, etc.
Lo mejor que una organización puede hacer hoy es evitar agregar complejidad innecesaria. Cuesta mucho dinero. Es posible que deba hacerlo por motivos comerciales o de marketing. Ciertamente no lo diría, estamos allí, simplemente hagámoslo y tiremos la toalla. . Creo que los que tienen éxito en este caso son aquellos que hacen concesiones prudentes y sabias y están en una mejor posición que sus competidores.
En la última entrega de esta miniserie, la Parte 4 (que se publicará la próxima semana), se pidió a los panelistas que hablaran sobre la validación del sistema, el hardware de redes neuronales y la inferencia y el entrenamiento de aprendizaje profundo.