无码人妻丰满熟妇奶水区码,麻豆一区区三,亚洲日韩欧美精品综合,亚洲无码地址

面向長代碼序列的 Transformer 模型優(yōu)化方法,提升長代碼場景性能

阿里云機器學(xué)習(xí)平臺PAI與華東師范大學(xué)高明教授團隊合作在SIGIR2022上發(fā)表了結(jié)構(gòu)感知的稀疏注意力Transformer模型SASA,這是面向長代碼序列的Transformer模型優(yōu)化方法,致力于提升長代碼場景下的效果和性能。由于self-attention模塊的復(fù)雜度隨序列長度呈次方增長,多數(shù)編程預(yù)訓(xùn)練語言模型(Programming-based Pretrained Language Models, PPLM)采用序列截斷的方式處理代碼序列。SASA方法將self-attention的計算稀疏化,同時結(jié)合了代碼的結(jié)構(gòu)特性,從而提升了長序列任務(wù)的性能,也降低了內(nèi)存和計算復(fù)雜度。

論文:Tingting Liu, Chengyu Wang, Cen Chen, Ming Gao, and Aoying Zhou. Understanding Long Programming Languages with Structure-Aware sparse Attention. SIGIR 2022

模型框架

下圖展示了SASA的整體框架:

面向長代碼序列的 Transformer 模型優(yōu)化方法,提升長代碼場景性能

其中,SASA主要包含兩個階段:預(yù)處理階段和Sparse Transformer訓(xùn)練階段。在預(yù)處理階段得到兩個token之間的交互矩陣,一個是top-k frequency矩陣,一個是AST pattern矩陣。Top-k frequency矩陣是利用代碼預(yù)訓(xùn)練語言模型在CodeSearchNet語料上學(xué)習(xí)token之間的attention交互頻率,AST pattern矩陣是解析代碼的抽象語法樹(Abstract Syntax Tree,AST ),根據(jù)語法樹的連接關(guān)系得到token之間的交互信息。Sparse Transformer訓(xùn)練階段以Transformer Encoder作為基礎(chǔ)框架,將full self-attention替換為structure-aware sparse self-attention,在符合特定模式的token pair之間進行attention計算,從而降低計算復(fù)雜度。

SASA稀疏注意力一共包括如下四個模塊:

  • Sliding window attention:僅在滑動窗口內(nèi)的token之間計算self-attention,保留局部上下文的特征,計算復(fù)雜度為,為序列長度,是滑動窗口大小。
  • Global attention:設(shè)置一定的global token,這些token將與序列中所有token進行attention計算,從而獲取序列的全局信息,計算復(fù)雜度為,為global token個數(shù)。
  • Top-k sparse attention:Transformer模型中的attention交互是稀疏且長尾的,對于每個token,僅與其attention交互最高的top-k個token計算attention,復(fù)雜度為。
  • AST-aware structure attention:代碼不同于自然語言序列,有更強的結(jié)構(gòu)特性,通過將代碼解析成抽象語法樹(AST),然后根據(jù)語法樹中的連接關(guān)系確定attention計算的范圍。

為了適應(yīng)現(xiàn)代硬件的并行計算特性,我們將序列劃分為若干block,而非以token為單位進行計算,每個query block與

面向長代碼序列的 Transformer 模型優(yōu)化方法,提升長代碼場景性能

個滑動窗口blocks和

面向長代碼序列的 Transformer 模型優(yōu)化方法,提升長代碼場景性能

個global blocks以及

面向長代碼序列的 Transformer 模型優(yōu)化方法,提升長代碼場景性能

個top-k和AST blocks計算attention,總體的計算復(fù)雜度為

面向長代碼序列的 Transformer 模型優(yōu)化方法,提升長代碼場景性能

,

b為block size。

每個sparse attention pattern 對應(yīng)一個attention矩陣,以sliding window attention為例,其attention矩陣的計算為:

面向長代碼序列的 Transformer 模型優(yōu)化方法,提升長代碼場景性能

ASA偽代碼:

面向長代碼序列的 Transformer 模型優(yōu)化方法,提升長代碼場景性能

實驗結(jié)果

我們采用CodeXGLUE[1]提供的四個任務(wù)數(shù)據(jù)集進行評測,分別為code clone detection,defect detection,code search,code summarization。我們提取其中的序列長度大于512的數(shù)據(jù)組成長序列數(shù)據(jù)集,實驗結(jié)果如下:

面向長代碼序列的 Transformer 模型優(yōu)化方法,提升長代碼場景性能

從實驗結(jié)果可以看出,SASA在三個數(shù)據(jù)集上的性能明顯超過所有Baseline。其中Roberta-base[2],CodeBERT[3],GraphCodeBERT[4]是采用截斷的方式處理長序列,這將損失一部分的上下文信息。Longformer[5]和BigBird[6]是在自然語言處理中用于處理長序列的方法,但未考慮代碼的結(jié)構(gòu)特性,直接遷移到代碼任務(wù)上效果不佳。

