日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

LongFormer:用稀疏自注意力拓展模型文本容纳量

發布時間:2024/10/8 编程问答 79 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LongFormer:用稀疏自注意力拓展模型文本容纳量 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

論文標題:

Longformer: The Long-Document Transformer

論文作者:

Iz Beltagy (AllenAI), Matthew E. Peters (AllenAI), Arman Cohan (AllenAI)

論文鏈接:

https://arxiv.org/pdf/2004.05150.pdf

代碼鏈接:

https://github.com/allenai/longformer


盡管Self-Attention可以建模長距離文本,但由于時空復雜度都為平方級,從而它無法一次處理較長的文本。

BERT的處理方法是,將文本截斷為512的長度,如此一來,雖然模型可以分段處理,但數據的預處理也是相當麻煩的。

本文采用局部自注意力和全局自注意力結合的方式(或簡稱為稀疏注意力),同時為其進行了CUDA優化,從而使得模型最大能夠容納長度上萬的文本,同時還能實現更好的結果。

自注意力機制的缺陷

眾所周知,Transformer 的 Self-Attention 有一大優點一大缺點:優點是它能在理論上建模任意長的文本,缺點是實踐中過長的文本會導致內存爆炸。

這是因為,自注意力的時空復雜度都是平方級的,文本越長,空間消耗就顯著更大,所以在實際使用的時候,通常把句子長度截短到512,然后分段送入模型。

這種方法雖然可以在一定程度上解決內存不足的問題,但是:

  • 它回避了Self-Attention的固有缺陷,只是一種暫緩之計;

  • 這種方法非常麻煩,需要預處理數據集;

  • 很多任務都包含大量長文本,實際需要要求我們能夠一次性處理它們。

基于以上現狀和自注意力的固有缺陷,本文提出結合局部自注意力和全局自注意力,在提高效率的同時又不失效果。

和之前的許多工作相比,本文沒有在具體技術上有太大創新,但是本文首次將這種稀疏自注意力應用到了三種包含長文本的任務上:問答、共指消解和文檔分類,并證明了其有效性。

此外,本文還基于TVM實現了稀疏自注意力的CUDA優化并開源,造福廣大研究者!

總的來說,本文有如下貢獻

  • 通過大量實驗(語言模型、問答、共指消解、文檔分類)證明了稀疏自注意力的有效性,甚至優于原版自注意力;

  • 基于TVM實現了稀疏自注意力的CUDA優化,加快了實際應用的使用速度;

  • 開源代碼,便于復現論文結果。

稀疏自注意力

在此之前已經有許多關于稀疏自注意力的工作,本文使用簡單的CNN局部自注意力實現,如下圖所示。

圖1是原版自注意力(每個字符都能關注其他所有字符),圖2是基于CNN的局部自注意力(以窗口的形式移動,每個窗口內的字符可以互相關注),圖3是基于Dilated CNN的局部自注意力(跨越式滑動窗口),圖4是結合局部自注意力和全局自注意力的稀疏自注意力。

其中,“全局”的意思是,讓小部分字符既能關注其他所有字符,又能讓其他所有字符關注它。如果這些字符的數量很小,那么整體也可以看成是O(n)復雜度的。

在具體使用的時候,本文設置兩套映射矩陣Q,K,V,一套用于CNN局部自注意力Q_s,K_s,V_s,另一套用于全局注意力Q_g,K_g,V_g。

同時,在模型底層使用較小的CNN窗口大小,以建模局部信息;在高層使用較大的CNN大小,以擴大感受野。

使用圖4的稀疏自注意力,可以看到,有大量的“白色方塊”,表示不需要關注,而隨著文本長度的增加,這種白色方塊的數量會呈平方級增加,所以實際上我們需要的“綠色方塊”數量是很少的。

為了讓稀疏自注意力適應當前深度學習框架,本文還基于TVM實現了對其的CUDA優化,極大提升了實際使用的效率。

下圖是使用CUDA優化的稀疏自注意力(Longformer)、原版自注意力(Full Self-attention)和未使用CUDA優化的稀疏自注意力(Naive Pytorch)在時間復雜度和空間復雜度上的比較。

可以看到,LongFormer能夠取得最佳的時空復雜度。

實驗

本文在語言模型、問答、共指消解和文檔分類任務上進行實驗,驗證LongFormer在長文本上的效果。

語言模型任務

語言模型使用數據集text8和enwik8,按階段訓練LongFormer。在測評時,在長度為32256長的文本上進行,其他設置詳見原文。

下表是實驗結果。可以看到,在參數量相近的情況下,Longformer取得了略好的結果,但由于一次可容納的最大文本長度大大增加了,測試的時間也會有所縮短(表中未給出)。

下表是LongFormer中局部自注意力窗口大小隨模型深度變化情況帶來的最終效果,可以看到,由底層到高層降低感受野的方法效果最差,而由底層到高層增加感受野的方法效果最好;并且為2個頭使用Dilated的方法可以更好一些。

問答、共指消解與文檔分類任務

在進行這三個任務之前,LongFormer首先需要預訓練。為此,模型在RoBERTa上繼續預訓練,預訓練語料主要包含了一些長文本。

在預訓練之后,再在具體任務上微調。這里略去預訓練細節,有興趣的讀者可以參考原文Section 5。

問答的數據集有WikiHop, TriviaQA和HotpotQA,共指消解的數據集有OntoNotes,文檔分類的數據集有IMDB和Hyperpartisan。

問答的三個數據集都有很長的文本長度,RoBERTa需要對其切分,而LongFormer直接把一個問答任務中的問題和所有文檔拼接起來,不需要再切分。

對另外兩個任務也是同樣的操作。基線模型是RoBERTa。

下面是在這三個任務上總的結果。

可以看到,LongFormer在這些任務上都或多或少超過了基線模型,尤其是在需要長距離上下文的數據集上,如WikiHop和Hyperpartisan。

下表是LongFormer在HotPotQA上的表現,當前該數據集表現最佳的模型是多階段+圖網絡,而從表中可以看到,單階段的LongFormer也能有69.5的F1值,二階段的模型有71.4的F1值,已經比較接近當前最佳結果。

最后來看看因子分析實驗,數據集為WikiHop。從表中可以看到,對LongFormer影響最大的是全局注意力、局部注意力和兩套映射矩陣。

值得注意的是,當LongFormer和RoBERTa同樣采用512的長度和原版自注意力時,效果還不僅RoBERTa,盡管LongFormer在更多的語料上預訓練了,這說明LongFormer的效果增強并不來自于預訓練。

小結

本文提出了一種綜合的稀疏自注意力模型——LongFormer,利用局部自注意力和全局自注意力在大幅降低空間復雜度的情況下提高模型效果。

LongFormer可以直接吞進長文本,而不需要像BERT類模型一樣對其強行截短,這就有利于那些需要建模長距離語義的任務。

在語言模型、問答、共指消解和文檔分類任務上,LongFormer展現出了它強壯的一面,也為稀疏自注意力的研究帶來新的可能性,我們期待它能在更多任務上取得好的表現。

????

現在,在「知乎」也能找到我們了

進入知乎首頁搜索「PaperWeekly」

點擊「關注」訂閱我們的專欄吧

關于PaperWeekly

PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學術平臺。如果你研究或從事 AI 領域,歡迎在公眾號后臺點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。

總結

以上是生活随笔為你收集整理的LongFormer:用稀疏自注意力拓展模型文本容纳量的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。