論文の概要: CompilerDream: Learning a Compiler World Model for General Code Optimization
- arxiv url: http://arxiv.org/abs/2404.16077v2
- Date: Wed, 21 Aug 2024 06:45:07 GMT
- ステータス: 処理完了
- システム内更新日: 2024-08-22 22:25:29.145862
- Title: CompilerDream: Learning a Compiler World Model for General Code Optimization
- Title(参考訳): CompilerDream: 汎用コード最適化のためのコンパイラワールドモデルを学ぶ
- Authors: Chaoyi Deng, Jialong Wu, Ningya Feng, Jianmin Wang, Mingsheng Long,
- Abstract要約: 汎用コード最適化のためのモデルベース強化学習手法であるCompilerDreamを紹介する。
最適化パスの固有の特性を正確にシミュレートするコンパイラの世界モデルと、このモデルで訓練されたエージェントから、効率的な最適化戦略を生成する。
さまざまなデータセットを網羅し、LLVMのビルトイン最適化や、値予測とエンドツーエンドコード最適化の両方の設定における最先端メソッドを超越している。
- 参考スコア(独自算出の注目度): 58.87557583347996
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Effective code optimization in compilers is crucial for computer and software engineering. The success of these optimizations primarily depends on the selection and ordering of the optimization passes applied to the code. While most compilers rely on a fixed sequence of optimization passes, current methods to find the optimal sequence either employ impractically slow search algorithms or learning methods that struggle to generalize to code unseen during training. We introduce CompilerDream, a model-based reinforcement learning approach to general code optimization. CompilerDream comprises a compiler world model that accurately simulates the intrinsic properties of optimization passes and an agent trained on this model to produce effective optimization strategies. By training on a large-scale program dataset, CompilerDream is equipped to serve as a general code optimizer across various application scenarios and source-code languages. Our extensive experiments first highlight CompilerDream's strong optimization capabilities for autotuning, where it leads the CompilerGym leaderboard. More importantly, the zero-shot generalization ability of large-scale trained compiler world model and agent, excels across diverse datasets, surpassing LLVM's built-in optimizations and other state-of-the-art methods in both settings of value prediction and end-to-end code optimization.
- Abstract(参考訳): コンパイラーにおける効果的なコード最適化は、コンピュータとソフトウェア工学にとって不可欠である。
これらの最適化の成功は主に、コードに適用された最適化パスの選択と順序に依存する。
ほとんどのコンパイラは、最適化パスの固定シーケンスに依存しているが、最適なシーケンスを見つけるための現在の方法は、急激な遅い探索アルゴリズムを採用するか、トレーニング中に見つからないコードに一般化するのに苦労する学習方法を使用するかのいずれかである。
汎用コード最適化のためのモデルベース強化学習手法であるCompilerDreamを紹介する。
CompilerDreamは、最適化パスの固有の特性を正確にシミュレートするコンパイラの世界モデルと、このモデルでトレーニングされたエージェントで効率的な最適化戦略を生成する。
大規模なプログラムデータセットをトレーニングすることにより、CompilerDreamは、さまざまなアプリケーションシナリオやソースコード言語にわたる一般的なコードオプティマイザとして機能する。
我々の広範な実験は、CompilerDreamのオートチューニングのための強力な最適化機能を強調し、CompilerGymのリーダーボードを導く。
さらに重要なのは、大規模に訓練されたコンパイラの世界モデルとエージェントのゼロショットの一般化能力が、さまざまなデータセットにまたがり、LLVMのビルトイン最適化や、値予測とエンドツーエンドコード最適化の両方の設定における最先端メソッドを超越していることだ。
関連論文リスト
- Meta Large Language Model Compiler: Foundation Models of Compiler Optimization [21.161784011956126]
大規模言語モデル(LLM)は、様々なソフトウェア工学やコーディングタスクにまたがる顕著な機能を示している。
しかしながら、コード領域におけるそれらのアプリケーションとコンパイラの最適化については、まだ未検討である。
Meta Large Language Model Compiler (LLM Compiler)は、コード最適化タスクのための、堅牢で、オープンに利用可能な、事前訓練されたモデルのスイートである。
論文 参考訳(メタデータ) (2024-06-27T21:47:48Z) - Should AI Optimize Your Code? A Comparative Study of Current Large Language Models Versus Classical Optimizing Compilers [0.0]
大規模言語モデル(LLM)は、コード最適化方法論に革命をもたらすAI駆動アプローチの可能性に関する興味深い疑問を提起する。
本稿では、GPT-4.0とCodeLlama-70Bの2つの最先端大言語モデルと従来の最適化コンパイラの比較分析を行う。
論文 参考訳(メタデータ) (2024-06-17T23:26:41Z) - Iterative or Innovative? A Problem-Oriented Perspective for Code Optimization [81.88668100203913]
大規模言語モデル(LLM)は、幅広いプログラミングタスクを解く上で強力な能力を示している。
本稿では,パフォーマンス向上に着目したコード最適化について検討する。
論文 参考訳(メタデータ) (2024-06-17T16:10:10Z) - Two Optimizers Are Better Than One: LLM Catalyst Empowers Gradient-Based Optimization for Prompt Tuning [69.95292905263393]
我々は,勾配に基づく最適化と大規模言語モデル(MsLL)が相互補完的であることを示し,協調的な最適化手法を提案する。
私たちのコードはhttps://www.guozix.com/guozix/LLM-catalystでリリースされています。
論文 参考訳(メタデータ) (2024-05-30T06:24:14Z) - Large Language Models for Compiler Optimization [22.52765975286403]
コードサイズに対してLLVMアセンブリを最適化するために,スクラッチからトレーニングしたトランスフォーマーモデルを提案する。
最適化前後の命令数と最適化コード自体を予測する。
提案手法は,コンパイラよりも命令数の削減が3.0%向上する。
論文 参考訳(メタデータ) (2023-09-11T22:11:46Z) - Large Language Models as Optimizers [106.52386531624532]
本稿では,大規模言語モデル (LLM) をプロンプトとして活用するためのシンプルで効果的な手法である Prompting (OPRO) を提案する。
各最適化ステップにおいて、LLMは、前述した値を含むプロンプトから新しい解を生成する。
OPROにより最適化された最良のプロンプトは、GSM8Kで最大8%、Big-Bench Hardタスクで最大50%向上することを示した。
論文 参考訳(メタデータ) (2023-09-07T00:07:15Z) - Learning to Superoptimize Real-world Programs [79.4140991035247]
本稿では,ニューラルシークエンス・ツー・シーケンス・モデルを用いて,実世界のプログラムを最適化するフレームワークを提案する。
我々は、x86-64アセンブリでオープンソースプロジェクトから抽出された25万以上の実世界の関数からなるデータセットであるBig Assemblyベンチマークを紹介した。
論文 参考訳(メタデータ) (2021-09-28T05:33:21Z) - Learning to Optimize: A Primer and A Benchmark [94.29436694770953]
最適化への学習(L2O)は、機械学習を活用して最適化方法を開発する新しいアプローチです。
この記事では、継続的最適化のためのL2Oの総合的な調査とベンチマークを行う。
論文 参考訳(メタデータ) (2021-03-23T20:46:20Z) - Static Neural Compiler Optimization via Deep Reinforcement Learning [1.458855293397494]
本稿では,位相整合問題に対する深層強化学習手法を用いる。
LLVMのO3シークエンスを構成するサブシーケンスを用いて、エージェントはトレーニングに使用するソースコードのセット上でO3シークエンスより優れていることを学習する。
我々は、我々のアプローチを用いて訓練されたモデルは、ニューラル最適化エージェントとして現代のコンパイラに統合できると考えている。
論文 参考訳(メタデータ) (2020-08-20T13:16:29Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。