論文の概要: Learning Performance-Improving Code Edits
- arxiv url: http://arxiv.org/abs/2302.07867v2
- Date: Thu, 16 Feb 2023 18:55:42 GMT
- ステータス: 処理完了
- システム内更新日: 2023-02-17 16:16:06.308186
- Title: Learning Performance-Improving Code Edits
- Title(参考訳): パフォーマンス改善型コード編集の学習
- Authors: Aman Madaan, Alexander Shypula, Uri Alon, Milad Hashemi, Parthasarathy
Ranganathan, Yiming Yang, Graham Neubig, Amir Yazdanbakhsh
- Abstract要約: 本稿では,大規模な言語モデル (LLM) が,コード編集の正確性や性能向上を示唆する能力について検討する。
我々はPIEの例を使って10億のTransformer-decoderモデルであるCODEGENを微調整する。
CODEXとCODEGENはどちらも、25%以上のプログラムに対して2.5倍以上のスピードアップで、パフォーマンス改善の編集を生成することができる。
- 参考スコア(独自算出の注目度): 141.0386475530937
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: The waning of Moore's Law has shifted the focus of the tech industry towards
alternative methods for continued performance gains. While optimizing compilers
are a standard tool to help increase program efficiency, programmers continue
to shoulder much responsibility in crafting and refactoring code with better
performance characteristics. In this paper, we investigate the ability of large
language models (LLMs) to suggest functionally correct, performance improving
code edits. We hypothesize that language models can suggest such edits in ways
that would be impractical for static analysis alone. We investigate these
questions by curating a large-scale dataset of Performance-Improving Edits,
PIE. PIE contains trajectories of programs, where a programmer begins with an
initial, slower version and iteratively makes changes to improve the program's
performance. We use PIE to evaluate and improve the capacity of large language
models. Specifically, use examples from PIE to fine-tune multiple variants of
CODEGEN, a billion-scale Transformer-decoder model. Additionally, we use
examples from PIE to prompt OpenAI's CODEX using a few-shot prompting. By
leveraging PIE, we find that both CODEX and CODEGEN can generate
performance-improving edits, with speedups of more than 2.5x for over 25% of
the programs, for C++ and Python, even after the C++ programs were compiled
using the O3 optimization level. Crucially, we show that PIE allows CODEGEN, an
open-sourced and 10x smaller model than CODEX, to match the performance of
CODEX on this challenging task. Overall, this work opens new doors for creating
systems and methods that can help programmers write efficient code.
- Abstract(参考訳): ムーアの法則の弱体化は、技術産業の焦点を、継続的なパフォーマンス向上のための代替手段へとシフトさせた。
コンパイラの最適化は、プログラム効率を向上させるための標準的なツールであるが、プログラマは、より良いパフォーマンス特性でコードの作成とリファクタリングの責任を負い続けている。
本稿では,大規模言語モデル(LLM)が機能的に正しいこと,コード編集の性能向上を示唆する能力について検討する。
静的解析だけでは不可能な方法で言語モデルがそのような編集を提案できるという仮説を立てる。
本稿では,大規模なパフォーマンス改善編集データセット(PIE)をキュレートすることにより,これらの課題を考察する。
PIEにはプログラムの軌跡が含まれており、プログラマは最初の遅いバージョンから始まり、反復的にプログラムのパフォーマンスを改善する。
我々はPIEを用いて、大規模言語モデルの能力を評価し、改善する。
具体的には、PIEから10億ドル規模のTransformer-decoderモデルであるCODEGENの微調整に例を挙げる。
さらに、PIEの例を使って、数発のプロンプトを使用してOpenAIのCODEXをプロンプトします。
PIEを利用すると、CODEXとCODEGENの両方がパフォーマンス改善の編集を生成でき、C++とPythonの25%以上のプログラムでは、C++プログラムがO3最適化レベルを使用してコンパイルされた後も、2.5倍以上のスピードアップが可能であることが分かる。
重要なことは、PIEがCODEXよりもオープンソースで10倍小さいモデルであるCODEGENをCODEXの性能に匹敵するものであることを示す。
全体として、この作業はプログラマーが効率的なコードを書くのに役立つシステムやメソッドを作るための新しい扉を開く。
関連論文リスト
- Revisiting Zeroth-Order Optimization for Memory-Efficient LLM
Fine-Tuning: A Benchmark [170.47660885570463]
本稿では、微調整時のメモリコスト低減のためのソリューションとして、BPフリーゼロオーダー最適化(ZO)への移行を提案する。
従来のZO-SGD法とは異なり、我々の研究はより広い範囲のZO最適化手法に探索を広げる。
本研究は,タスクアライメントの重要性,前方勾配法の役割,アルゴリズムの複雑さと微調整性能のバランスについて,これまで見過ごされてきた最適化原理を明らかにした。
論文 参考訳(メタデータ) (2024-02-18T14:08:48Z) - PhaseEvo: Towards Unified In-Context Prompt Optimization for Large
Language Models [9.362082187605356]
本稿では、LLMの生成能力と進化アルゴリズムのグローバル検索能力を組み合わせた効率的な自動プロンプト最適化フレームワークであるPhaseEvoについて述べる。
PhaseEvoは、優れた効率を維持しながら、最先端のベースライン手法を大きなマージンで大幅に上回っている。
論文 参考訳(メタデータ) (2024-02-17T17:47:10Z) - Leveraging Reinforcement Learning and Large Language Models for Code
Optimization [14.602997316032706]
本稿では,コード最適化の複雑さを低減するための新しいフレームワークを提案する。
提案するフレームワークは,大規模言語モデル(LLM)と強化学習(RL)に基づく。
我々は,新しい強化学習アルゴリズムであるCodeT5言語モデルとRRHFを用いて,PIEデータセット上でいくつかの実験を行った。
論文 参考訳(メタデータ) (2023-12-09T19:50:23Z) - 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) - An Empirical Evaluation of Zeroth-Order Optimization Methods on
AI-driven Molecule Optimization [78.36413169647408]
分子目的を最適化するための様々なZO最適化手法の有効性について検討する。
ZO符号に基づく勾配降下(ZO-signGD)の利点を示す。
本稿では,Guurcamol スイートから広く使用されているベンチマークタスクに対して,ZO 最適化手法の有効性を示す。
論文 参考訳(メタデータ) (2022-10-27T01:58:10Z) - Learning to Improve Code Efficiency [27.768476489523163]
Google Code Jamコンペティションから、大規模な競合プログラミングデータセットを分析します。
効率的なコードは確かに稀であり、中央値ランタイムと90分の1のソリューションとでは2倍の違いがある。
我々は、機械学習を用いてヒントの形で規範的なフィードバックを自動的に提供し、プログラマが高性能なコードを書くよう誘導することを提案する。
論文 参考訳(メタデータ) (2022-08-09T01:28:30Z) - DeepPERF: A Deep Learning-Based Approach For Improving Software
Performance [8.251500418379942]
我々は、C#アプリケーションのパフォーマンス改善を提案するトランスフォーマーベースのアプローチであるDeepPERFを紹介する。
評価の結果,53%のケースにおいて,開発者の修正と同等のパフォーマンス向上の提案が得られた。
私たちは、GitHub上の50のオープンソースC#リポジトリでDeepPERFを評価します。
論文 参考訳(メタデータ) (2022-06-27T20:35:52Z) - Learning to Superoptimize Real-world Programs [79.4140991035247]
本稿では,ニューラルシークエンス・ツー・シーケンス・モデルを用いて,実世界のプログラムを最適化するフレームワークを提案する。
我々は、x86-64アセンブリでオープンソースプロジェクトから抽出された25万以上の実世界の関数からなるデータセットであるBig Assemblyベンチマークを紹介した。
論文 参考訳(メタデータ) (2021-09-28T05:33:21Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。