論文の概要: Learning to Superoptimize Real-world Programs
- arxiv url: http://arxiv.org/abs/2109.13498v1
- Date: Tue, 28 Sep 2021 05:33:21 GMT
- ステータス: 処理完了
- システム内更新日: 2021-09-29 14:53:11.774619
- Title: Learning to Superoptimize Real-world Programs
- Title(参考訳): 実世界のプログラムを最適化する学習
- Authors: Alex Shypula, Pengcheng Yin, Jeremy Lacomis, Claire Le Goues, Edward
Schwartz, Graham Neubig
- Abstract要約: 本稿では,ニューラルシークエンス・ツー・シーケンス・モデルを用いて,実世界のプログラムを最適化するフレームワークを提案する。
我々は、x86-64アセンブリでオープンソースプロジェクトから抽出された25万以上の実世界の関数からなるデータセットであるBig Assemblyベンチマークを紹介した。
- 参考スコア(独自算出の注目度): 79.4140991035247
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Program optimization is the process of modifying software to execute more
efficiently. Because finding the optimal program is generally undecidable,
modern compilers usually resort to expert-written heuristic optimizations. In
contrast, superoptimizers attempt to find the optimal program by employing
significantly more expensive search and constraint solving techniques.
Generally, these methods do not scale well to programs in real development
scenarios, and as a result superoptimization has largely been confined to
small-scale, domain-specific, and/or synthetic program benchmarks. In this
paper, we propose a framework to learn to superoptimize real-world programs by
using neural sequence-to-sequence models. We introduce the Big Assembly
benchmark, a dataset consisting of over 25K real-world functions mined from
open-source projects in x86-64 assembly, which enables experimentation on
large-scale optimization of real-world programs. We propose an approach, Self
Imitation Learning for Optimization (SILO) that is easy to implement and
outperforms a standard policy gradient learning approach on our Big Assembly
benchmark. Our method, SILO, superoptimizes programs an expected 6.2% of our
test set when compared with the gcc version 10.3 compiler's aggressive
optimization level -O3. We also report that SILO's rate of superoptimization on
our test set is over five times that of a standard policy gradient approach and
a model pre-trained on compiler optimization demonstration.
- Abstract(参考訳): プログラム最適化は、より効率的に実行するソフトウェアを修正するプロセスである。
最適なプログラムを見つけることは一般的に決定不可能であるため、現代のコンパイラは通常、専門家によるヒューリスティックな最適化に頼っている。
対照的に、超最適化器はより高価な探索法と制約解法を駆使して最適なプログラムを見つけようとする。
一般に、これらの手法は実際の開発シナリオにおいてプログラムにうまくスケールしないため、結果としてスーパー最適化は主に小規模、ドメイン固有、および/または合成プログラムベンチマークに限られている。
本稿では,ニューラルシーケンス・ツー・シーケンスモデルを用いて,実世界のプログラムを超最適化するフレームワークを提案する。
我々は,x86-64アセンブリのオープンソースプロジェクトから抽出された25万以上の実世界の関数からなるデータセットであるBig Assemblyベンチマークを紹介した。
本稿では,最適化のための自己模倣学習(SILO)を提案する。この手法は,我々のBig Assemblyベンチマークにおいて,標準方針勾配学習アプローチの実装と性能を向上する。
SILOは、gccバージョン10.3コンパイラのアグレッシブな最適化レベル-O3と比較して、テストセットの6.2%をプログラムに最適化する。
また,テストセット上でのSILOの過最適化率は,標準ポリシー勾配手法の5倍以上であり,コンパイラ最適化の実証で事前訓練されたモデルであることが報告された。
関連論文リスト
- Localized Zeroth-Order Prompt Optimization [54.964765668688806]
そこで我々は,ZOPO(Localized zeroth-order prompt optimization)という新しいアルゴリズムを提案する。
ZOPOはニューラル・タンジェント・カーネルをベースとしたガウス法を標準ゼロ階次最適化に取り入れ、高速な局所最適探索を高速化する。
注目すべきは、ZOPOは最適化性能とクエリ効率の両方の観点から、既存のベースラインを上回っていることだ。
論文 参考訳(メタデータ) (2024-03-05T14:18:15Z) - Large Language Models for Compiler Optimization [22.52765975286403]
コードサイズに対してLLVMアセンブリを最適化するために,スクラッチからトレーニングしたトランスフォーマーモデルを提案する。
最適化前後の命令数と最適化コード自体を予測する。
提案手法は,コンパイラよりも命令数の削減が3.0%向上する。
論文 参考訳(メタデータ) (2023-09-11T22:11:46Z) - Large Language Models as Optimizers [111.8655813084752]
本稿では,大規模言語モデル (LLM) をプロンプトとして活用するためのシンプルで効果的な手法である Prompting (OPRO) を提案する。
各最適化ステップにおいて、LLMは、前述した値を含むプロンプトから新しい解を生成する。
OPROにより最適化された最良のプロンプトは、GSM8Kで最大8%、Big-Bench Hardタスクで最大50%向上することを示した。
論文 参考訳(メタデータ) (2023-09-07T00:07:15Z) - 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) - Optimistic Optimization of Gaussian Process Samples [30.226274682578172]
競合する、計算的により効率的でグローバルな最適化フレームワークは楽観的な最適化であり、これは探索空間の幾何学に関する事前知識を相似関数として利用している。
幾何的探索と確率的探索の間には新たな研究領域があり、ベイズ最適化の重要な機能を保ちながら、従来のベイズ最適化よりも大幅に高速に実行される方法がある。
論文 参考訳(メタデータ) (2022-09-02T09:06:24Z) - 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) - Global Optimization of Gaussian processes [52.77024349608834]
少数のデータポイントで学習したガウス過程を訓練した空間定式化を提案する。
このアプローチはまた、より小さく、計算的にもより安価なサブソルバを低いバウンディングに導く。
提案手法の順序の順序による時間収束を,総じて低減する。
論文 参考訳(メタデータ) (2020-05-21T20:59:11Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。