論文の概要: Large Language Models for Compiler Optimization
- arxiv url: http://arxiv.org/abs/2309.07062v1
- Date: Mon, 11 Sep 2023 22:11:46 GMT
- ステータス: 処理完了
- システム内更新日: 2023-09-14 13:30:27.385951
- Title: Large Language Models for Compiler Optimization
- Title(参考訳): コンパイラ最適化のための大規模言語モデル
- Authors: Chris Cummins, Volker Seeker, Dejan Grubisic, Mostafa Elhoushi, Youwei
Liang, Baptiste Roziere, Jonas Gehring, Fabian Gloeckle, Kim Hazelwood,
Gabriel Synnaeve, Hugh Leather
- Abstract要約: コードサイズに対してLLVMアセンブリを最適化するために,スクラッチからトレーニングしたトランスフォーマーモデルを提案する。
最適化前後の命令数と最適化コード自体を予測する。
提案手法は,コンパイラよりも命令数の削減が3.0%向上する。
- 参考スコア(独自算出の注目度): 22.52765975286403
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: We explore the novel application of Large Language Models to code
optimization. We present a 7B-parameter transformer model trained from scratch
to optimize LLVM assembly for code size. The model takes as input unoptimized
assembly and outputs a list of compiler options to best optimize the program.
Crucially, during training, we ask the model to predict the instruction counts
before and after optimization, and the optimized code itself. These auxiliary
learning tasks significantly improve the optimization performance of the model
and improve the model's depth of understanding.
We evaluate on a large suite of test programs. Our approach achieves a 3.0%
improvement in reducing instruction counts over the compiler, outperforming two
state-of-the-art baselines that require thousands of compilations. Furthermore,
the model shows surprisingly strong code reasoning abilities, generating
compilable code 91% of the time and perfectly emulating the output of the
compiler 70% of the time.
- Abstract(参考訳): コード最適化におけるLarge Language Modelsの新たな応用について検討する。
LLVMアセンブリをコードサイズに最適化するために,スクラッチから訓練した7Bパラメータ変換器モデルを提案する。
モデルは入力を最適化しないアセンブリとして取り、プログラムを最適化するためにコンパイラオプションのリストを出力する。
重要なことは、トレーニング中、最適化前後の命令数と最適化コード自体を予測するようモデルに求めることである。
これらの補助学習タスクはモデルの最適化性能を大幅に改善し、モデルの理解度を向上する。
大規模なテストプログラムについて評価する。
提案手法は,コンパイラの命令数を3.0%削減し,数千のコンパイルを必要とする最先端のベースラインを2つ達成する。
さらに、このモデルは驚くほど強力なコード推論能力を示し、コンパイル可能なコードの91%を生成し、コンパイラの70%の出力を完全にエミュレートしている。
関連論文リスト
- CoLLiE: Collaborative Training of Large Language Models in an Efficient
Way [59.09824823710863]
CoLLiEは、大規模な言語モデルの協調トレーニングを容易にする効率的なライブラリである。
モジュール設計と包括的な機能により、CoLLiEは効率性、使いやすさ、カスタマイズのバランスのとれたブレンドを提供する。
論文 参考訳(メタデータ) (2023-12-01T08:02:16Z) - LLM-Assisted Code Cleaning For Training Accurate Code Generators [53.087019724256606]
コードの品質を調査した結果,より構造化され,読みやすくなれば,コード生成性能が向上することがわかった。
私たちは、これらの原則を使って既存のプログラムを変換する、新しいデータクリーニングパイプラインを構築します。
提案手法を2つのアルゴリズムコード生成ベンチマークで評価した結果,微調整のCodeLLaMa-7Bでは,元のデータセットの微調整に比べて最大30%性能が向上していることがわかった。
論文 参考訳(メタデータ) (2023-11-25T02:45:50Z) - Large Language Models as Optimizers [111.8655813084752]
本稿では,大規模言語モデル (LLM) をプロンプトとして活用するためのシンプルで効果的な手法である Prompting (OPRO) を提案する。
各最適化ステップにおいて、LLMは、前述した値を含むプロンプトから新しい解を生成する。
OPROにより最適化された最良のプロンプトは、GSM8Kで最大8%、Big-Bench Hardタスクで最大50%向上することを示した。
論文 参考訳(メタデータ) (2023-09-07T00:07:15Z) - Slapo: A Schedule Language for Progressive Optimization of Large Deep
Learning Model Training [17.556432199389615]
Slapoは、テンソルレベルの演算子の実行をその算術的定義から切り離すスケジュール言語である。
SlapoはNVIDIA V100 GPUを8台搭載した1台のマシンで最大2.92倍のトレーニングスループットを向上できることを示す。
論文 参考訳(メタデータ) (2023-02-16T00:34:53Z) - Learning Performance-Improving Code Edits [110.40645687991722]
本稿では,大規模言語モデルを高レベルプログラム最適化に適用するためのフレームワークを提案する。
まず、77万以上の競合するC++プログラミングサブミッションペアによる、人間プログラマによるパフォーマンス改善編集のデータセットをキュレートする。
学術・産業で使用されるデファクトシミュレータであるgem5フルシステムシミュレータをベースとした環境を設計する。
これらの技術の組み合わせにより、CodeLlama-13Bでは平均5.65X、GPT-3.5では6.86Xのスピードアップが達成され、人間の最高のパフォーマンス(4.06X)を上回った。
論文 参考訳(メタデータ) (2023-02-15T18:59:21Z) - Learning to Superoptimize Real-world Programs [79.4140991035247]
本稿では,ニューラルシークエンス・ツー・シーケンス・モデルを用いて,実世界のプログラムを最適化するフレームワークを提案する。
我々は、x86-64アセンブリでオープンソースプロジェクトから抽出された25万以上の実世界の関数からなるデータセットであるBig Assemblyベンチマークを紹介した。
論文 参考訳(メタデータ) (2021-09-28T05:33:21Z) - A Deep Learning Based Cost Model for Automatic Code Optimization [0.24629531282150877]
自動コード最適化のための新しいディープラーニングベースのコストモデルを提案する。
Tiramisuコンパイラに統合され、最適なコード変換を選択した。
提案手法は,プログラム全体の高速化予測において平均絶対誤差の16%しか持たない。
論文 参考訳(メタデータ) (2021-04-11T08:32:42Z) - Learning to Make Compiler Optimizations More Effective [11.125012960514471]
looplearnerは、ループを書く方法が効率的なコンパイルコードにつながると予測する。
各種性能関連ベンチマークから1,895ループのLoopLearnerを評価した。
論文 参考訳(メタデータ) (2021-02-24T10:42:56Z) - Static Neural Compiler Optimization via Deep Reinforcement Learning [1.458855293397494]
本稿では,位相整合問題に対する深層強化学習手法を用いる。
LLVMのO3シークエンスを構成するサブシーケンスを用いて、エージェントはトレーニングに使用するソースコードのセット上でO3シークエンスより優れていることを学習する。
我々は、我々のアプローチを用いて訓練されたモデルは、ニューラル最適化エージェントとして現代のコンパイラに統合できると考えている。
論文 参考訳(メタデータ) (2020-08-20T13:16:29Z) - PolyDL: Polyhedral Optimizations for Creation of High Performance DL
primitives [55.79741270235602]
本稿では,Deep Learningプリミティブの高性能実装を自動的に生成するコンパイラアルゴリズムを提案する。
我々は多面体モデルを用いた新しいデータ再利用分析アルゴリズムを開発した。
また、このようなハイブリッドコンパイラとライブラリ使用の最小限のアプローチが、最先端のパフォーマンスをもたらすことを示す。
論文 参考訳(メタデータ) (2020-06-02T06:44:09Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。