Meta AI|基于大型语言模型的编译器优化

803次阅读
没有评论

Large Language Models for Compiler Optimization

C Cummins, V Seeker, D Grubisic, M Elhoushi, Y Liang, B Roziere, J Gehring, F Gloeckle, K Hazelwood, G Synnaeve, H Leather
[Meta AI]

基于大型语言模型的编译器优化

  • 探索了用大型语言模型(LLM)来优化编译器中间表示(LLVM IR)代码的大小。

  • 一个70亿参数的Transformer模型在100万个LLVM IR函数上训练,以预测最佳的LLVM优化传递序列。

  • 辅助预测优化前后指令数以及优化后的IR本身可以提高优化性能。

  • 在未见过的程序上,该模型相比LLVM -Oz获得了3.0%更好的优化效果,优于需要编译成千上万次的机器学习基线。

  • 生成的IR 91%的时间可以编译,70%的时间与编译器输出完全匹配,显示出惊人的推理能力。

  • 缩减实验显示辅助预测任务可以将优化提高16%,随着训练数据呈亚线性扩展,完整模型达到基于搜索的自动优化的60%收益。

  • 单独传递翻译的实验展示了这种方法的优势(控制流简化)和劣势(数学推理,模块信息)。

  • 主要局限是模型的上下文窗口、算术推理和推理速度。未来工作将加入长上下文技术和编译器协同设计

动机:探索将大型语言模型应用于编译器优化的新方法。
方法:提出一种基于7B参数的Transformer模型,从头开始训练,用于优化LLVM汇编的代码大小。模型的输入是未经优化的汇编代码,输出是一系列编译器选项,以最佳优化程序。在训练过程中,模型被要求预测优化前后的指令计数和优化后的代码,这些辅助学习任务显著提高了模型的优化性能和理解深度。
优势:通过与编译器相比,本文方法在减少指令计数方面实现了3.0%的改进,并超过了两种先进的基线模型。此外,模型表现出令人惊讶的强大代码推理能力,91%的时间生成可编译代码,70%的时间完美模拟编译器的输出。

介绍了一种用大型语言模型进行编译器优化的方法,该方法在减少代码大小方面取得了显著改进,并具有强大的代码推理能力。

https://arxiv.org/abs/2309.07062 

Meta AI|基于大型语言模型的编译器优化

 

Read More 

正文完
可以使用微信扫码关注公众号(ID:xzluomor)
post-qrcode
 
评论(没有评论)
Generated by Feedzy