論文の概要: Understanding Long Programming Languages with Structure-Aware Sparse
Attention
- arxiv url: http://arxiv.org/abs/2205.13730v1
- Date: Fri, 27 May 2022 02:50:57 GMT
- ステータス: 処理完了
- システム内更新日: 2022-05-30 12:57:39.814378
- Title: Understanding Long Programming Languages with Structure-Aware Sparse
Attention
- Title(参考訳): 構造を考慮したスパース注意による長期プログラミング言語理解
- Authors: Tingting Liu, Chengyu Wang, Cen Chen, Ming Gao, Aoying Zhou
- Abstract要約: 本稿では,SASA(Structure-Aware Sparse Attention Mechanism)を提案する。
SASAの主要なコンポーネントは、上位$kのスパースアテンションとAST(Abstract Syntax Tree)ベースの構造アテンションである。
CodeXGLUEタスクの実験では、SASAは競合するベースラインよりも優れたパフォーマンスを実現している。
- 参考スコア(独自算出の注目度): 32.21325784213584
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Programming-based Pre-trained Language Models (PPLMs) such as CodeBERT have
achieved great success in many downstream code-related tasks. Since the memory
and computational complexity of self-attention in the Transformer grow
quadratically with the sequence length, PPLMs typically limit the code length
to 512. However, codes in real-world applications are generally long, such as
code searches, which cannot be processed efficiently by existing PPLMs. To
solve this problem, in this paper, we present SASA, a Structure-Aware Sparse
Attention mechanism, which reduces the complexity and improves performance for
long code understanding tasks. The key components in SASA are top-$k$ sparse
attention and Abstract Syntax Tree (AST)-based structure-aware attention. With
top-$k$ sparse attention, the most crucial attention relation can be obtained
with a lower computational cost. As the code structure represents the logic of
the code statements, which is a complement to the code sequence
characteristics, we further introduce AST structures into attention. Extensive
experiments on CodeXGLUE tasks show that SASA achieves better performance than
the competing baselines.
- Abstract(参考訳): CodeBERTのようなプログラミングベースの事前訓練言語モデル(PPLM)は多くの下流のコード関連タスクで大きな成功を収めた。
トランスの自己アテンションのメモリと計算の複雑さはシーケンス長と二次的に増加するので、pplmは通常符号長を512に制限する。
しかし、実世界のアプリケーションでは、既存のPPLMでは効率的に処理できないコード検索など、一般的に長いコードがある。
そこで本稿では,構造を意識したスパースアテンション機構であるsasaを提案し,複雑さを低減し,長いコード理解タスクの性能を向上させる。
SASAの主要なコンポーネントは、上位$kのスパースアテンションとAST(Abstract Syntax Tree)ベースの構造アテンションである。
トップ$k$の注意をそらすことで、最も重要な注意関係は低い計算コストで得られる。
コード構造は、コードシーケンス特性を補完するコードステートメントのロジックを表現するので、さらにast構造に注意を向ける。
CodeXGLUEタスクの大規模な実験は、SASAが競合するベースラインよりも優れたパフォーマンスを達成することを示している。
関連論文リスト
- Enhancing LLM's Cognition via Structurization [41.13997892843677]
大規模言語モデル(LLM)は因果的かつシーケンシャルな視点で入力コンテキストを処理する。
本稿では,コンテキスト構造化という新しい概念を提案する。
具体的には、平易で秩序のない文脈文を、適切に順序付けされ階層的に構造化された要素に変換する。
論文 参考訳(メタデータ) (2024-07-23T12:33:58Z) - Comments as Natural Logic Pivots: Improve Code Generation via Comment Perspective [85.48043537327258]
本稿では, MANGO (comMents As Natural loGic pivOts) を提案する。
その結果、MANGOは強いベースラインに基づいてコードパス率を大幅に改善することがわかった。
論理的なコメントの復号化戦略の堅牢性は、考えの連鎖よりも顕著に高い。
論文 参考訳(メタデータ) (2024-04-11T08:30:46Z) - StepCoder: Improve Code Generation with Reinforcement Learning from
Compiler Feedback [58.20547418182074]
2つの主要コンポーネントからなるコード生成の新しいフレームワークであるStepCoderを紹介します。
CCCSは、長いシーケンスのコード生成タスクをCurriculum of Code Completion Subtaskに分割することで、探索課題に対処する。
FGOは、未実行のコードセグメントをマスクすることでのみモデルを最適化し、Fine-Grained Optimizationを提供する。
提案手法は,出力空間を探索し,対応するベンチマークにおいて最先端の手法より優れた性能を発揮する。
論文 参考訳(メタデータ) (2024-02-02T13:14:31Z) - SparseCoder: Identifier-Aware Sparse Transformer for File-Level Code
Summarization [51.67317895094664]
本稿では,大規模なソースコードプロジェクトの理解と維持を支援するファイルレベルのコード要約について検討する。
長いコードシーケンスを効果的に処理するための識別子対応スパース変換器であるSparseCoderを提案する。
論文 参考訳(メタデータ) (2024-01-26T09:23:27Z) - When Do Program-of-Thoughts Work for Reasoning? [51.2699797837818]
本稿では,コードと推論能力の相関性を測定するために,複雑性に富んだ推論スコア(CIRS)を提案する。
具体的には、抽象構文木を用いて構造情報をエンコードし、論理的複雑性を計算する。
コードはhttps://github.com/zjunlp/EasyInstructのEasyInstructフレームワークに統合される。
論文 参考訳(メタデータ) (2023-08-29T17:22:39Z) - AST-MHSA : Code Summarization using Multi-Head Self-Attention [1.588193964339148]
本稿では,抽象構文木(AST)から意味情報を抽出するためにマルチヘッドアテンションを用いたAST-MHSAモデルを提案する。
モデルは、コードとサマリーのデータセットに基づいてトレーニングされ、生成されたサマリーとグラウンド・トゥルース・サマリーの間の損失を最小限に抑えるためにパラメータが最適化される。
論文 参考訳(メタデータ) (2023-08-10T15:43:46Z) - LongCoder: A Long-Range Pre-trained Language Model for Code Completion [56.813974784131624]
LongCoderは自己アテンションにスライディングウィンドウ機構を採用し、グローバルアクセス可能なトークンを2種類導入している。
ブリッジトークンは入力シーケンス全体を通して挿入され、ローカル情報を集約し、グローバルな相互作用を促進する。
メモリトークンは、後で呼び出され、記憶する必要がある重要なステートメントをハイライトするために含まれます。
論文 参考訳(メタデータ) (2023-06-26T17:59:24Z) - Improving Code Summarization with Block-wise Abstract Syntax Tree
Splitting [15.28941592388958]
ソースコードの構文構造を表現した抽象構文木(AST)がコード要約の生成をガイドするために組み込まれている。
既存のastベースのメソッドはトレーニングが困難で、不適切なコード要約を生成する。
ASTのリッチツリー形式の構文構造をフル活用したBlock-wise Abstract Syntax Tree Splitting法(BASTS)を提案する。
論文 参考訳(メタデータ) (2021-03-14T05:04:06Z) - GraphCodeBERT: Pre-training Code Representations with Data Flow [97.00641522327699]
本稿では,コード固有の構造を考慮したプログラミング言語の事前学習モデルであるGraphCodeBERTを提案する。
これは変数間の"where-the-value-comes-from"の関係をエンコードするコードのセマンティックレベルの構造です。
コード検索,クローン検出,コード翻訳,コード改良の4つのタスクにおいて,本モデルを評価する。
論文 参考訳(メタデータ) (2020-09-17T15:25:56Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。