Hoy en día diseñar chips de computadora es un proceso largo y complicado que puede tomar años. Requiere de todo un equipo de ingenieros expertos trabajando en conjunto. Pero, ¿qué pasaría si en lugar de ingenieros, usáramos modelos de lenguaje como ChatGPT para diseñar chips?
Investigadores de Georgia Tech hicieron precisamente eso. En este artículo te explicamos su técnica para usar ChatGPT en el diseño de chips, los retos que enfrentaron y cómo lograron entrenar modelos de lenguaje para comprender conceptos de diseño de hardware y generar código para chips.
Usando ChatGPT para diseñar chips
El equipo empezó haciendo prompts a ChatGPT en lenguaje natural. Le pedían, por ejemplo, diseñar un chip de IA basado en arquitectura RISC-V para reconocimiento de gestos.
Pero ChatGPT no entiende bien los conceptos de hardware, por lo que tuvo dificultades para conectar esos conceptos con código real. ChatGPT no fue entrenado específicamente para diseño de chips, simplemente no ha visto suficientes conexiones entre hardware y código.
Aún así, ChatGPT puede generar código para partes simples del chip, como arrays de multiplicación y acumulación en 2D. Pero para diseños más complejos como un procesador RISC-V, le cuesta trabajo generar el código correctamente.
Entrenando modelos de lenguaje para diseño de chips
El objetivo es entrenar modelos de lenguaje para que puedan razonar sobre diseño de chips y hacer exploración de espacios de diseño. Esto involucra dos problemas:
- Enseñarles a comprender conceptos de hardware y código
- Entender la relación entre ambos
Para el entrenamiento, se puede usar código de diseño de chips que ya existe, por ejemplo en GitHub. El problema es que falta documentación en ese código.
Inicialmente trataron de documentar código ellos mismos, pero eso no es escalable.
Entonces usaron un truco: se dieron cuenta que los modelos de lenguaje generan mejor documentación de código que código en sí.
Así que usaron modelos de lenguaje para generar documentación de código existente. Luego usaron esa documentación para entrenar modelos de lenguaje y enseñarles los conceptos.
Pasos siguientes
El siguiente paso es simular y sintetizar los diseños generados para validar que funcionen bien y comparar con diseños existentes.
La meta es enseñar a los modelos de lenguaje a hacer razonamiento y exploración de espacios de diseño. Es decir, determinar la mejor combinación de bloques y generar código para ensamblarlos en un solo chip.
Hoy eso sigue siendo una habilidad humana única. Las herramientas de IA aún no pueden reemplazar completamente a ingenieros expertos para diseño de chips complejos.
Pero estos avances muestran un camino prometedor para automatizar al menos partes del proceso de diseño de chips usando el poder de los modelos de lenguaje.
Usando redes neuronales para sintetizar chips
Sintetizar el diseño
Una vez que se tiene el código para el diseño del chip, el siguiente paso es sintetizarlo. Esto implica convertir la descripción en código a nivel físico de transistores.
Google DeepMind ha estado trabajando en optimizar esta parte del proceso usando redes neuronales.
Circuit Neural Networks
Su técnica se llama Circuit Neural Networks. Convierte el circuito en una red neuronal, con compuertas lógicas como nodos y cables como aristas.
Luego usan aprendizaje por refuerzo para encontrar la forma más eficiente de conectar los nodos, igual que en AlphaGo y AlphaZero.
Se maximiza el rendimiento y minimiza el área del circuito generado.
Resultados
Con esta técnica, DeepMind ganó en una competencia internacional de síntesis de chips, obteniendo los diseños más eficientes en el 82% de los casos.
Estas mejoras se pueden aplicar en el futuro para cualquier tipo de chip: CPU, GPU, aceleradores de IA, etc.
Conclusión
Usar modelos de lenguaje y redes neuronales para automatizar el diseño de chips es un campo de investigación muy prometedor.
Aún requiere mucho trabajo para igualar y superar las habilidades de diseño de ingenieros expertos. Pero estos avances muestran el gran potencial para acelerar y mejorar el proceso de diseño de chips en el futuro.
Herramientas de IA como estas serán clave para seguir el ritmo de la creciente demanda por más poder de cómputo. Y permitirán diseñar mejores chips, más rápido, para impulsar la innovación en áreas como inteligencia artificial, computación en la nube, automóviles autónomos, entre muchas otras.
Comentarios