Neuron Patching: Semantic-based Neuron-level Language Model Repair for Code Generation

要約

言語モデル (LM) は、ソフトウェア エンジニアリング、特にコード生成などのタスクで広く使用されるようになり、コード LM と呼ばれます。
これらのモデルはコード生成に効果的であることが証明されており、開発者がコーディング作業を自動化することが容易になります。
しかし、研究では重大な制限があることが明らかになりました。LM はその有効性にも関わらず、多くの場合、正しくない、バグが多い、または完全に機能しないコードを生成します。
限られたデータを使用してこれらのモデルを更新することは非常に困難な場合がありますが、その有用性を最大化することが不可欠です。
これを解決するには、ホットフィックス技術 (限られたデータでモデルを更新する) が必要になる場合があります。
この論文では、コード LM を修復する新しいアプローチである \ul{N}euron \ul{T}argeting (\textsc{MINT}) による \ul{M}odel \ul{I} の改善を提案します。
MINT は、言語モデルのセマンティック特性を利用して、新しい方法でニューロンレベルの修復を実行します。
さらに、モデルの潜在表現、誤った出力、および望ましい出力の間の関係を分析することにより、 \textsc{MINT} はどのニューロンを更新する価値があるかを決定します。
このアプローチにより、モデルの障害にとって重要なニューロンのみが確実にターゲットとなり、不必要な変更が回避され、より効率的かつ正確な修復プロセスが可能になります。
\textsc{MINT} は効果的、効率的、信頼性が高く、最小限のニューロン (通常は 1 つまたは 2 つのニューロン) にパッチを適用することでニューラル モデルを修正できます。
私たちのアプローチは、行レベルのコード生成、シェルコード生成、インテントから bash への変換という 3 つのコーディング タスクで評価されます。
実験結果は、提案されたアプローチが有効性と効率性の両方の尺度において最先端のアプローチを大幅に上回ることを示しています。
さらに、一般化と特異性のバランスや、連続して複数の修復を行った後のパフォーマンスなど、モデル修復手法の副作用について分析および議論します。

要約(オリジナル)

Language Models (LMs) have become widely used in software engineering, especially for tasks such as code generation, where they are referred to as code LMs. These models have proven effective in generating code, making it easier for developers to automate coding activities. However, research has highlighted a significant limitation: despite their effectiveness, LMs often produce code that is incorrect, buggy, or not fully functional. Updating these models with limited data can be prohibitively challenging, yet it is essential to maximize their utility. This may require hot-fix techniques (updating models with limited data) to resolve. In this paper, we propose \ul{M}odel \ul{I}mprovement via \ul{N}euron \ul{T}argeting (\textsc{MINT}), a novel approach for repairing code LMs. MINT leverages the semantic property of language models to perform neuron-level repairs in a novel way. Further, by analyzing the relationships between the model’s latent representations, the incorrect outputs, and the desired outputs, \textsc{MINT} determines which neurons are worth updating. This approach ensures that only the neurons crucial to the model’s failure are targeted, avoiding unnecessary changes and allowing for a more efficient and precise repair process. \textsc{MINT} is effective, efficient, and reliable, capable of correcting a neural model by patching a minimum number of neurons (usually one or two neurons). Our approach is evaluated on three coding tasks: line-level code generation, shellcode generation, and intent-to-bash translation. The experimental results demonstrate that the proposed approach significantly outperforms the state-of-the-art in both effectiveness and efficiency measures. In addition, we analyze and discuss the side effects of model repair techniques, including the balance between generalization and specificity, and the performance after multiple repairs in succession.

arxiv情報

著者 Jian Gu,Aldeida Aleti,Chunyang Chen,Hongyu Zhang
発行日 2024-11-20 14:22:06+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

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