論文の概要: Understanding How CodeLLMs (Mis)Predict Types with Activation Steering
- arxiv url: http://arxiv.org/abs/2404.01903v2
- Date: Fri, 13 Sep 2024 14:56:46 GMT
- ステータス: 処理完了
- システム内更新日: 2024-09-16 23:17:21.089580
- Title: Understanding How CodeLLMs (Mis)Predict Types with Activation Steering
- Title(参考訳): アクティベーションステアリングによるCodeLLMs(Mis)予測型の理解
- Authors: Francesca Lucchetti, Arjun Guha,
- Abstract要約: モデルが型を誤って予測した場合に何が起こるかを調べる。
コードにセマンティクスを保存する編集を適用することで、コードLLMは最終的に型アノテーションの誤予測に誤解される。
ステアリングは型予測タスクで直接微調整に匹敵する性能を発揮することを示す。
- 参考スコア(独自算出の注目度): 1.7252995245478464
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: CodeLLMs are transforming software development as we know it. This is especially true for tasks where rule-based approaches fall short, like type prediction. The type prediction task consists in adding a new type annotation to a partially typed program, such that the resulting program is closer to being fully typed. The intractability of rule-based approaches and high cost of manual annotation make CodeLLMs an attractive solution to the problem. However, CodeLLMs are still far from being deployed on the large-scale due to doubts surrounding their reliability. To shed some light on how CodeLLMs approach type prediction, we investigate what happens when a model mispredicts a type. We show that by applying semantics-preserving edits to code, CodeLLMs are eventually misled into mispredicting type annotations. However, by leveraging activation steering we are able to "steer" the model back to the correct prediction, making models more robust against semantically irrelevant prompt features. We show that steering achieves comparable performance to fine-tuning directly on the type prediction task. Furthermore, we find that steering vectors computed from Python code are effective at correcting TypeScript mispredictions, and vice versa. To our knowledge, this is the first evidence of its kind to suggest that CodeLLMs learn task representations that transfer across languages.
- Abstract(参考訳): CodeLLMは、私たちが知っているように、ソフトウェア開発を変革しています。
これは、型予測のようなルールベースのアプローチが不足しているタスクには特に当てはまります。
型予測タスクは、部分的に型付けされたプログラムに新しい型アノテーションを追加することで構成される。
ルールベースのアプローチの難易度と手作業によるアノテーションの高コストにより、CodeLLMはこの問題に対する魅力的な解決策となっている。
しかし、CodeLLMは信頼性に関する疑問から、大規模なデプロイには程遠い。
CodeLLMsが型予測にどのようにアプローチするかを示すために、モデルが型を誤って予測した場合に何が起こるかを調査する。
コードにセマンティクスを保存する編集を適用することで、コードLLMは最終的に型アノテーションの誤予測に誤解される。
しかしながら、アクティベーションステアリングを活用することで、モデルを正しい予測に"ステア"することができるため、意味的に無関係なプロンプト機能に対して、モデルはより堅牢になります。
ステアリングは型予測タスクで直接微調整に匹敵する性能を発揮することを示す。
さらに、Pythonコードから計算されたステアリングベクターはTypeScriptの誤予測を修正するのに有効であり、その逆も有効であることがわかった。
われわれの知る限り、これはCodeLLMsが言語間で転送されるタスク表現を学習していることを示す最初の証拠である。
関連論文リスト
- Steering Without Side Effects: Improving Post-Deployment Control of Language Models [61.99293520621248]
言語モデル(LM)は、デプロイ後予期せず振る舞うことが示されている。
KL-then-steer (KTS) は, その利点を保ちながら, 操舵の副作用を低減する技術である。
本手法はLlama-2-chat-7Bモデルと比較して44%のジェイルブレイク攻撃を防ぐ。
論文 参考訳(メタデータ) (2024-06-21T01:37:39Z) - AdaTyper: Adaptive Semantic Column Type Detection [4.062265896931587]
私たちはAdaTyperを提案し、最も重要なデプロイメント課題の1つに対処します。
AdaTyperは弱いスーパービジョンを使用して、ハイブリッド型予測器を新しいセマンティックタイプに適応し、推論時にデータ分散をシフトする。
クラウドソーシングによる実世界のデータベーステーブル上でのAdaTyperの適応性能の評価を行った。
論文 参考訳(メタデータ) (2023-11-23T04:42:27Z) - Generative Type Inference for Python [62.01560866916557]
本稿では静的解析から静的ドメイン知識を取り入れた数ショットの生成型推論手法であるTypeGenを紹介する。
TypeGenは、静的解析の型推論ステップを、型依存グラフ(TDG)に基づいたプロンプトに変換することで、COTプロンプトを生成する。
実験の結果、TypeGenは引数型予測では10.0%、Top-1 Exact Matchでは22.5%で最高のベースラインであるType4Pyを上回っている。
論文 参考訳(メタデータ) (2023-07-18T11:40:31Z) - Type Prediction With Program Decomposition and Fill-in-the-Type Training [2.7998963147546143]
大規模な言語モデルを活用する型予測のための検索ベースのアプローチであるOpenTauを構築した。
TypeScriptの型予測のための新しいデータセットで作業を評価し、ファイルタイプチェックの47.4%(14.5%の絶対的改善)とファイル毎の3.3型のエラー率を示している。
論文 参考訳(メタデータ) (2023-05-25T21:16:09Z) - Enriching Source Code with Contextual Data for Code Completion Models:
An Empirical Study [4.438873396405334]
コンテクストデータを用いてコードを理解しやすくすることで、コード補完作業のための事前学習された言語モデルの性能が向上するかどうかを問う。
コメントについては、マルチラインコメントの存在下でモデルの性能が向上していることが分かる。
論文 参考訳(メタデータ) (2023-04-24T17:09:14Z) - TypeT5: Seq2seq Type Inference using Static Analysis [51.153089609654174]
本稿では,型予測をコード入力タスクとして扱う新しい型推論手法を提案する。
本手法では静的解析を用いて,型シグネチャがモデルによって予測されるコード要素毎に動的コンテキストを構築する。
また,モデルの入力コンテキストに事前の型予測を組み込んだ反復復号方式を提案する。
論文 参考訳(メタデータ) (2023-03-16T23:48:00Z) - Do Machine Learning Models Produce TypeScript Types That Type Check? [2.1365083849371747]
任意の型予測モデルで使用可能なTypeScriptの型マイグレーションツールであるTypeWeaverを紹介します。
我々は、再帰型ニューラルネットワークのDeepTyper、グラフニューラルネットワークのLambdaNet、汎用多言語トランスフォーマーのInCoderの3つのモデルでこれを評価した。
最高の型予測モデルでは、パッケージの21%の型チェックしかありませんが、もっと励ましく言えば、ファイルの69%が型チェックを成功させています。
論文 参考訳(メタデータ) (2023-02-23T16:59:38Z) - Few-Shot Semantic Parsing with Language Models Trained On Code [52.23355024995237]
Codexは同等のGPT-3モデルよりもセマンティックパーシングが優れていることがわかった。
GPT-3とは異なり、Codexは意味表現を直接ターゲットとする場合、おそらく意味解析で使われる意味表現がコードと似た構造になっているように、同じように機能する。
論文 参考訳(メタデータ) (2021-12-16T08:34:06Z) - Editing Factual Knowledge in Language Models [51.947280241185]
本稿では,この知識を編集する手法であるKnowledgeEditorを提案する。
knowledgeeditorは計算効率が高いだけでなく、lm事前トレーニングの修正も必要としない。
2つの一般的なアーキテクチャと知識集約型タスクで、KnowledgeEditorの有効性を示します。
論文 参考訳(メタデータ) (2021-04-16T15:24:42Z) - Contrastive Code Representation Learning [95.86686147053958]
一般的な再構成に基づくBERTモデルは,ソースコードの編集に敏感であることを示す。
コントラコード(ContraCode)は、コード機能を学ぶのにフォームではなく、コントラスト的な事前学習タスクである。
論文 参考訳(メタデータ) (2020-07-09T17:59:06Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。