論文の概要: TransformCode: A Contrastive Learning Framework for Code Embedding via
Subtree transformation
- arxiv url: http://arxiv.org/abs/2311.08157v1
- Date: Fri, 10 Nov 2023 09:05:23 GMT
- ステータス: 処理完了
- システム内更新日: 2023-11-15 14:01:50.522416
- Title: TransformCode: A Contrastive Learning Framework for Code Embedding via
Subtree transformation
- Title(参考訳): TransformCode: サブツリー変換によるコード埋め込みのためのコントラスト学習フレームワーク
- Authors: Zixiang Xian, Rubing Huang, Dave Towey, Chunrong Fang, Zhenyu Chen
- Abstract要約: 我々は、コード埋め込みを対照的な学習方法で学習する、TransformCodeと呼ばれる新しいフレームワークを提案する。
私たちのフレームワークは柔軟で適応性があり、コード表現を必要とする他の下流タスクに簡単に拡張できます。
- 参考スコア(独自算出の注目度): 10.168149114095566
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Large-scale language models have made great progress in the field of software
engineering in recent years. They can be used for many code-related tasks such
as code clone detection, code-to-code search, and method name prediction.
However, these large-scale language models based on each code token have
several drawbacks: They are usually large in scale, heavily dependent on
labels, and require a lot of computing power and time to fine-tune new
datasets.Furthermore, code embedding should be performed on the entire code
snippet rather than encoding each code token. The main reason for this is that
encoding each code token would cause model parameter inflation, resulting in a
lot of parameters storing information that we are not very concerned about. In
this paper, we propose a novel framework, called TransformCode, that learns
about code embeddings in a contrastive learning manner. The framework uses the
Transformer encoder as an integral part of the model. We also introduce a novel
data augmentation technique called abstract syntax tree transformation: This
technique applies syntactic and semantic transformations to the original code
snippets to generate more diverse and robust anchor samples. Our proposed
framework is both flexible and adaptable: It can be easily extended to other
downstream tasks that require code representation such as code clone detection
and classification. The framework is also very efficient and scalable: It does
not require a large model or a large amount of training data, and can support
any programming language.Finally, our framework is not limited to unsupervised
learning, but can also be applied to some supervised learning tasks by
incorporating task-specific labels or objectives. To explore the effectiveness
of our framework, we conducted extensive experiments on different software
engineering tasks using different programming languages and multiple datasets.
- Abstract(参考訳): 大規模言語モデルは近年,ソフトウェア工学の分野で大きな進歩を遂げています。
コードクローン検出、コード間検索、メソッド名予測など、多くのコード関連タスクで使用できる。
しかし、それぞれのコードトークンに基づくこれらの大規模言語モデルには、いくつかの欠点がある。それらは通常、規模が大きく、ラベルに大きく依存しており、新しいデータセットを微調整するために多くの計算能力と時間を必要とする。
この主な理由は、各コードトークンをエンコーディングするとモデルパラメータのインフレーションが発生し、私たちがあまり気にしていない情報を格納する多くのパラメータが発生するためです。
本稿では,コード埋め込みを対照的な学習方法で学習するTransformCodeという新しいフレームワークを提案する。
フレームワークはTransformerエンコーダをモデルの不可欠な部分として使用する。
また、抽象構文木変換と呼ばれる新しいデータ拡張手法についても紹介する: この手法は、より多様で堅牢なアンカーサンプルを生成するために、元のコードスニペットに構文的および意味的変換を適用します。
コードクローン検出や分類といったコード表現を必要とする他のダウンストリームタスクにも容易に拡張することができます。
このフレームワークは、非常に効率的でスケーラブルです。大きなモデルや大量のトレーニングデータを必要としないし、どんなプログラミング言語もサポートできます。最後に、このフレームワークは教師なし学習に限らず、タスク固有のラベルや目的を組み込むことで、教師あり学習タスクにも適用できます。
フレームワークの有効性を探るため、異なるプログラミング言語と複数のデータセットを用いてソフトウェアエンジニアリングタスクの広範な実験を行った。
関連論文リスト
- CodeSAM: Source Code Representation Learning by Infusing Self-Attention with Multi-Code-View Graphs [8.850533100643547]
我々は,複数のコードビューをトランスフォーマーベースモデルに注入する新しいフレームワークであるCodeSAMを提案する。
CodeSAMを使って、セマンティックコード検索、コードクローン検出、プログラム分類の下流SEタスクでCodeBERTのような小さな言語モデル(SLM)を微調整します。
論文 参考訳(メタデータ) (2024-11-21T22:24:47Z) - CodeGRAG: Bridging the Gap between Natural Language and Programming Language via Graphical Retrieval Augmented Generation [58.84212778960507]
我々は,LLMの性能を高めるため,グラフィカル検索拡張コード生成フレームワークであるCodeGRAGを提案する。
CodeGRAGは、制御フローとデータフローに基づいて、コードブロックのグラフィカルなビューを構築し、プログラミング言語と自然言語のギャップを埋める。
ハードメタグラフプロンプト、ソフトプロンプト技術、事前訓練されたGNN専門家の目的の有効性を検証するために、C++言語とピソン言語の両方を含む4つのデータセットで様々な実験と改善が行われた。
論文 参考訳(メタデータ) (2024-05-03T02:48:55Z) - CLAP: Learning Transferable Binary Code Representations with Natural
Language Supervision [22.42846252594693]
本稿では,言語指導を利用してバイナリコードのより良い表現を学習するCLAP(Contrastive Language-Assembly Pre-training)を提案する。
中心となるアプローチは、バイナリコードとセマンティックスの説明を効果的に整合させることで、優れたトランスファー学習能力を向上する。
私たちは1億9500万のバイナリコードと説明を生成し、CLAPのプロトタイプをトレーニングしました。
論文 参考訳(メタデータ) (2024-02-26T13:49:52Z) - CONCORD: Clone-aware Contrastive Learning for Source Code [64.51161487524436]
セルフ教師付き事前トレーニングは、多くのダウンストリームSEタスクに価値のあるジェネリックコード表現を学ぶための牽引役になった。
汎用的な表現学習のために、開発者が日々どのようにコードをコーディングするかは、要因としても不可欠である、と私たちは主張する。
特に,表現空間に良性クローンを近づける自己教師型コントラスト学習戦略であるCONCORDを提案する。
論文 参考訳(メタデータ) (2023-06-05T20:39:08Z) - CodeTF: One-stop Transformer Library for State-of-the-art Code LLM [72.1638273937025]
我々は、最先端のCode LLMとコードインテリジェンスのためのオープンソースのTransformerベースのライブラリであるCodeTFを紹介する。
我々のライブラリは、事前訓練されたコードLLMモデルと人気のあるコードベンチマークのコレクションをサポートします。
CodeTFが機械学習/生成AIとソフトウェア工学のギャップを埋められることを願っている。
論文 参考訳(メタデータ) (2023-05-31T05:24:48Z) - TransCoder: Towards Unified Transferable Code Representation Learning Inspired by Human Skills [31.75121546422898]
本稿では,コード表現学習のためのTransCoderについて述べる。
我々は、メタラーナーとして調整可能なプレフィックスエンコーダを用いて、クロスタスクおよびクロス言語変換可能な知識をキャプチャする。
本手法は, 各種コード関連タスクの性能向上と相互強化の促進に寄与する。
論文 参考訳(メタデータ) (2023-05-23T06:59:22Z) - CodeT5+: Open Code Large Language Models for Code Understanding and
Generation [72.1638273937025]
大きな言語モデル (LLM) は膨大なソースコードで事前訓練されており、コードインテリジェンスにおいて顕著な進歩を遂げている。
CodeT5+は、コンポーネントモジュールを柔軟に組み合わせて、幅広い下流のコードタスクに適合させることができるコードのためのエンコーダ-デコーダLLMのファミリーである。
我々は、ゼロショット、微調整、命令調整を含む20以上のコード関連ベンチマークでCodeT5+を広範囲に評価した。
論文 参考訳(メタデータ) (2023-05-13T14:23:07Z) - Enhancing Semantic Code Search with Multimodal Contrastive Learning and
Soft Data Augmentation [50.14232079160476]
コード検索のためのマルチモーダルコントラスト学習とソフトデータ拡張を用いた新しい手法を提案する。
我々は,6つのプログラミング言語を用いた大規模データセットにおけるアプローチの有効性を評価するために,広範囲な実験を行った。
論文 参考訳(メタデータ) (2022-04-07T08:49:27Z) - CodeT5: Identifier-aware Unified Pre-trained Encoder-Decoder Models for
Code Understanding and Generation [36.47905744758698]
我々は、開発者が指定した識別子から伝達されるコードセマンティクスをよりよく活用する、事前訓練されたエンコーダ-デコーダ変換モデルであるCodeT5を提案する。
我々のモデルは、コード理解と生成タスクの両方をシームレスにサポートし、マルチタスク学習を可能にする統一的なフレームワークを採用している。
論文 参考訳(メタデータ) (2021-09-02T12:21:06Z) - CLSEBERT: Contrastive Learning for Syntax Enhanced Code Pre-Trained
Model [23.947178895479464]
CLSEBERTは,構文強化符号事前学習モデルのための構築学習フレームワークである。
事前学習段階では、抽象構文木(AST)に含まれるコード構文と階層について検討する。
ひとつは抽象構文木内のノード間のエッジを予測することであり、もう一つはコードトークンの型を予測することである。
論文 参考訳(メタデータ) (2021-08-10T10:08:21Z) - GraphCodeBERT: Pre-training Code Representations with Data Flow [97.00641522327699]
本稿では,コード固有の構造を考慮したプログラミング言語の事前学習モデルであるGraphCodeBERTを提案する。
これは変数間の"where-the-value-comes-from"の関係をエンコードするコードのセマンティックレベルの構造です。
コード検索,クローン検出,コード翻訳,コード改良の4つのタスクにおいて,本モデルを評価する。
論文 参考訳(メタデータ) (2020-09-17T15:25:56Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。