ChatPaper.aiChatPaper

Улучшение производительности ассемблерного кода с использованием больших языковых моделей через обучение с подкреплением

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

PDF52May 19, 2025