RepairLLaMA: Efficient Representations and Fine-Tuned Adapters for Program Repair

要約

自動プログラム修復 (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

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