Улучшение производительности ассемблерного кода с использованием больших языковых моделей через обучение с подкреплением
Improving Assembly Code Performance with Large Language Models via Reinforcement Learning
May 16, 2025
Авторы: Anjiang Wei, Tarun Suresh, Huanmi Tan, Yinglun Xu, Gagandeep Singh, Ke Wang, Alex Aiken
cs.AI
Аннотация
Крупные языковые модели (LLM) продемонстрировали высокую производительность в широком спектре задач программирования, однако их потенциал для оптимизации кода остается недостаточно изученным. В данной работе исследуется, могут ли LLM оптимизировать производительность ассемблерного кода, где детализированный контроль над выполнением позволяет достичь улучшений, которые сложно выразить в языках высокого уровня. Мы представляем фреймворк обучения с подкреплением, который обучает LLM с использованием метода Proximal Policy Optimization (PPO), руководствуясь функцией вознаграждения, учитывающей как функциональную корректность, проверенную с помощью тестовых случаев, так и производительность выполнения относительно эталонного компилятора gcc -O3. Для поддержки этого исследования мы вводим бенчмарк из 8 072 реальных программ. Наша модель, Qwen2.5-Coder-7B-PPO, достигает 96,0% успешных тестов и среднего ускорения в 1,47 раза по сравнению с базовым уровнем gcc -O3, превосходя все 20 других оцененных моделей, включая Claude-3.7-sonnet. Эти результаты указывают на то, что обучение с подкреплением может раскрыть потенциал LLM для эффективной оптимизации производительности ассемблерного кода.
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