要約
自動プログラム修復 (APR) は、大規模言語モデル (LLM) の出現により大幅に進化しました。
プログラム修復のための LLM の微調整は最近の研究手段であり、まだ調査されていない側面が数多くあります。
既存の研究は主に単純なコード表現を使用して LLM を微調整しており、大規模な LLM を微調整する能力には基本的に制限があります。
この問題に対処するために、我々は、1) APR のコード表現と 2) LoRA と呼ばれる最先端のパラメータ効率の高い LLM 微調整技術を組み合わせた新しいプログラム修復アプローチである RepairLLaMA を提案します。
その結果、RepairLLaMA は言語モデルのバグを修正するための非常に効果的な「プログラム修復アダプター」を生成します。
私たちの実験は、両方の概念の有効性を実証しています。
まず、プログラム修復固有のコード表現を使用してアダプターを微調整することで、モデルが意味のある修復信号を使用できるようになります。
第 2 に、パラメータ効率の高い微調整により、微調整が収束するのに役立ち、微調整データ分布の外側にあるデータポイントを修正する修復アダプターの有効性に貢献します。
全体として、RepairLLaMA は 125 件の Defects4J v2 バグと 82 件の HumanEval-Java バグを正しく修正し、すべてのベースラインを上回っています。
要約(オリジナル)
Automated Program Repair (APR) has evolved significantly with the advent of Large Language Models (LLMs). Fine-tuning LLMs for program repair is a recent avenue of research, with many dimensions which have not been explored. Existing work mostly fine-tunes LLMs with naive code representations and is fundamentally limited in its ability to fine-tune larger LLMs. To address this problem, we propose RepairLLaMA, a novel program repair approach that combines 1) code representations for APR and 2) the state-of-the-art parameter-efficient LLM fine-tuning technique called LoRA. This results in RepairLLaMA producing a highly effective `program repair adapter’ for fixing bugs with language models. Our experiments demonstrate the validity of both concepts. First, fine-tuning adapters with program repair specific code representations enables the model to use meaningful repair signals. Second, parameter-efficient fine-tuning helps fine-tuning to converge and contributes to the effectiveness of the repair adapter to fix data-points outside the fine-tuning data distribution. Overall, RepairLLaMA correctly fixes 125 Defects4J v2 and 82 HumanEval-Java bugs, outperforming all baselines.
arxiv情報
著者 | André Silva,Sen Fang,Martin Monperrus |
発行日 | 2024-02-26 12:03:24+00:00 |
arxivサイト | arxiv_id(pdf) |
提供元, 利用サービス
arxiv.jp, Google