為了驗證top-k sparse attention和AST-aware sparse attention模塊的效果,我們在BigCloneBench和Defect Detection數(shù)據(jù)集上做了消融實驗,結(jié)果如下:

面向長代碼序列的 Transformer 模型優(yōu)化方法,提升長代碼場景性能

sparse attention模塊不僅對于長代碼的任務(wù)性能有提升,還可以大幅減少顯存使用,在同樣的設(shè)備下,SASA可以設(shè)置更大的batch size,而full self-attention的模型則面臨out of memory的問題,具體顯存使用情況如下圖:

面向長代碼序列的 Transformer 模型優(yōu)化方法,提升長代碼場景性能

SASA作為一個sparse attention的模塊,可以遷移到基于Transformer的其他預(yù)訓(xùn)練模型上,用于處理長序列的自然語言處理任務(wù),后續(xù)將集成到開源框架EasyNLP(https://github.com/alibaba/EasyNLP)中,貢獻給開源社區(qū)。

論文鏈接:https://arxiv.org/abs/2205.13730

參考文獻

[1] Shuai Lu, Daya Guo, Shuo Ren, Junjie Huang, Alexey Svyatkovskiy, Ambrosio Blanco, Colin B. Clement, Dawn Drain, Daxin Jiang, Duyu Tang, Ge Li, Lidong Zhou, Linjun Shou, Long Zhou, Michele Tufano, Ming Gong, Ming Zhou, Nan Duan, Neel Sundaresan, Shao Kun Deng, Shengyu Fu, Shujie Liu. CodeXGLUE: A Machine Learning Benchmark Dataset for Code Understanding and Generation. NeurIPS Datasets and Benchmarks 2021

[2] Yinhan Liu, Myle Ott, Naman Goyal, Jingfei Du, Mandar Joshi, Danqi Chen, Omer Levy, Mike Lewis, Luke Zettlemoyer, Veselin Stoyanov. RoBERTa: A Robustly Optimized BERT Pretraining Approach. CoRR abs/1907.11692 (2019)

[3] Zhangyin Feng, Daya Guo, Duyu Tang, Nan Duan, Xiaocheng Feng, Ming Gong, Linjun Shou, Bing Qin, Ting Liu, Daxin Jiang, Ming Zhou. CodeBERT: A Pre-Trained Model for Programming and Natural Languages. EMNLP 2020

[4] Daya Guo, Shuo Ren, Shuai Lu, Zhangyin Feng, Duyu Tang, Shujie Liu, Long Zhou, Nan Duan, Alexey Svyatkovskiy, Shengyu Fu, Michele Tufano, Shao Kun Deng, Colin B. Clement, Dawn Drain, Neel Sundaresan, Jian Yin, Daxin Jiang, Ming Zhou. GraphCodeBERT: Pre-training Code Representations with Data Flow. ICLR 2021

[5] Iz Beltagy, Matthew E. Peters, Arman Cohan. Longformer: The Long-Document Transformer. CoRR abs/2004.05150 (2020)

[6] Manzil Zaheer, Guru Guruganesh, Kumar Avinava Dubey, Joshua Ainslie, Chris Alberti, Santiago Onta?ón, Philip Pham, Anirudh Ravula, Qifan Wang, Li Yang, Amr Ahmed. Big Bird: Transformers for Longer Sequences. NeurIPS 2020

原文鏈接:http://click.aliyun.com/m/1000348767/

本文為阿里云原創(chuàng)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載。

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 舉報,一經(jīng)查實,本站將立刻刪除。

(0)
上一篇 2024年7月9日 上午8:23
下一篇 2024年7月9日 上午8:35

相關(guān)推薦

  • crm客戶關(guān)系管理服務(wù)

    CRM客戶關(guān)系管理服務(wù)介紹 CRM客戶關(guān)系管理服務(wù)是一種旨在提高客戶滿意度和忠誠度的客戶關(guān)系管理(CRM)系統(tǒng)。隨著商業(yè)競爭的加劇和客戶需求的不斷變化,企業(yè)需要更好地管理客戶關(guān)系,…

    科研百科 2025年1月2日
    9
  • 3個奇葩科研項目

    奇葩科研項目一: 為了探索人類思維的無限可能性,研究者們展開了一項令人難以置信的科研項目——“思維之眼”。這項實驗利用人工智能和虛擬現(xiàn)實技術(shù),讓人們進入了一個完全虛擬的世界,讓他們…

    科研百科 2025年3月19日
    4
  • qt 項目成績管理系統(tǒng)

    Qt 項目成績管理系統(tǒng) Qt 是一個跨平臺的 C++ 應(yīng)用程序開發(fā)框架,提供了許多優(yōu)秀的功能,例如圖形用戶界面、網(wǎng)絡(luò)通信、數(shù)據(jù)庫訪問等。在項目中,Qt 可以用于開發(fā)各種應(yīng)用程序,包…

    科研百科 2024年12月16日
    3
  • 在科研項目中的角色

    在科研項目中的角色 在科研項目中,每個人都有自己的角色。有些人是研究人員,他們負責(zé)探索新的領(lǐng)域,并發(fā)現(xiàn)新的知識和規(guī)律。有些人是工程師,他們負責(zé)設(shè)計并建造實驗設(shè)備,確保實驗的順利進行…

    科研百科 2025年4月4日
    1
  • 預(yù)祝老師科研項目成功的祝福語預(yù)祝老師科研項目成功的祝福語

    尊敬的老師: 在這個特殊的時刻,我想向您表達我最誠摯的祝福和最美好的祝愿。我深知您的科研項目正在經(jīng)歷著前所未有的挑戰(zhàn)和機遇,而您為此付出了無數(shù)的努力和汗水。我相信,在您的帶領(lǐng)下,您…

    科研百科 2024年7月5日
    92
  • 欲善其事,必利其器 I 一招破解企業(yè)合同管理難題

    謀其事,擇其利器,即可事半功倍。企業(yè)管理亦是如此。近期企業(yè)微信功能再次升級,基于企微應(yīng)用的合同管理功能已全面上線。企業(yè)微信聯(lián)合秀合同,雙劍合璧,聯(lián)手賦能。將合同管理的復(fù)雜難題通過企…

    2022年8月6日
    552
  • 什么研發(fā)科研項目

    標題: 利用機器學(xué)習(xí)技術(shù)提高羽毛球運動員的表現(xiàn) 開頭: 羽毛球是一項令人興奮的運動,它不僅需要運動員的技術(shù),還需要他們的精神力和反應(yīng)能力。近年來,隨著機器學(xué)習(xí)技術(shù)的不斷發(fā)展,研究人…

    科研百科 2025年2月6日
    3
  • 大學(xué)生科研項目可行性分析大學(xué)生科研項目可行性分析

    大學(xué)生科研項目可行性分析 近年來,隨著教育水平的提高和科技的不斷發(fā)展,大學(xué)生參與科研項目的積極性不斷提高。作為一項探索知識、培養(yǎng)創(chuàng)新能力的重要途徑,大學(xué)生科研項目的可行性分析至關(guān)重…

    科研百科 2024年6月18日
    35
  • 哪個項目管理軟件好

    選擇一個好的項目管理軟件可以幫助組織更高效地管理項目,提高生產(chǎn)力和效率。以下是幾個受歡迎的項目管理軟件,以及它們的特點: 1. Trello Trello是一個易于使用的可視化項目…

    科研百科 2024年7月21日
    6
  • 項目管理系統(tǒng)怎么設(shè)計的

    項目管理系統(tǒng)是一種用于管理項目的工具,可以幫助項目經(jīng)理、團隊和利益相關(guān)者更好地協(xié)調(diào)和協(xié)作。設(shè)計一個優(yōu)秀的項目管理系統(tǒng)需要考慮多個方面,包括需求分析、功能設(shè)計、數(shù)據(jù)庫設(shè)計、界面設(shè)計等…

    科研百科 2024年12月14日
    7
欧美图片另类视频| 91香蕉丝袜| 婷婷月月网| 亚洲欧洲美洲非洲av在线| 永久免费看av亚洲| 大色大色大色一二区| 嗯嗯啊啊啊国产一区二区三区| 亚州在线欧美| 久久国产精品99久久久久久进囗 | 一区二区熟女人妻| 亚洲成人色网址| 日韩 乱 欧美| 91九色大屁股精品| www.caoporn.cok| 色视 欧美| 香蕉视屏成人| 五月天 麻豆 日韩| 久久久久久久久久j| 日日操日日干| 欧美精品一区二区三区合区| 国产高清漏脸| 天堂电影麻豆专区| 日本1区2区免费不卡视频| 在线日韩一区换脸| 人人澡成年视频| 日本久久wwww.视频| 日本大香蕉精品一区视频| 亚洲成人日韩三级视频| 欧美韩一区二区麻豆| 欧美国产超碰一区二区| 久久色亚洲一区二区三区| 日韩射精免费| 亚洲三级操逼| 91后国产精品视频| 中文字幕第一网| 被干美女综合| 大香蕉在线视频免费播放| 欧美 日韩 国产 中文字幕| 国产aV熟妇人震精品一品二区| 欧美一级黄片视频,| 香蕉视频黄色一级免费|