Mejorando el rendimiento del código ensamblador con modelos de lenguaje extenso mediante aprendizaje por refuerzo
Improving Assembly Code Performance with Large Language Models via Reinforcement Learning
May 16, 2025
Autores: Anjiang Wei, Tarun Suresh, Huanmi Tan, Yinglun Xu, Gagandeep Singh, Ke Wang, Alex Aiken
cs.AI
Resumen
Los modelos de lenguaje de gran escala (LLMs, por sus siglas en inglés) han demostrado un rendimiento sólido en una amplia gama de tareas de programación, aunque su potencial para la optimización de código sigue siendo poco explorado. Este trabajo investiga si los LLMs pueden optimizar el rendimiento del código ensamblador, donde el control detallado sobre la ejecución permite mejoras que son difíciles de expresar en lenguajes de alto nivel. Presentamos un marco de aprendizaje por refuerzo que entrena LLMs utilizando Optimización de Política Proximal (PPO), guiado por una función de recompensa que considera tanto la corrección funcional, validada mediante casos de prueba, como el rendimiento de ejecución en comparación con el compilador estándar de la industria gcc -O3. Para respaldar este estudio, introducimos un conjunto de referencia de 8,072 programas del mundo real. Nuestro modelo, Qwen2.5-Coder-7B-PPO, alcanza una tasa de aprobación de pruebas del 96.0% y una aceleración promedio de 1.47x sobre la línea base de gcc -O3, superando a los otros 20 modelos evaluados, incluido Claude-3.7-sonnet. Estos resultados indican que el aprendizaje por refuerzo puede desbloquear el potencial de los LLMs para servir como optimizadores efectivos del rendimiento del código ensamblador.
English
Large language models (LLMs) have demonstrated strong performance across a
wide range of programming tasks, yet their potential for code optimization
remains underexplored. This work investigates whether LLMs can optimize the
performance of assembly code, where fine-grained control over execution enables
improvements that are difficult to express in high-level languages. We present
a reinforcement learning framework that trains LLMs using Proximal Policy
Optimization (PPO), guided by a reward function that considers both functional
correctness, validated through test cases, and execution performance relative
to the industry-standard compiler gcc -O3. To support this study, we introduce
a benchmark of 8,072 real-world programs. Our model, Qwen2.5-Coder-7B-PPO,
achieves 96.0% test pass rates and an average speedup of 1.47x over the gcc -O3
baseline, outperforming all 20 other models evaluated, including
Claude-3.7-sonnet. These results indicate that reinforcement learning can
unlock the potential of LLMs to serve as effective optimizers for assembly code
performance.Summary
AI-Generated Summary