Aceleración de 232x en 14 días: la IA ejecuta código sin parar, pero los humanos marcan el rumbo

Aceleración de 232x en 14 días: la IA ejecuta código sin parar, pero los humanos marcan el rumbo

IAInvestigación AutomatizadaKernels de GPUOptimización de Código

Fuentes:sankalp bearblog + HN

El competidor inesperado entre 183 expertos en GPU

En una competición de optimización de kernels de GPU de alto nivel en la que participaron 183 desarrolladores, las primeras posiciones estuvieron ocupadas casi exclusivamente por ingenieros principales de NVIDIA. Sin embargo, sankalp, un desarrollador que solo contaba con un año de fundamentos de programación en GPU, logró un destacado 12.º puesto. Su arma secreta para lograr este excelente resultado en 14 días de competición fue permitir que el modelo de lenguaje Codex ejecutara en segundo plano más de 1.500 ciclos autónomos de «prueba-análisis-modificación-verificación».

El reto del concurso consistía en implementar la descomposición QR de Householder compacta y cuadrada por lotes. Esta operación matricial es crítica en el cálculo numérico de bajo nivel; por ejemplo, algoritmos de optimización de LLM como Muon y Kimi utilizan técnicas relacionadas durante su entrenamiento.

1.500 envíos automáticos: piloto automático para la IA

Para permitir que Codex evolucionara de forma autónoma, sankalp construyó un marco integral de evaluación de rendimiento y perfilado para el modelo. Sobre esta base, Codex realizó más de 1.500 commits de código durante los 14 días de la competición. El tiempo de ejecución de referencia disminuyó continuamente desde el punto de partida con torch.geqrf (que consumía unos 419.000 microsegundos, frente a los 108.803 microsegundos del kernel inicial) hasta alcanzar apenas 1.805 microsegundos, lo que supuso una mejora del rendimiento de 232 veces.

sankalp solo necesitaba comprobar la dirección de la búsqueda cada 2 o 3 horas mediante prompts ligeros que no interrumpían el flujo de ejecución, permitiendo incluso que el modelo funcionara sin supervisión durante la noche. Esto demuestra que, una vez que los grandes modelos de lenguaje poseen una fuerte capacidad de generación de código, combinados con un conjunto de evaluación automatizada adecuado, pueden asumir por sí solos iteraciones de código de bajo nivel y pruebas de larga duración sumamente complejas.

Registro del proceso de iteración automatizada de Codex Figura: Registro del funcionamiento autónomo de pruebas de rendimiento y perfilado en segundo plano por parte de Codex. Fuente: sankalp.bearblog.dev

Desplazamiento del cuello de botella: por qué la IA se atascó antes de los 1.800 microsegundos

Durante el proceso de optimización, Codex mostró una clara trayectoria de evolución estructural. El código evolucionó desde los llamadas iniciales a torch.geqrf hacia algoritmos WY QR por bloques, el uso de paneles Triton, la sustitución por Cholesky-ORHR, vinculación con CUDA graphs, ensamblajes fusionados, paneles split16 y especialización en formas fijas, hasta culminar en una compleja combinación de superpaneles y descomposiciones Cholesky personalizadas.

Evolución estructural en 10 pasos de la optimización del kernel en Codex Figura: El proceso de evolución estructural del algoritmo en 10 pasos que redujo el tiempo de ejecución del kernel de 108.803 a 1.805 microsegundos. Fuente: sankalp.bearblog.dev

Sin embargo, a medida que el tiempo se redujo al rango de 3.000 a 1.800 microsegundos, el ajuste fino de las instrucciones de cálculo dejó de generar avances significativos. En ese punto crítico, el cuello de botella principal de la optimización dejó de ser la capacidad de cómputo del hardware o el ancho de banda de la memoria, para desplazarse hacia los costes de lanzamiento de la GPU (launch overhead) y los costes del panel (panel overhead).

En este momento decisivo, Codex cayó en la trampa clásica de los óptimos locales. El modelo realizó repetidos pequeños ajustes dentro de la estructura de código existente, sin lograr aumentos sustanciales de velocidad tras docenas de iteraciones consecutivas. A juicio del autor, cuando la optimización entra en las aguas profundas de los mecanismos de planificación de bajo nivel, el mecanismo de búsqueda estocástica de los grandes modelos tiende a quedarse estancado en soluciones subóptimas.

Decisión por haz de candidatos: la navegación humana en las encrucijadas

Para romper este callejón sin salida, sankalp ajustó la estrategia de instrucciones dadas a la IA. Introdujo el mecanismo del «haz de candidatos» (beam of candidates), exigiendo al modelo mantener simultáneamente de 3 a 5 ramas candidatas de diferentes familias de algoritmos. De este modo, se evitaba que un solo error de compilación hiciera descartar por completo una ruta técnica prometedora.

Captura de pantalla del diálogo en bucle entre el desarrollador y Codex Figura: Ajuste de la dirección de búsqueda en la optimización del algoritmo de Codex mediante diálogo guiado. Fuente: sankalp.bearblog.dev

Bajo esta orientación, Codex fue conducido hacia direcciones algorítmicas completamente nuevas, adoptando con éxito la arquitectura Cholesky-ORHR y optimizaciones de superpanel. El valor de la experiencia de los desarrolladores humanos reside en forzar un cambio de paradigma basado en el conocimiento del dominio cuando el modelo se estanca en la búsqueda local. Esta toma de decisiones a nivel algorítmico constituyó la verdadera fuerza determinante para superar los cuellos de botella a escala de microsegundos.

Reflejo en la comunidad: la realidad tras la automatización total

Experimentos de investigación automatizada similares han tenido eco en la comunidad técnica. El desarrollador Almondsetat utilizó DeepSeek v4 para ejecutar un bucle de optimización automatizado en códecs de vídeo, generando en pocas horas implementaciones de instrucciones paralelas para SSE y AVX que duplicaron directamente el rendimiento en un solo núcleo.

Otro desarrollador, poizan42, confió en Opus 5 para escribir kernels NEON, logrando la transcodificación de vídeo 4K HEVC en tiempo real en una Raspberry Pi 4. Sin embargo, este desarrollador reconoció abiertamente que todo el proceso de optimización requirió una cantidad considerable de dirección manual (steering).

Desde la perspectiva del autor, estas prácticas técnicas en diversos campos muestran un patrón constante. En la era de los grandes modelos de lenguaje, la llamada «investigación automatizada» exhibe una enorme eficiencia de ejecución, pero sigue dependiendo en gran medida del control humano sobre los límites y dimensiones. Sin la guía de orientación humana, resulta difícil para la IA superar por sí sola los umbrales clave de la evolución algorítmica.

La meta pertenece a quienes sostienen la brújula

El resultado de aceleración de 232 veces demuestra el verdadero alcance de la investigación automatizada con IA. Codex asumió la gran mayoría del trabajo pesado y rutinario, desde la revisión de artículos sobre algoritmos hasta la depuración del kernel de bajo nivel. Sin embargo, en cada punto crítico del maratón de 14 días, las elecciones de dirección realizadas por el ser humano siguieron siendo insustituibles.

Los grandes modelos de lenguaje pueden ahora ejecutar pruebas de código durante toda la noche, pero siguen siendo incapaces de prever qué pequeño sendero algorítmico conduce a la cumbre. En la vanguardia de la exploración tecnológica, la IA es un ejecutor incansable sobre el terreno, mientras que el ser humano sigue siendo el navegante que sostiene la brújula.

Enlaces de referencia:

  • Artículo en sankalp BEARBLOG
  • Discusión en HN (item?id=49309549)