論文の概要: Activation Steering for Robust Type Prediction in CodeLLMs
- arxiv url: http://arxiv.org/abs/2404.01903v1
- Date: Tue, 2 Apr 2024 12:44:44 GMT
- ステータス: 処理完了
- システム内更新日: 2024-04-03 16:28:46.618652
- Title: Activation Steering for Robust Type Prediction in CodeLLMs
- Title(参考訳): CodeLLMにおけるロバスト型予測のためのアクティベーションステアリング
- Authors: Francesca Lucchetti, Arjun Guha,
- Abstract要約: CodeLLMsを構文的邪魔者に対してより堅牢にするために、推論時間技術に貢献する。
我々は、徐々に型付けされた言語であるPythonとTypeScriptの型予測タスクに、我々のアプローチを適用した。
- 参考スコア(独自算出の注目度): 1.7252995245478464
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Contemporary LLMs pretrained on code are capable of succeeding at a wide variety of programming tasks. However, their performance is very sensitive to syntactic features, such as the names of variables and types, the structure of code, and presence of type hints. We contribute an inference-time technique to make CodeLLMs more robust to syntactic distractors that are semantically irrelevant. Our methodology relies on activation steering, which involves editing internal model activations to steer the model towards the correct prediction. We contribute a novel way to construct steering vectors by taking inspiration from mutation testing, which constructs minimal semantics-breaking code edits. In contrast, we construct steering vectors from semantics-preserving code edits. We apply our approach to the task of type prediction for the gradually typed languages Python and TypeScript. This approach corrects up to 90% of type mispredictions. Finally, we show that steering vectors calculated from Python activations reliably correct type mispredictions in TypeScript, and vice versa. This result suggests that LLMs may be learning to transfer knowledge of types across programming languages.
- Abstract(参考訳): コードで事前訓練された現代のLLMは、様々なプログラミングタスクで成功することができる。
しかし、それらのパフォーマンスは、変数や型の名前、コードの構造、型ヒントの存在など、構文的な特徴に非常に敏感である。
我々は,意味的に無関係な構文的障害に対して,CodeLLMsをより堅牢にするための推論時間技術に貢献している。
本手法は,内部モデルのアクティベーションを編集し,正しい予測に向けてモデルをステアリングする,アクティベーションステアリングに依存する。
我々は、最小限の意味論を破るコード編集を構成する突然変異テストからインスピレーションを得て、ステアリングベクターを構築する新しい方法に貢献する。
対照的に、セマンティクスを保存するコード編集からステアリングベクトルを構築する。
我々は、徐々に型付けされた言語であるPythonとTypeScriptの型予測タスクに、我々のアプローチを適用した。
このアプローチでは、最大90%の型誤予測が修正される。
最後に、Pythonアクティベーションから計算したステアリングベクターがTypeScriptの型誤予測を確実に正し、その逆であることを示す。
この結果は、LLMがプログラミング言語間で型に関する知識を伝達することを学んでいることを示唆している。
関連論文リスト
- Contrastive Instruction Tuning [61.97704869248903]
意味論的に等価な命令-インスタンスペア間の類似性を最大化するために、コントラスト命令チューニングを提案する。
PromptBenchベンチマークの実験によると、CoINはLLMの頑健さを一貫して改善し、文字、単語、文、意味のレベルを平均して2.5%の精度で変化させる。
論文 参考訳(メタデータ) (2024-02-17T00:09:32Z) - Code Representation Pre-training with Complements from Program
Executions [29.148208436656216]
テストケースで明らかになったプログラムの動的情報を調べ,それを補体としてコードの特徴表現に埋め込むために,FuzzPretrainを提案する。
FuzzyPretrainは、ソースコードやASTのみをトレーニングしたコード検索に対して、6%/9%のmAP改善を実現した。
論文 参考訳(メタデータ) (2023-09-04T01:57:22Z) - Activation Addition: Steering Language Models Without Optimization [40.04138190785384]
アクティベーションエンジニアリングは、モデル動作を予測可能に変更するために、推論時のアクティベーションを変更する。
ActAddは微調整やRLHFよりも計算と実装の労力がはるかに少ない。
その計算オーバーヘッドは、モデルサイズの増加よりも安定または改善しているように見える。
論文 参考訳(メタデータ) (2023-08-20T12:21:05Z) - TypeT5: Seq2seq Type Inference using Static Analysis [51.153089609654174]
本稿では,型予測をコード入力タスクとして扱う新しい型推論手法を提案する。
本手法では静的解析を用いて,型シグネチャがモデルによって予測されるコード要素毎に動的コンテキストを構築する。
また,モデルの入力コンテキストに事前の型予測を組み込んだ反復復号方式を提案する。
論文 参考訳(メタデータ) (2023-03-16T23:48:00Z) - Language Model Pre-Training with Sparse Latent Typing [66.75786739499604]
そこで本研究では,多種多様な潜在型を持つ文レベルのキーワードを疎に抽出することのできる,事前学習対象Sparse Latent Typingを提案する。
実験結果から,本モデルは外部知識を使わずに,自己教師型で解釈可能な潜在型カテゴリを学習できることが示唆された。
論文 参考訳(メタデータ) (2022-10-23T00:37:08Z) - Extracting Latent Steering Vectors from Pretrained Language Models [14.77762401765532]
本研究では,言語モデルデコーダから直接潜在ベクトルを抽出できることを示す。
実験により、ステアリングベクトルが存在し、それが言語モデルの隠れ状態に追加されると、ほぼ完璧にターゲット文を生成することが示された。
テキスト類似度ベンチマークで評価すると, ステアリングベクトル間の距離が文類似度を反映していることが分かる。
論文 参考訳(メタデータ) (2022-05-10T19:04:37Z) - CLSEBERT: Contrastive Learning for Syntax Enhanced Code Pre-Trained
Model [23.947178895479464]
CLSEBERTは,構文強化符号事前学習モデルのための構築学習フレームワークである。
事前学習段階では、抽象構文木(AST)に含まれるコード構文と階層について検討する。
ひとつは抽象構文木内のノード間のエッジを予測することであり、もう一つはコードトークンの型を予測することである。
論文 参考訳(メタデータ) (2021-08-10T10:08:21Z) - Editing Factual Knowledge in Language Models [51.947280241185]
本稿では,この知識を編集する手法であるKnowledgeEditorを提案する。
knowledgeeditorは計算効率が高いだけでなく、lm事前トレーニングの修正も必要としない。
2つの一般的なアーキテクチャと知識集約型タスクで、KnowledgeEditorの有効性を示します。
論文 参考訳(メタデータ) (2021-04-16T15:24:42Z) - GraphCodeBERT: Pre-training Code Representations with Data Flow [97.00641522327699]
本稿では,コード固有の構造を考慮したプログラミング言語の事前学習モデルであるGraphCodeBERTを提案する。
これは変数間の"where-the-value-comes-from"の関係をエンコードするコードのセマンティックレベルの構造です。
コード検索,クローン検出,コード翻訳,コード改良の4つのタスクにおいて,本モデルを評価する。
論文 参考訳(メタデータ) (2020-09-17T15:25:56Z) - Contrastive Code Representation Learning [95.86686147053958]
一般的な再構成に基づくBERTモデルは,ソースコードの編集に敏感であることを示す。
コントラコード(ContraCode)は、コード機能を学ぶのにフォームではなく、コントラスト的な事前学習タスクである。
論文 参考訳(メタデータ) (2020-07-09T17:59:06Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。