論文の概要: Learning Performance-Improving Code Edits
- arxiv url: http://arxiv.org/abs/2302.07867v4
- Date: Wed, 8 Nov 2023 18:21:44 GMT
- ステータス: 処理完了
- システム内更新日: 2023-11-09 20:13:53.953557
- Title: Learning Performance-Improving Code Edits
- Title(参考訳): パフォーマンス改善型コード編集の学習
- Authors: Alexander Shypula, Aman Madaan, Yimeng Zeng, Uri Alon, Jacob Gardner,
Milad Hashemi, Graham Neubig, Parthasarathy Ranganathan, Osbert Bastani, Amir
Yazdanbakhsh
- Abstract要約: 本稿では,大規模言語モデルを高レベルプログラム最適化に適用するためのフレームワークを提案する。
まず、77万以上の競合するC++プログラミングサブミッションペアによる、人間プログラマによるパフォーマンス改善編集のデータセットをキュレートする。
学術・産業で使用されるデファクトシミュレータであるgem5フルシステムシミュレータをベースとした環境を設計する。
これらの技術の組み合わせにより、CodeLlama-13Bでは平均5.65X、GPT-3.5では6.86Xのスピードアップが達成され、人間の最高のパフォーマンス(4.06X)を上回った。
- 参考スコア(独自算出の注目度): 110.40645687991722
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: With the waning of Moore's law, optimizing program performance has become a
major focus of software research. However, high-level optimizations such as API
and algorithm changes remain elusive due to the difficulty of understanding the
semantics of code. Simultaneously, pretrained large language models (LLMs) have
demonstrated strong capabilities at solving a wide range of programming tasks.
To that end, we introduce a framework for adapting LLMs to high-level program
optimization. First, we curate a dataset of performance-improving edits made by
human programmers of over 77K competitive C++ programming submission pairs,
accompanied by extensive unit tests. A major challenge is the significant
variability of measuring performance on commodity hardware, which can lead to
spurious "improvements". To isolate and reliably evaluate the impact of program
optimizations, we design an environment based on the gem5 full system
simulator, the de facto simulator used in academia and industry. Next, we
propose a broad range of adaptation strategies for code optimization; for
prompting, these include retrieval-based few-shot prompting and
chain-of-thought, and for finetuning, these include performance-conditioned
generation and synthetic data augmentation based on self-play. A combination of
these techniques achieves an average speedup of 5.65X on CodeLlama-13B and
6.86X on GPT-3.5, surpassing the best human performance (4.06X). We find our
proposed performance-conditioned generation is particularly effective at
improving performance as well as increasing the fraction of optimized programs.
- Abstract(参考訳): ムーアの法則が消滅すると、プログラム性能の最適化がソフトウェア研究の大きな焦点となっている。
しかし、コードのセマンティクスを理解するのが難しいため、APIやアルゴリズムの変更といったハイレベルな最適化はいまだ解明されていない。
同時に、事前訓練された大規模言語モデル(LLM)は、幅広いプログラミングタスクを解く強力な能力を示している。
そこで我々は,LLMを高レベルプログラム最適化に適用するためのフレームワークを提案する。
まず、77k以上の競合c++プログラミングサブミットペアを持つ人間プログラマによるパフォーマンス改善編集のデータセットを、広範囲なユニットテストとともに収集する。
主な課題は、コモディティなハードウェアのパフォーマンスを測定することの大幅な変動であり、それによって「改善」が加速する可能性がある。
プログラム最適化の影響を分離し, 確実に評価するために, gem5 フルシステムシミュレータ, 学術・産業におけるデファクトシミュレータをベースとした環境を設計する。
次に,コード最適化のための多種多様な適応戦略を提案する。プロンプトには,検索に基づく少数ショットプロンプトとチェーン・オブ・シンクレットが含まれ,微調整には,自己再生に基づく性能条件付き生成と合成データ拡張を含む。
これらの技術の組み合わせにより、CodeLlama-13Bでは平均5.65X、GPT-3.5では6.86Xのスピードアップが達成され、人間の最高性能(4.06X)を上回った。
提案するパフォーマンスコンディショニング生成は,特に性能向上と最適化プログラム数の増加に有効であることがわかった。
関連論文リスト
- 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) - Revisiting Zeroth-Order Optimization for Memory-Efficient LLM Fine-Tuning: A Benchmark [166.40879020706151]
本稿では、微調整時のメモリコスト低減のためのソリューションとして、BPフリーゼロオーダー最適化(ZO)への移行を提案する。
従来のZO-SGD法とは異なり、我々の研究はより広い範囲のZO最適化手法に探索を広げる。
本研究は,タスクアライメントの重要性,前方勾配法の役割,アルゴリズムの複雑さと微調整性能のバランスについて,これまで見過ごされてきた最適化原理を明らかにした。
論文 参考訳(メタデータ) (2024-02-18T14:08:48Z) - Leveraging Reinforcement Learning and Large Language Models for Code
Optimization [14.602997316032706]
本稿では,コード最適化の複雑さを低減するための新しいフレームワークを提案する。
提案するフレームワークは,大規模言語モデル(LLM)と強化学習(RL)に基づく。
我々は,新しい強化学習アルゴリズムであるCodeT5言語モデルとRRHFを用いて,PIEデータセット上でいくつかの実験を行った。
論文 参考訳(メタデータ) (2023-12-09T19:50:23Z) - Dissecting the Runtime Performance of the Training, Fine-tuning, and
Inference of Large Language Models [26.2566707495948]
大規模言語モデル(LLM)は、学術と産業の両方で大きく進歩している。
我々は,事前学習,微調整,LLMを異なるサイズで提供する場合のエンドツーエンド性能をベンチマークする。
次に,LLMにおける計算処理や通信演算子など,サブモジュールの詳細なランタイム解析を行う。
論文 参考訳(メタデータ) (2023-11-07T03:25:56Z) - Large Language Models as Optimizers [106.52386531624532]
本稿では,大規模言語モデル (LLM) をプロンプトとして活用するためのシンプルで効果的な手法である Prompting (OPRO) を提案する。
各最適化ステップにおいて、LLMは、前述した値を含むプロンプトから新しい解を生成する。
OPROにより最適化された最良のプロンプトは、GSM8Kで最大8%、Big-Bench Hardタスクで最大50%向上することを示した。
論文 参考訳(メタデータ) (2023-09-07T00:07:15Z) - VeLO: Training Versatile Learned Optimizers by Scaling Up [67.90237498659397]
私たちは、ディープラーニングの成功の背後にある同じスケーリングアプローチを活用して、汎用性を学びます。
私たちは、パラメータの更新を取り込み出力する小さなニューラルネットワークであるディープラーニングのためのインジェクションをトレーニングします。
学習したメタトレーニングコード、関連するトレインテストデータ、およびvelo-code.ioのベースラインを備えた広範なベンチマークスイートをオープンソースとして公開しています。
論文 参考訳(メタデータ) (2022-11-17T18:39:07Z) - Learning to Superoptimize Real-world Programs [79.4140991035247]
本稿では,ニューラルシークエンス・ツー・シーケンス・モデルを用いて,実世界のプログラムを最適化するフレームワークを提案する。
我々は、x86-64アセンブリでオープンソースプロジェクトから抽出された25万以上の実世界の関数からなるデータセットであるBig Assemblyベンチマークを紹介した。
論文 参考訳(メタデータ) (2021-09-28T05:33:21Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。