Search-Based LLMs for Code Optimization

要約

開発者が作成したコードは通常、効率の問題に悩まされており、さまざまなパフォーマンスのバグが含まれています。
こうした非効率性のため、コードを最適化するための自動リファクタリング手法の研究が必要になります。
コード最適化の初期の研究では、ルールベースの手法が採用され、労働集約的でカバレッジが低いという特定の非効率問題に焦点が当てられていました。
最近の研究では、このタスクをシーケンス生成問題とみなして、大規模言語モデル (LLM) などの深層学習 (DL) 技術に頼っています。
これらのメソッドは通常、LLM に最適化されたコードを直接生成するよう促します。
これらの方法は最先端のパフォーマンスを示しますが、このようなワンステップ生成パラダイムでは最適なソリューションを達成するのは困難です。
まず、組み合わせ最適化手法などの複雑な最適化手法は、LLM で捕捉するのが困難です。
第 2 に、ワンステップ生成パラダイムでは、LLM 内で効果的なコードの最適化に必要な知識を正確に注入することが困難であり、その結果コードが最適化されていません。これらの問題に対処するために、検索の観点からこのタスクをモデル化し、検索を提案します。
SBLLM という名前の、反復的な改良と改善された最適化手法の発見を可能にする、ベースの LLM フレームワーク。
SBLLM は、LLM と進化的探索を相乗的に統合し、次の 3 つの主要なコンポーネントで構成されます。1) 既存の最適化された各コードの適合性を評価し、改善されたコードの生成を試験的に行うために有望なものに優先順位を付ける、実行ベースの代表サンプル選択部分。
2) 最適化手法を修正し、段階的に強化する方向に LLM を導くために、ターゲットを絞った最適化パターンをモデルに注入する適応最適化パターン検索部分。
3) LLM がさまざまな最適化手法を組み合わせ、改良された最適化手法を生成するのを支援する、遺伝的オペレーターにインスピレーションを得た思考連鎖プロンプト部分。

要約(オリジナル)

The code written by developers usually suffers from efficiency problems and contain various performance bugs. These inefficiencies necessitate the research of automated refactoring methods for code optimization. Early research in code optimization employs rule-based methods and focuses on specific inefficiency issues, which are labor-intensive and suffer from the low coverage issue. Recent work regards the task as a sequence generation problem, and resorts to deep learning (DL) techniques such as large language models (LLMs). These methods typically prompt LLMs to directly generate optimized code. Although these methods show state-of-the-art performance, such one-step generation paradigm is hard to achieve an optimal solution. First, complex optimization methods such as combinatorial ones are hard to be captured by LLMs. Second, the one-step generation paradigm poses challenge in precisely infusing the knowledge required for effective code optimization within LLMs, resulting in under-optimized code.To address these problems, we propose to model this task from the search perspective, and propose a search-based LLMs framework named SBLLM that enables iterative refinement and discovery of improved optimization methods. SBLLM synergistically integrate LLMs with evolutionary search and consists of three key components: 1) an execution-based representative sample selection part that evaluates the fitness of each existing optimized code and prioritizes promising ones to pilot the generation of improved code; 2) an adaptive optimization pattern retrieval part that infuses targeted optimization patterns into the model for guiding LLMs towards rectifying and progressively enhancing their optimization methods; and 3) a genetic operator-inspired chain-of-thought prompting part that aids LLMs in combining different optimization methods and generating improved optimization methods.

arxiv情報

著者 Shuzheng Gao,Cuiyun Gao,Wenchao Gu,Michael Lyu
発行日 2024-08-22 06:59:46+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

カテゴリー: cs.AI, cs.CL, cs.SE パーマリンク