論文の概要: CLAP: Learning Transferable Binary Code Representations with Natural
Language Supervision
- arxiv url: http://arxiv.org/abs/2402.16928v1
- Date: Mon, 26 Feb 2024 13:49:52 GMT
- ステータス: 処理完了
- システム内更新日: 2024-02-28 19:03:00.750920
- Title: CLAP: Learning Transferable Binary Code Representations with Natural
Language Supervision
- Title(参考訳): CLAP: 自然言語による変換可能なバイナリコード表現の学習
- Authors: Hao Wang, Zeyu Gao, Chao Zhang, Zihan Sha, Mingyang Sun, Yuchen Zhou,
Wenyu Zhu, Wenju Sun, Han Qiu, Xi Xiao
- Abstract要約: 本稿では,言語指導を利用してバイナリコードのより良い表現を学習するCLAP(Contrastive Language-Assembly Pre-training)を提案する。
中心となるアプローチは、バイナリコードとセマンティックスの説明を効果的に整合させることで、優れたトランスファー学習能力を向上する。
私たちは1億9500万のバイナリコードと説明を生成し、CLAPのプロトタイプをトレーニングしました。
- 参考スコア(独自算出の注目度): 22.42846252594693
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Binary code representation learning has shown significant performance in
binary analysis tasks. But existing solutions often have poor transferability,
particularly in few-shot and zero-shot scenarios where few or no training
samples are available for the tasks. To address this problem, we present CLAP
(Contrastive Language-Assembly Pre-training), which employs natural language
supervision to learn better representations of binary code (i.e., assembly
code) and get better transferability. At the core, our approach boosts superior
transfer learning capabilities by effectively aligning binary code with their
semantics explanations (in natural language), resulting a model able to
generate better embeddings for binary code. To enable this alignment training,
we then propose an efficient dataset engine that could automatically generate a
large and diverse dataset comprising of binary code and corresponding natural
language explanations. We have generated 195 million pairs of binary code and
explanations and trained a prototype of CLAP. The evaluations of CLAP across
various downstream tasks in binary analysis all demonstrate exceptional
performance. Notably, without any task-specific training, CLAP is often
competitive with a fully supervised baseline, showing excellent
transferability. We release our pre-trained model and code at
https://github.com/Hustcw/CLAP.
- Abstract(参考訳): バイナリコード表現学習はバイナリ解析タスクにおいて大きなパフォーマンスを示している。
しかし、既存のソリューションは、特にタスクのトレーニングサンプルがほとんど、あるいは全くない、少数またはゼロショットのシナリオでは、転送性に乏しいことが多い。
この問題に対処するため,我々は,言語指導を駆使したCLAP(Contrastive Language-Assembly Pre-training)を提案し,バイナリコード(アセンブリコード)の表現性を向上し,転送性を向上させる。
その中心となるアプローチは、バイナリコードを(自然言語で)セマンティクスの説明と効果的に整合させることで、優れたトランスファー学習能力を高めます。
このアライメントトレーニングを可能にするために、バイナリコードと対応する自然言語説明からなる大規模で多様なデータセットを自動的に生成できる効率的なデータセットエンジンを提案する。
私たちは1億9500万のバイナリコードと説明を生成し、CLAPのプロトタイプをトレーニングしました。
二分法解析における各種下流タスクに対するCLAPの評価は、いずれも例外的な性能を示している。
特に、タスク固有のトレーニングがなければ、CLAPは完全な教師付きベースラインと競合し、優れた転送性を示すことが多い。
トレーニング済みのモデルとコードはhttps://github.com/Hustcw/CLAP.orgで公開しています。
関連論文リスト
- How Far Have We Gone in Stripped Binary Code Understanding Using Large Language Models [51.527805834378974]
バイナリコード理解におけるLarge Language Models(LLM)の有効性を評価するためのベンチマークを提案する。
評価の結果、既存のLLMはバイナリコードをある程度理解でき、それによってバイナリコード解析の効率が向上することが明らかとなった。
論文 参考訳(メタデータ) (2024-04-15T14:44:08Z) - IRCoder: Intermediate Representations Make Language Models Robust Multilingual Code Generators [49.903001442804594]
本研究では、コンパイラ中間表現(IR)を活用して、Code-LMの多言語機能を改善する可能性について検討する。
まず,約400万のソースコードファイルからなる並列データセットであるSLTransをコンパイルする。
次に、SLTransにおける因果言語モデリングトレーニングを継続して実施し、Code-LMはIR言語を学習せざるを得なかった。
IRCoderと呼ばれる結果のモデルは、さまざまなコード生成タスクやメトリクスに対して、サイズと一貫性のあるゲインを表示します。
論文 参考訳(メタデータ) (2024-03-06T17:52:08Z) - Code Representation Learning At Scale [75.04686476303436]
2段階の事前学習スキームを用いて,大量のコードデータを用いてコード表現学習を行う。
まず、マスキング言語モデリングにおけるランダム性と、プログラミング言語の構造的側面の両方を活用して、エンコーダを訓練する。
そして、教師なしの方法で強陰性かつ強正に構築された対照的な学習を通して表現を強化する。
論文 参考訳(メタデータ) (2024-02-02T22:19:15Z) - TransformCode: A Contrastive Learning Framework for Code Embedding via Subtree Transformation [9.477734501499274]
コード埋め込みを対照的な学習方法で学習する新しいフレームワークであるTransformCodeを提案する。
我々のフレームワークはエンコーダに依存しない言語に依存しないので、どんなエンコーダモデルでも活用でき、どんなプログラミング言語でも扱える。
論文 参考訳(メタデータ) (2023-11-10T09:05:23Z) - CP-BCS: Binary Code Summarization Guided by Control Flow Graph and
Pseudo Code [79.87518649544405]
本稿ではCP-BCSと呼ばれる制御フローグラフと擬似コード案内バイナリコード要約フレームワークを提案する。
CP-BCSは双方向の命令レベル制御フローグラフと擬似コードを利用して、専門家の知識を取り入れ、包括的なバイナリ関数の実行動作と論理意味論を学ぶ。
論文 参考訳(メタデータ) (2023-10-24T14:20:39Z) - Exploring Continual Learning for Code Generation Models [80.78036093054855]
継続的学習(CL)は、コードドメインの中でまだ過小評価されていない重要な側面である。
コード生成,翻訳,要約,改良など,幅広いタスクをカバーするCodeTask-CLというベンチマークを導入する。
即時選択機構の不安定な訓練により,プロンプトプール (PP) などの有効手法が破滅的な忘れ込みに悩まされることが判明した。
論文 参考訳(メタデータ) (2023-07-05T16:58:39Z) - TransCoder: Towards Unified Transferable Code Representation Learning Inspired by Human Skills [31.75121546422898]
本稿では,コード表現学習のためのTransCoderについて述べる。
我々は、メタラーナーとして調整可能なプレフィックスエンコーダを用いて、クロスタスクおよびクロス言語変換可能な知識をキャプチャする。
本手法は, 各種コード関連タスクの性能向上と相互強化の促進に寄与する。
論文 参考訳(メタデータ) (2023-05-23T06:59:22Z) - LeTI: Learning to Generate from Textual Interactions [60.425769582343506]
本稿では,テキストインタラクション(LETI)から学習するLMの可能性を,バイナリラベルによる正当性をチェックするだけでなく,テキストフィードバックを通じて出力中のエラーをピンポイントし,説明する。
私たちの焦点はコード生成タスクであり、そこではモデルが自然言語命令に基づいてコードを生成する。
LETIは、目的のLMを用いて、自然言語命令、LM生成プログラム、テキストフィードバックの結合に基づいて、モデルを反復的に微調整する。
論文 参考訳(メタデータ) (2023-05-17T15:53:31Z) - Pre-Training Representations of Binary Code Using Contrastive Learning [14.1548548120994]
本稿では、表現学習中にソースコードとコメント情報をバイナリコードに組み込む、バイナリcOde分析のためのContrastive Learning Model(COMBO)を提案する。
COMBOは、ソースコード、バイナリコード、コメントをコントラストコード表現学習に組み込んだ最初の言語表現モデルである。
論文 参考訳(メタデータ) (2022-10-11T02:39:06Z) - CodeT5: Identifier-aware Unified Pre-trained Encoder-Decoder Models for
Code Understanding and Generation [36.47905744758698]
我々は、開発者が指定した識別子から伝達されるコードセマンティクスをよりよく活用する、事前訓練されたエンコーダ-デコーダ変換モデルであるCodeT5を提案する。
我々のモデルは、コード理解と生成タスクの両方をシームレスにサポートし、マルチタスク学習を可能にする統一的なフレームワークを採用している。
論文 参考訳(メタデータ) (2021-09-02T12:21:06Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。