Verbesserung der Assembler-Code-Leistung mit großen Sprachmodellen durch Reinforcement Learning
Improving Assembly Code Performance with Large Language Models via Reinforcement Learning
May 16, 2025
Autoren: Anjiang Wei, Tarun Suresh, Huanmi Tan, Yinglun Xu, Gagandeep Singh, Ke Wang, Alex Aiken
cs.AI
Zusammenfassung
Große Sprachmodelle (LLMs) haben eine starke Leistung bei einer Vielzahl von Programmieraufgaben gezeigt, doch ihr Potenzial für die Code-Optimierung bleibt weitgehend unerforscht. Diese Arbeit untersucht, ob LLMs die Leistung von Assembler-Code optimieren können, wo eine feinkörnige Kontrolle über die Ausführung Verbesserungen ermöglicht, die in Hochsprachen schwer auszudrücken sind. Wir präsentieren ein Reinforcement-Learning-Framework, das LLMs mit Proximal Policy Optimization (PPO) trainiert, geleitet durch eine Belohnungsfunktion, die sowohl die funktionale Korrektheit, validiert durch Testfälle, als auch die Ausführungsleistung im Vergleich zum industrieüblichen Compiler gcc -O3 berücksichtigt. Zur Unterstützung dieser Studie führen wir einen Benchmark mit 8.072 realen Programmen ein. Unser Modell, Qwen2.5-Coder-7B-PPO, erreicht eine Testbestehungsrate von 96,0 % und eine durchschnittliche Beschleunigung von 1,47x gegenüber der gcc -O3-Basislinie und übertrifft damit alle 20 anderen evaluierten Modelle, einschließlich Claude-3.7-sonnet. Diese Ergebnisse deuten darauf hin, dass Reinforcement Learning das Potenzial von LLMs freisetzen kann, um als effektive Optimierer für die Leistung von Assembler-Code zu dienen.
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