CompilerDream:基于世界模型的通用代码优化方法学术报告
作者及机构
本研究的核心作者包括清华大学软件学院BNRIST的Chaoyi Deng、Jialong Wu(共同一作)、Ningya Feng、Jianmin Wang以及通讯作者Mingsheng Long。研究成果发表于2025年8月的ACM SIGKDD国际会议(KDD ‘25),会议论文标题为《CompilerDream: Learning a Compiler World Model for General Code Optimization》。
学术背景
编译器优化是计算机与软件工程的核心课题,其性能提升的关键在于优化阶段(optimization passes)的选择与顺序排列。传统编译器依赖固定优化序列(如-O1、-O2),而现有方法(如搜索算法或机器学习)面临两大瓶颈:搜索耗时过长或泛化能力不足。为此,研究团队提出CompilerDream——首个基于世界模型(world model)的通用代码优化框架,旨在通过模拟编译器行为与奖励平滑技术,实现高效、可泛化的代码优化。研究领域涉及机器学习(模型开发与分析)与编译器优化(LLVM阶段排序问题)。
研究流程与方法
1. 问题建模与空间设计
- 将编译器优化过程建模为部分可观测马尔可夫决策过程(POMDP),定义状态空间(IR中间表示)、动作空间(124个LLVM优化阶段)和奖励函数(基于IR指令数减少的归一化改进)。
- 观测空间融合56维Autophase特征(统计IR代码特性)与42维动作直方图(记录阶段调用频率),通过归一化提升一致性。
编译器世界模型构建
优化智能体设计
数据准备与训练
主要结果
1. 自动调优性能
- 在CompileGym排行榜任务中,CompilerDream以单次试验实现1.068×代码体积缩减,超越随机搜索(1.062×)与PPO(1.047×)。结合引导搜索后,以60.8秒平均耗时达到1.073×优化,刷新榜单记录。
价值预测准确性
零样本泛化能力
模型分析验证
结论与价值
1. 科学价值
- 首次将世界模型引入编译器优化,通过动态模拟与奖励设计解决了传统方法的泛化瓶颈。
- 提出的奖励平滑技术为稀疏奖励环境下的模型训练提供了通用解决方案。
研究亮点
1. 方法创新:
- 世界模型作为编译器模拟器,替代昂贵真实交互,训练效率提升10倍。
- 多智能体框架统一了监督学习与强化学习的优化范式。
性能突破:
开源贡献:
局限与展望
当前研究聚焦代码体积优化,未来可扩展至执行时间等多目标优化。此外,结合大语言模型(LLM)解析代码语义、支持更长序列预测是潜在方向。