ByteDance entrenó un agente de IA que escribe código de GPU mejor que los mejores modelos de lenguaje disponibles hoy, incluyendo Claude Opus 4.5 y Gemini 3 Pro. Y lo hace de una manera que otros sistemas simplemente no pueden: entendiendo cómo funciona el hardware real, no solo cómo se ve el código correcto.
El resultado es 2.11x más rápido que torch.compile —la herramienta estándar de optimización de PyTorch que usan la mayoría de los desarrolladores— en un benchmark de 250 kernels. Eso no es un 10% de mejora: es doblar el rendimiento de la GPU.
Primero, ¿qué es un kernel de CUDA y por qué importa?
CUDA es el lenguaje que usan los programadores para hablar directamente con las GPUs de NVIDIA. Una GPU no es solo una CPU más rápida: tiene miles de núcleos pequeños que trabajan en paralelo, memoria con jerarquías complejas, y una forma de ejecutar código que es radicalmente diferente a un procesador normal.
Un kernel de CUDA es el código que corre dentro de la GPU. Puede ser correcto —producir el resultado matemático exacto— y al mismo tiempo ser 10 o 20 veces más lento de lo que debería, por razones que solo aparecen cuando conectas un profiler al hardware real:
- Memoria no coalescente: los hilos de la GPU accediendo a posiciones de memoria salteadas en vez de contiguas
- Bank conflicts: múltiples hilos peleando por el mismo banco de memoria compartida
- Mala ocupación: no aprovechar todos los núcleos disponibles de la GPU
- Tensores intermedios: materializar datos en memoria cuando podrían procesarse al vuelo
Optimizar esto requiere conocimiento de hardware que muy pocos desarrolladores tienen, y que los modelos de lenguaje actuales nunca aprendieron bien. Hasta ahora.
El truco de ByteDance: recompensar velocidad real, no código “correcto”
ByteDance y Tsinghua University publicaron CUDA Agent (arXiv 2602.24286): un sistema de reinforcement learning que entrena a un modelo a escribir kernels de CUDA recompensándolo por velocidad real de GPU, no por correctitud sintáctica.
La distinción es crucial. La mayoría de los sistemas de generación de código preguntan: ¿compiló? ¿pasó los tests? CUDA Agent pregunta: ¿es más rápido que torch.compile en el profiler?
La función de recompensa tiene cuatro niveles:
- -1: el kernel produce resultados incorrectos
- 1: correcto pero sin ventaja de velocidad
- 2: más rápido que PyTorch eager (modo básico)
- 3: más rápido que tanto eager como torch.compile, por al menos un 5%
El modelo base usado es Seed 1.6 —el propio modelo de ByteDance— con 230B parámetros en arquitectura MoE (Mixture-of-Experts, donde solo 23B están activos a la vez). Sin el entrenamiento de RL, este modelo era en realidad 0.69x, es decir, más lento que torch.compile. Después del entrenamiento: 2.11x. Solo el RL triplicó la eficiencia efectiva.
Los números contra Claude y Gemini
El benchmark usado es KernelBench, con 250 kernels divididos en tres niveles de dificultad:
- Nivel 1 (simple, 100 kernels): CUDA Agent 97% más rápido que compile vs. Claude Opus 4.5 72%
- Nivel 2 (fusión de operadores, 100 kernels): CUDA Agent 100% más rápido, 2.80x speedup
- Nivel 3 (complejo, 50 kernels): CUDA Agent 90% vs. Claude Opus 4.5 50%, Gemini 3 Pro 52%
En general: 2.11x speedup medio para CUDA Agent vs. 1.46x de Claude Opus 4.5 y 1.42x de Gemini 3 Pro. La brecha más dramática es en el Nivel 3 —operaciones complejas como bloques de ResNet completos— donde CUDA Agent supera a los modelos frontera por 40 puntos porcentuales.
Un detalle curioso: los modelos de la serie ChatGPT-5 rechazaron directamente las instrucciones relacionadas con CUDA y no pudieron ser evaluados.
Cómo funciona el agente
CUDA Agent opera en un loop de estilo ReAct: tiene acceso a herramientas reales —shell para compilar y hacer profiling, lector/editor de archivos para los kernels, y búsqueda de código. Puede correr hasta 200 turnos de interacción por tarea, todo dentro de una ventana de contexto de 131K tokens.
El flujo estándar del agente:
- Analiza el rendimiento del kernel existente con scripts de profiling reales
- Identifica los cuellos de botella (bank conflicts, coalescing, ocupación)
- Implementa un kernel CUDA personalizado
- Compila, prueba y mide
- Itera hasta superar torch.compile en al menos 5%
El entrenamiento tuvo cuatro etapas: warm-up con PPO, rejection fine-tuning, preentrenamiento del crítico, y RL agéntico completo. Sin este pipeline, el entrenamiento colapsaba en el paso 17.
Por qué importa
La optimización de kernels de GPU es uno de los trabajos más especializados y escasos en la industria de IA. Los labs que entrenan modelos grandes dependen de equipos pequeños de expertos en CUDA para exprimir el máximo de sus clústeres de H100. Es trabajo de alta demanda, difícil de escalar.
Si un agente de IA puede automatizar esa optimización —con 2x de mejora sobre las herramientas estándar— el impacto en el costo de entrenamiento e inferencia puede ser masivo. Cada punto de mejora en eficiencia de GPU se multiplica por miles de chips y millones de dólares en electricidad.
Hay otro ángulo más preocupante: CUDA Agent fue entrenado con refuerzo directo sobre hardware real. No aprendió reglas de optimización de libros o tutoriales; aprendió empíricamente cuáles patrones producen código más rápido en GPUs reales. Ese tipo de aprendizaje por retroalimentación directa sobre el entorno físico es el mismo principio que hace que los agentes de IA sean potencialmente capaces de mejorar otros sistemas físicos complejos —incluido el propio proceso de entrenamiento de IA.
El paper de ByteDance es técnico, pero la señal es clara: la optimización de bajo nivel que antes requería ingenieros de sistemas expertos está empezando a automatizarse. Y los que llegan primero a esa automatización ganan ventaja en costo y velocidad de desarrollo.

