Los modelos de IA ya escriben código optimizado para aceleradoras de forma autónoma
Hugging Face ha logrado que agentes de IA generen kernels CUDA personalizados, código muy técnico que hasta ahora solo escribían ingenieros especializados, permitiendo acelerar el procesamiento sin intervención humana.

Hugging Face (una plataforma donde desarrolladores comparten y descargan modelos de IA ya entrenados) ha publicado un experimento que muestra cómo modelos de lenguaje como GPT-4o y Claude 3.5 Sonnet pueden escribir de forma autónoma kernels CUDA personalizados, es decir, código optimizado que se ejecuta directamente en las GPU (las tarjetas gráficas especializadas que aceleran los cálculos de IA). Hasta ahora, este tipo de programación de bajo nivel requería ingenieros con conocimientos muy técnicos en arquitectura de hardware y lenguajes como CUDA (la plataforma de Nvidia para programar aceleradoras). El equipo convirtió esta tarea en una habilidad que pueden ejecutar agentes de IA (programas que toman decisiones y actúan de forma autónoma para completar objetivos complejos).
El proceso funciona así: el agente recibe una descripción de la operación que debe acelerar, genera el código CUDA correspondiente, lo compila, ejecuta pruebas para verificar que funciona correctamente y mide su rendimiento. Si algo falla o el resultado es incorrecto, el modelo revisa el error y vuelve a intentarlo. Según informó Hugging Face en su blog oficial, este sistema consiguió generar kernels funcionales para operaciones comunes en deep learning (el tipo de IA que utiliza redes neuronales profundas para aprender patrones complejos), como multiplicaciones de matrices o funciones de activación, sin que un humano tuviera que escribir una sola línea de código.
El experimento utiliza Smolagents, un framework (un conjunto de herramientas que facilita la creación de programas) desarrollado por Hugging Face para construir agentes de IA que pueden usar herramientas externas. En este caso, las herramientas son compiladores, ejecutores de código y analizadores de rendimiento. El agente no solo escribe código, sino que también lo depura, lo optimiza y documenta automáticamente qué hace cada parte. La idea es que, en lugar de esperar a que un ingeniero especializado tenga tiempo para optimizar una operación lenta, el propio sistema pueda hacerlo cuando detecte un cuello de botella (un punto donde el procesamiento se ralentiza).
Esto tiene implicaciones prácticas importantes. Los kernels CUDA personalizados permiten exprimir al máximo el rendimiento de las GPU, lo que reduce el tiempo de entrenamiento de modelos grandes y abarata los costes de inferencia (el proceso de usar un modelo ya entrenado para hacer predicciones). Hasta ahora, solo empresas con equipos técnicos grandes podían permitirse este tipo de optimizaciones. Si los agentes de IA pueden hacerlo de forma fiable, pequeños equipos o investigadores independientes podrían acceder a aceleraciones que antes estaban fuera de su alcance. También plantea la cuestión de cuánto conocimiento técnico seguirá siendo imprescindible en el futuro: si la IA puede escribir código que antes requería años de experiencia, el rol de algunos ingenieros especializados podría cambiar radicalmente.
Por ahora, el sistema todavía tiene limitaciones. No todos los kernels generados funcionan a la primera, y algunos modelos cometen errores sutiles que solo se detectan al ejecutar el código. Además, el rendimiento del código generado no siempre iguala al de un kernel escrito manualmente por un experto. Pero el hecho de que funcione en muchos casos ya es significativo. Hugging Face ha publicado el código del experimento en su plataforma para que otros desarrolladores lo prueben y lo mejoren. La pregunta ahora es si esta capacidad se extenderá a otras áreas de la programación de bajo nivel, y hasta qué punto los agentes de IA podrán asumir tareas que hoy requieren especialización técnica profunda.


