論文の概要: 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のビルトイン最適化や、値予測とエンドツーエンドコード最適化の両方の設定における最先端メソッドを超越していることだ。
関連論文リスト
- 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) - Large Language Models as Optimizers [106.52386531624532]
本稿では,大規模言語モデル (LLM) をプロンプトとして活用するためのシンプルで効果的な手法である Prompting (OPRO) を提案する。
各最適化ステップにおいて、LLMは、前述した値を含むプロンプトから新しい解を生成する。
OPROにより最適化された最良のプロンプトは、GSM8Kで最大8%、Big-Bench Hardタスクで最大50%向上することを示した。
論文 参考訳(メタデータ) (2023-09-07T00:07:15Z) - CoRe Optimizer: An All-in-One Solution for Machine Learning [0.0]
連続レジリエント収束(CoRe)は、他の最先端の1次勾配に基づく収束アルゴリズムと比較して優れた性能を示した。
CoReは、調査されたすべてのアプリケーションにおいて、最高の、または競争的なパフォーマンスを得る。
論文 参考訳(メタデータ) (2023-07-28T16:48:42Z) - Learning Performance-Improving Code Edits [107.21538852090208]
本稿では,大規模言語モデル(LLM)を高レベルプログラム最適化に適用するためのフレームワークを提案する。
まず、競争力のある77,000以上のC++プログラミングサブミッションペアによる、人間のプログラマによるパフォーマンス改善編集のデータセットをキュレートする。
提案手法は,検索をベースとした少数ショットプロンプトとチェーン・オブ・シンクレットを提案し,その微調整には,自己再生に基づく性能条件付き生成と合成データ拡張が含まれる。
論文 参考訳(メタデータ) (2023-02-15T18:59:21Z) - Profile Guided Optimization without Profiles: A Machine Learning
Approach [0.0]
プロファイルガイド最適化は動的挙動に基づくコンパイラの最適化能力を改善する効果的な手法である。
本稿では,プロファイルを導出せずにコンパイルされるプログラムの性能を向上させる分岐確率推定のための新しい統計的アプローチを提案する。
論文 参考訳(メタデータ) (2021-12-24T22:49:21Z) - 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) - Training Learned Optimizers with Randomly Initialized Learned Optimizers [49.67678615506608]
ランダムに学習した人の集団は、オンラインの方法でゼロから学習することができる。
人口ベーストレーニングの形式は、この自己学習の組織化に使用される。
このタイプのフィードバックループは、機械学習の将来において重要かつ強力なものになると思います。
論文 参考訳(メタデータ) (2021-01-14T19:07:17Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。