論文の概要: What do pre-trained code models know about code?
- arxiv url: http://arxiv.org/abs/2108.11308v1
- Date: Wed, 25 Aug 2021 16:20:17 GMT
- ステータス: 処理完了
- システム内更新日: 2021-08-26 14:36:09.523678
- Title: What do pre-trained code models know about code?
- Title(参考訳): 事前学習されたコードモデルはコードについて何を知っていますか?
- Authors: Anjan Karmakar, Romain Robbes
- Abstract要約: 事前に訓練されたコードモデルを調べるために、プローブと呼ばれる診断タスクを使用します。
BERT(英語で事前学習)、CodeBERT(ソースコードで事前学習)、CodeBERTa(自然言語で事前学習)、GraphCodeBERT(データフローでソースコードで事前学習)について検討した。
- 参考スコア(独自算出の注目度): 9.60966128833701
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Pre-trained models of code built on the transformer architecture have
performed well on software engineering (SE) tasks such as predictive code
generation, code summarization, among others. However, whether the vector
representations from these pre-trained models comprehensively encode
characteristics of source code well enough to be applicable to a broad spectrum
of downstream tasks remains an open question.
One way to investigate this is with diagnostic tasks called probes. In this
paper, we construct four probing tasks (probing for surface-level, syntactic,
structural, and semantic information) for pre-trained code models. We show how
probes can be used to identify whether models are deficient in (understanding)
certain code properties, characterize different model layers, and get insight
into the model sample-efficiency.
We probe four models that vary in their expected knowledge of code
properties: BERT (pre-trained on English), CodeBERT and CodeBERTa (pre-trained
on source code, and natural language documentation), and GraphCodeBERT
(pre-trained on source code with dataflow). While GraphCodeBERT performs more
consistently overall, we find that BERT performs surprisingly well on some code
tasks, which calls for further investigation.
- Abstract(参考訳): トランスフォーマーアーキテクチャ上に構築されたコードの事前訓練モデルは、予測コード生成やコード要約などのソフトウェア工学(SE)タスクでうまく機能している。
しかし、これらの事前訓練されたモデルからのベクトル表現が、幅広い下流タスクに適用できるほどソースコードの特徴を包括的にエンコードするかどうかは未解決のままである。
これを調べる方法の1つは、プローブと呼ばれる診断タスクである。
本稿では,事前学習されたコードモデルに対する4つの探索タスク(表面レベル,構文,構造,意味情報)を構築する。
我々は、モデルが特定のコードプロパティに欠陥があるかどうかを判断し、異なるモデル層を特徴づけ、モデルのサンプル効率について洞察を得るために、プローブをどのように使うかを示す。
BERT(英語で事前学習)、CodeBERTとCodeBERTa(ソースコードで事前学習)、GraphCodeBERT(データフローでソースコードで事前学習)の4つのモデルについて検討する。
GraphCodeBERTは全体的に一貫して機能しますが、BERTは驚くほど多くのコードタスクで機能します。
関連論文リスト
- Does Your Neural Code Completion Model Use My Code? A Membership Inference Approach [69.38352966504401]
本稿では,現在のニューラルコード補完モデルの法的および倫理的問題について考察する。
私たちは、もともと分類タスクのために作られたメンバシップ推論アプローチ(CodeMIと呼ばれる)を調整します。
我々は,この適応型アプローチの有効性を,多種多様なニューラルコード補完モデルで評価した。
論文 参考訳(メタデータ) (2024-04-22T15:54:53Z) - INSPECT: Intrinsic and Systematic Probing Evaluation for Code
Transformers [7.255653248042546]
我々は、ソースコードの表面、構文、構造、意味的特性を訓練する15の探索タスクを定義するためにフレームワークを使用します。
8つの事前訓練されたソースコードモデルと、ベースラインとして自然言語モデル(BERT)を探索する。
構造情報(GraphCodeBERTなど)を組み込んだモデルの方が,ソースコードの特徴をよりよく表現できることがわかった。
論文 参考訳(メタデータ) (2023-12-08T15:21:54Z) - Code Execution with Pre-trained Language Models [88.04688617516827]
コードインテリジェンスのトレーニング済みモデルのほとんどは実行トレースを無視しており、ソースコードと構文構造のみに依存している。
我々は,大規模かつ現実的なPythonデータセットとコード実行タスクを作成するために,突然変異に基づくデータ拡張手法を開発した。
次に、コード実行事前学習とカリキュラム学習を活用して意味理解を強化するトランスフォーマーモデルであるCodeExecutorを提案する。
論文 参考訳(メタデータ) (2023-05-08T10:00:05Z) - Enriching Source Code with Contextual Data for Code Completion Models:
An Empirical Study [4.438873396405334]
コンテクストデータを用いてコードを理解しやすくすることで、コード補完作業のための事前学習された言語モデルの性能が向上するかどうかを問う。
コメントについては、マルチラインコメントの存在下でモデルの性能が向上していることが分かる。
論文 参考訳(メタデータ) (2023-04-24T17:09:14Z) - Towards Efficient Fine-tuning of Pre-trained Code Models: An
Experimental Study and Beyond [52.656743602538825]
微調整された事前訓練されたコードモデルは、大きな計算コストを発生させる。
我々は、レイヤーワイドで事前訓練された表現と、微調整中に符号化されたコード知識に何が起こるのかを実験的に検討する。
本稿では,レイヤ凍結により事前学習したコードモデルを効率的に微調整するTellyを提案する。
論文 参考訳(メタデータ) (2023-04-11T13:34:13Z) - CodeExp: Explanatory Code Document Generation [94.43677536210465]
既存のコード・トゥ・テキスト生成モデルは、コードの高レベルな要約のみを生成する。
我々は、コードのための高品質な説明記述の基準を特定するために、人間の研究を行う。
タスクのための多段階微調整戦略とベースラインモデルを提案する。
論文 参考訳(メタデータ) (2022-11-25T18:05:44Z) - Enhancing Semantic Code Search with Multimodal Contrastive Learning and
Soft Data Augmentation [50.14232079160476]
コード検索のためのマルチモーダルコントラスト学習とソフトデータ拡張を用いた新しい手法を提案する。
我々は,6つのプログラミング言語を用いた大規模データセットにおけるアプローチの有効性を評価するために,広範囲な実験を行った。
論文 参考訳(メタデータ) (2022-04-07T08:49:27Z) - Probing Pretrained Models of Source Code [14.904366372190943]
一般的な事前学習モデルは、多くのアプリケーションにおいてタスク固有のモデルよりも優れていることが示されている。
事前訓練されたコードのモデルには、コード構文構造と正当性、識別子の概念、データフローと正当性、自然言語の命名に関する情報が含まれている。
論文 参考訳(メタデータ) (2022-02-16T10:26:14Z) - InferCode: Self-Supervised Learning of Code Representations by
Predicting Subtrees [17.461451218469062]
本稿では,自己言語学習機構をソースコードモデルに適用することにより,制限を克服するinfercodeを提案する。
ASTのサブツリーは、人間のラベル付けや高価なグラフ構築のオーバーヘッドなしにコード表現をトレーニングするためのラベルとして、InferCodeで扱われる。
Code2Vec、Code2Seq、ASTNNなど、同じ下流タスクに適用される以前のコード学習技術と比較して、事前に訓練されたInferCodeモデルを使用して、より高いパフォーマンスを達成できます。
論文 参考訳(メタデータ) (2020-12-13T10:33:41Z) - GraphCodeBERT: Pre-training Code Representations with Data Flow [97.00641522327699]
本稿では,コード固有の構造を考慮したプログラミング言語の事前学習モデルであるGraphCodeBERTを提案する。
これは変数間の"where-the-value-comes-from"の関係をエンコードするコードのセマンティックレベルの構造です。
コード検索,クローン検出,コード翻訳,コード改良の4つのタスクにおいて,本モデルを評価する。
論文 参考訳(メタデータ) (2020-09-17T15:25:56Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。