論文の概要: Should AI Optimize Your Code? A Comparative Study of Classical Optimizing Compilers Versus Current Large Language Models
- arxiv url: http://arxiv.org/abs/2406.12146v2
- Date: Wed, 02 Apr 2025 17:22:18 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-04-03 13:17:17.059271
- Title: Should AI Optimize Your Code? A Comparative Study of Classical Optimizing Compilers Versus Current Large Language Models
- Title(参考訳): AIはコードを最適化すべきか? 現在の大言語モデルに比較した古典的最適化コンパイラの比較研究
- Authors: Miguel Romero Rosas, Miguel Torres Sanchez, Rudolf Eigenmann,
- Abstract要約: 大規模言語モデル(LLM)は、コード最適化に革命をもたらすAIアプローチの可能性に関する興味深い疑問を提起する。
この作業は、コンパイラコミュニティにとって重要な質問に答えることを目的としている。
本稿では3つの古典最適化コンパイラと2つの最近の大規模言語モデルの比較分析を行う。
- 参考スコア(独自算出の注目度): 0.0
- License:
- Abstract: Traditional optimizing compilers have played an important role in adapting to the growing complexity of modern software systems. The need for efficient parallel programming in current architectures requires strong optimization techniques. The beginning of Large Language Models (LLMs) raises intriguing questions about the potential of these AI approaches to revolutionize code optimization methodologies. This work aims to answer an essential question for the compiler community: "Can AI-driven models revolutionize the way we approach code optimization?". To address this question, we present a comparative analysis between three classical optimizing compilers and two recent large language models, evaluating their respective abilities and limitations in optimizing code for maximum efficiency. In addition, we introduce a benchmark suite of challenging optimization patterns and an automatic mechanism for evaluating the performance and correctness of the code generated by LLMs. We used three different prompting strategies to evaluate the performance of the LLMs, Simple Instruction (IP), Detailed Instruction Prompting (DIP), and Chain of Thought (CoT). A key finding is that while LLMs have the potential to outperform current optimizing compilers, they often generate incorrect code on large code sizes, calling for automated verification methods. In addition, expressing a compiler strategy as part of the LLMs prompt substantially improves its overall performance. Our evaluation across three benchmark suites shows CodeLlama-70B as the superior LLM, capable of achieving speedups of up to x1.75. Additionally, CETUS is the best among the current optimizing compilers, achieving a maximum speedup of 1.67x. We also found substantial differences among the three prompting strategies.
- Abstract(参考訳): 従来の最適化コンパイラは、現代のソフトウェアシステムの複雑さの増大に対応する上で重要な役割を果たしてきた。
現在のアーキテクチャにおける効率的な並列プログラミングの必要性は、強力な最適化技術を必要とする。
LLM(Large Language Models)の開始は、コード最適化方法論に革命をもたらすAIアプローチの可能性に関する興味深い疑問を提起する。
この作業は、コンパイラコミュニティにとって不可欠な質問に答えることを目的としている。
この問題に対処するために,3つの古典的最適化コンパイラと2つの最近の大規模言語モデルの比較分析を行った。
さらに,LLMが生成するコードの性能と正確性を評価するための,挑戦的な最適化パターンと自動メカニズムのベンチマークスイートについても紹介する。
提案手法は,LLMの性能評価,簡易指導(IP),詳細な指導プロンプト(DIP),思考の連鎖(CoT)の3つであった。
重要な発見は、LLMが現在の最適化コンパイラを上回る性能を持つ一方で、大規模なコードサイズで間違ったコードを生成し、自動検証メソッドを呼び出すことがしばしばあることである。
さらに、LLMの一部としてコンパイラ戦略を表現することで、全体的なパフォーマンスが大幅に向上する。
3つのベンチマークスイートで評価したところ、CodeLlama-70B は優れた LLM であり、最大 x1.75 の高速化を実現している。
さらに、CETUSは現在の最適化コンパイラの中でも最高であり、最大1.67倍のスピードアップを実現している。
また,これら3つの戦略の相違点も見出した。
関連論文リスト
- Search-Based LLMs for Code Optimization [16.843870288512363]
開発者によって書かれたコードは、通常効率上の問題に悩まされ、様々なパフォーマンス上のバグを含んでいる。
最近の研究は、タスクをシーケンス生成問題とみなし、大規模言語モデル(LLM)のようなディープラーニング(DL)技術を活用している。
改良された最適化手法の反復的洗練と発見を可能にする,SBLLM という検索ベース LLM フレームワークを提案する。
論文 参考訳(メタデータ) (2024-08-22T06:59:46Z) - CompilerDream: Learning a Compiler World Model for General Code Optimization [58.87557583347996]
汎用コード最適化のためのモデルベース強化学習手法であるCompilerDreamを紹介する。
最適化パスの固有の特性を正確にシミュレートするコンパイラの世界モデルと、このモデルで訓練されたエージェントから、効率的な最適化戦略を生成する。
さまざまなデータセットを網羅し、LLVMのビルトイン最適化や、値予測とエンドツーエンドコード最適化の両方の設定における最先端メソッドを超越している。
論文 参考訳(メタデータ) (2024-04-24T09:20:33Z) - Unleashing the Potential of Large Language Models as Prompt Optimizers: Analogical Analysis with Gradient-based Model Optimizers [108.72225067368592]
本稿では,大規模言語モデル(LLM)に基づくプロンプトの設計について検討する。
モデルパラメータ学習における2つの重要な要素を同定する。
グラディエントにインスパイアされた Prompt ベースの GPO を開発した。
論文 参考訳(メタデータ) (2024-02-27T15:05:32Z) - Large Language Models for Compiler Optimization [22.52765975286403]
コードサイズに対してLLVMアセンブリを最適化するために,スクラッチからトレーニングしたトランスフォーマーモデルを提案する。
最適化前後の命令数と最適化コード自体を予測する。
提案手法は,コンパイラよりも命令数の削減が3.0%向上する。
論文 参考訳(メタデータ) (2023-09-11T22:11:46Z) - Large Language Models as Optimizers [106.52386531624532]
本稿では,大規模言語モデル (LLM) をプロンプトとして活用するためのシンプルで効果的な手法である Prompting (OPRO) を提案する。
各最適化ステップにおいて、LLMは、前述した値を含むプロンプトから新しい解を生成する。
OPROにより最適化された最良のプロンプトは、GSM8Kで最大8%、Big-Bench Hardタスクで最大50%向上することを示した。
論文 参考訳(メタデータ) (2023-09-07T00:07:15Z) - Learning Performance-Improving Code Edits [107.21538852090208]
本稿では,大規模言語モデル(LLM)を高レベルプログラム最適化に適用するためのフレームワークを提案する。
まず、競争力のある77,000以上のC++プログラミングサブミッションペアによる、人間のプログラマによるパフォーマンス改善編集のデータセットをキュレートする。
提案手法は,検索をベースとした少数ショットプロンプトとチェーン・オブ・シンクレットを提案し,その微調整には,自己再生に基づく性能条件付き生成と合成データ拡張が含まれる。
論文 参考訳(メタデータ) (2023-02-15T18:59: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) - Static Neural Compiler Optimization via Deep Reinforcement Learning [1.458855293397494]
本稿では,位相整合問題に対する深層強化学習手法を用いる。
LLVMのO3シークエンスを構成するサブシーケンスを用いて、エージェントはトレーニングに使用するソースコードのセット上でO3シークエンスより優れていることを学習する。
我々は、我々のアプローチを用いて訓練されたモデルは、ニューラル最適化エージェントとして現代のコンパイラに統合できると考えている。
論文 参考訳(メタデータ) (2020-08-20T13:16:29Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。