論文の概要: TransformCode: A Contrastive Learning Framework for Code Embedding via Subtree Transformation
- arxiv url: http://arxiv.org/abs/2311.08157v2
- Date: Wed, 24 Apr 2024 03:08:29 GMT
- ステータス: 処理完了
- システム内更新日: 2024-04-25 16:25:00.324115
- 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を提案する。
我々のフレームワークはエンコーダに依存しない言語に依存しないので、どんなエンコーダモデルでも活用でき、どんなプログラミング言語でも扱える。
- 参考スコア(独自算出の注目度): 9.477734501499274
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Artificial intelligence (AI) has revolutionized software engineering (SE) by enhancing software development efficiency. The advent of pre-trained models (PTMs) leveraging transfer learning has significantly advanced AI for SE. However, existing PTMs that operate on individual code tokens suffer from several limitations: They are costly to train and fine-tune; and they rely heavily on labeled data for fine-tuning on task-specific datasets. In this paper, we present TransformCode, a novel framework that learns code embeddings in a contrastive learning manner. Our framework is encoder-agnostic and language-agnostic, which means that it can leverage any encoder model and handle any programming language. We also propose a novel data-augmentation technique called abstract syntax tree (AST) transformation, which applies syntactic and semantic transformations to the original code snippets, to generate more diverse and robust samples for contrastive learning. Our framework has several advantages over existing methods: (1) It is flexible and adaptable, because it can easily be extended to other downstream tasks that require code representation (such as code-clone detection and classification); (2) it is efficient and scalable, because it does not require a large model or a large amount of training data, and it can support any programming language; (3) it is not limited to unsupervised learning, but can also be applied to some supervised learning tasks by incorporating task-specific labels or objectives; and (4) it can also adjust the number of encoder parameters based on computing resources. We evaluate our framework on several code-related tasks, and demonstrate its effectiveness and superiority over the state-of-the-art methods such as SourcererCC, Code2vec, and InferCode.
- Abstract(参考訳): 人工知能(AI)は、ソフトウェア開発の効率を向上させることによって、ソフトウェアエンジニアリング(SE)に革命をもたらした。
トランスファーラーニングを活用した事前学習モデル(PTM)の出現により、SEのためのAIは大幅に進歩した。
しかし、個々のコードトークンを操作する既存のPTMには、いくつかの制限がある。それらは、トレーニングと微調整にコストがかかり、タスク固有のデータセットを微調整するためにラベル付きデータに大きく依存している。
本稿では,コード埋め込みを対照的な学習方法で学習する新しいフレームワークであるTransformCodeを提案する。
我々のフレームワークはエンコーダに依存しない言語に依存しないので、どんなエンコーダモデルでも活用でき、どんなプログラミング言語でも扱える。
また,抽象構文木変換(AST)変換と呼ばれる新しいデータ拡張手法を提案し,構文的および意味的変換を元のコードスニペットに適用し,より多様で頑健なサンプルを生成する。
既存の手法に対して、柔軟性と適応性があり、コード表現を必要とする他のダウンストリームタスク(コードクローンの検出や分類など)に容易に拡張できるため、2)大規模モデルや大量のトレーニングデータを必要としないため、効率的でスケーラブルであり、あらゆるプログラミング言語をサポートできるため、(3)教師なし学習に限らず、タスク固有のラベルや目的を組み込むことで教師あり学習タスクにも適用できる、(4)コンピュータリソースに基づいたエンコーダパラメータの調整も可能である。
我々は,いくつかのコード関連タスクにおけるフレームワークの評価を行い,SourcererCC,Code2vec,InferCodeといった最先端のメソッドよりも有効性と優位性を示す。
関連論文リスト
- 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)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。