Skip to main content
QUICK REVIEW

[論文レビュー] Large Language Model-Aware In-Context Learning for Code Generation

Jia Li, Ge Li|arXiv (Cornell University)|Oct 15, 2023
Software Engineering Research被引用数 7
ひとこと要約

本稿では、大規模言語モデル(LLMs)自身を用いて、正解プログラムの生成確率に基づいて候補例を評価・ラベル付けすることで、コード生成のための文脈学習(ICL)における例選択手法であるLAILを提案する。LLMが提供するフィードバックを用いて対照学習のリトリーバーを訓練することで、LAILは最先端の性能を達成し、CodeGenではベースライン比でPass@1が最大11.58%向上し、GPT-3.5では4.38%向上する。3つのベンチマークデータセットで検証された。

ABSTRACT

Large language models (LLMs) have shown impressive in-context learning (ICL) ability in code generation. LLMs take a prompt consisting of requirement-code examples and a new requirement as input, and output new programs. Existing studies have found that ICL is highly dominated by the examples and thus arises research on example selection. However, existing approaches randomly select examples or only consider the textual similarity of requirements to retrieve, leading to sub-optimal performance. In this paper, we propose a novel learning-based selection approach named LAIL (LLM-Aware In-context Learning) for code generation. Given a candidate example, we exploit LLMs themselves to estimate it by considering the generation probabilities of ground-truth programs given a requirement and the example. We then label candidate examples as positive or negative through the probability feedback. Based on the labeled data, we import a contrastive learning objective to train an effective retriever that acquires the preference of LLMs in code generation. We apply LAIL to three LLMs and evaluate it on three representative datasets (e.g., MBJP, MBPP, and MBCPP). LATA outperforms the state-of-the-art baselines by 11.58%, 6.89%, and 5.07% on CodeGen, and 4.38%, 2.85%, and 2.74% on GPT-3.5 in terms of Pass@1, respectively.

研究の動機と目的

  • コード生成における文脈学習(ICL)の不安定性を是正すること。ICLは選択された例の品質に強く依存する。
  • テキスト類似度やランダムサンプリングに依存するヒューリスティック手法の限界を克服すること。
  • LLMの内在的好みを捉える学習ベースのアプローチを構築すること。
  • LLMが生成したフィードバックに基づく対照学習のリトリーバーを訓練すること。

提案手法

  • 要件と例を提示したもとで、正解プログラムの生成確率を測定することで、LLM自身が候補例の品質を推定する。
  • この確率フィードバックを定量化するための新規指標を設計し、スコアに基づいて例をポジティブまたはネガティブにラベルづけする。
  • LLMのコード生成に対する好みを学習するため、対照学習の目的関数を用いてニューラルリトリーバーを訓練する。
  • LLMのフィードバックから得たラベル付きデータを用いてリトリーバーを最適化し、LLMが正しいプログラムを生成するのに最も役立つ例を検索可能にする。
  • 訓練済みリトリーバーを用いて、新たな要件に対して文脈例を抽出し、ICLのパフォーマンスを向上させる。

実験結果

リサーチクエスチョン

  • RQ1LLM自身が、コード生成における文脈例の品質を評価するフィードバックを信頼できる形で提供できるか。
  • RQ2BM25 やランダム選択といった従来のヒューリスティック手法と比較して、LLMに適応した例選択はICLパフォーマンスにどのように影響するか。
  • RQ3LLMのフィードバックに基づいて訓練された対照学習ベースのリトリーバーは、異なるLLMやデータセットに一般化可能か。
  • RQ4提案手法は、Pass@1 やその他のコード生成指標をどの程度向上させるか。

主な発見

  • LAILは、CodeGenではPass@1が11.58%向上、MBJPでは6.89%、MBPPでは5.07%、GPT-3.5では4.38%向上し、最先端のベースラインを上回る。
  • 異なるLLMやデータセットに対して強く汎用性を示しており、広範な適用可能性を示している。
  • 人的評価により、LAILが生成する例は正答性、可読性、関連性の観点で優れたコードを生み出すことが確認された。
  • ランダム選択やBM25ベースの選択と比較して、性能のばらつきが顕著に低減され、ICLの安定性が向上した。
  • LLMが生成するフィードバックに依存するため、語彙的類似度に基づく手法よりもLLMの実際の好みに整合している。
  • 対照学習の目的関数は、LLMの微細な好みを効果的に捉えており、ヒューリスティック手法よりも優れた例選択を実現している。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。