0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

cosFormer:重新思考注意力機制中的Softmax

深度學(xué)習(xí)自然語言處理 ? 來源:我愛計算機視覺 ? 作者:多模態(tài)研究組 - 商 ? 2022-03-30 16:18 ? 次閱讀

導(dǎo)讀:Transformer在自然語言處理、計算機視覺音頻處理方面取得了巨大成功。作為其核心組成部分之一,Softmax Attention模塊能夠捕捉長距離的依賴關(guān)系,但由于Softmax算子關(guān)于序列長度的二次空間和時間復(fù)雜性,使其很難擴展。

針對這點,研究者提出利用核方法以及稀疏注意力機制的方法來近似Softmax算子,從而降低時間空間復(fù)雜度。但是,由于誤差的存在,效果往往不盡如人意。

商湯多模態(tài)研究組認為,近似操作本身存在的誤差使得其效果很難超越Softmax Attention。我們的觀點是,與其近似Softmax,不如設(shè)計一種方式代替Softmax,并且同時降低時間空間復(fù)雜度。

因此,本文提出了名為cosFormer的方法,在時間空間復(fù)雜度關(guān)于序列長度為線性復(fù)雜度的同時,其性能接近或者超越Softmax Attention,并在LRA benchmark上取得SOTA結(jié)果。我們的設(shè)計核心理念基于兩點,首先是注意力矩陣的非負性,其次是對局部注意力的放大(非極大值抑制)。

本文主要介紹已收錄于ICLR 2022的一篇文章 cosFormer : Rethinking Softmax in Attention。

06f3c082-afe8-11ec-aa7f-dac502259ad0.jpg

070b788a-afe8-11ec-aa7f-dac502259ad0.png

Part 1

背景

0723e71c-afe8-11ec-aa7f-dac502259ad0.gif

1. Softmax Attention

為了引出我們的方法,對Softmax Attention的計算方式進行一定的推廣:

073c17f6-afe8-11ec-aa7f-dac502259ad0.png

其中表示相似度計算函數(shù),如果,上式即變?yōu)镾oftmax Attention(不考慮除以的縮放操作)。注意到計算的時間復(fù)雜度為,的時間復(fù)雜度為,所以總時間復(fù)雜度為,即關(guān)于序列長度是二次的。

2. 線性 Attention

通過分析我們發(fā)現(xiàn),性能瓶頸的主要原因是操作,如果相似度函數(shù)可以表示為:

0750d6dc-afe8-11ec-aa7f-dac502259ad0.png

那么:

07600c4c-afe8-11ec-aa7f-dac502259ad0.png

根據(jù)矩陣運算的結(jié)合律:

077434e2-afe8-11ec-aa7f-dac502259ad0.png

上式可以變換為(編者修正:下方公式未變換,請參照論文):

07600c4c-afe8-11ec-aa7f-dac502259ad0.png

經(jīng)過計算后可以得到該方法的時間復(fù)雜度為,即關(guān)于序列長度是一次的。

Softmax Attention和線性Attention的計算方式可以用下圖概括:

07a1f260-afe8-11ec-aa7f-dac502259ad0.png

所以接下來將介紹的選擇,以及核心的reweighting操作。

3. Softmax 的兩大性質(zhì)

我們經(jīng)過分析以及實驗,歸納出Softmax Attention中比較重要的性質(zhì),這兩個性質(zhì)可以指導(dǎo)我們的模型設(shè)計:

1. 注意力矩陣的非負性

2. 局部注意力的放大(非極大值抑制)

對于第一點,我們有如下實驗進行驗證(模型結(jié)構(gòu)為RoBERTa):

07bdb856-afe8-11ec-aa7f-dac502259ad0.png

這里L(fēng)oss表示驗證集損失(越低越好),其余指標均為準確率(越高越好)??梢钥吹?,當保證了注意力矩陣的非負性之后,可以達到較好的效果。基于該實驗,我們選擇為ReLU函數(shù)。

對于第二點,我們的方式是在注意力矩陣中引入先驗locality信息,觀察Softmax注意力矩陣,如下圖所示,我們發(fā)現(xiàn)其注意力矩陣的權(quán)重在對角線附近很集中:

07ce07ce-afe8-11ec-aa7f-dac502259ad0.png

所以我們的方法需要在加了reweighting操作后也更加集中在對角線附近。注意并非所有的有類似權(quán)重的函數(shù)均適用,這個reweighting的函數(shù)需要跟前面的QK一樣可以拆分成兩個矩陣的乘法的形式。

至此,就可以引入我們的cosFormer了。

Part 2

cosFormer

0723e71c-afe8-11ec-aa7f-dac502259ad0.gif

1. 方法

我們的方法基于線性Attention,首先給出符號定義:

08068432-afe8-11ec-aa7f-dac502259ad0.png

根據(jù)之前的分析,我們選擇了:

081836fa-afe8-11ec-aa7f-dac502259ad0.png

可得:

08299756-afe8-11ec-aa7f-dac502259ad0.png

為了進行reweighting操作,并且同時保證線性Attention的計算方式依然成立,我們選擇了cos函數(shù):

0846632c-afe8-11ec-aa7f-dac502259ad0.png

展開可得:

085b3eaa-afe8-11ec-aa7f-dac502259ad0.png

為了便于展示,我們把它記作:

0872566c-afe8-11ec-aa7f-dac502259ad0.png

最終得到:

088c78ee-afe8-11ec-aa7f-dac502259ad0.png

上式和線性Attention的計算方式一致,經(jīng)過分析不難得出時間復(fù)雜度依然是。

2. 實驗結(jié)果

我們在單向模型、雙向模型以及LRA benchmark上測試了我們的方法,均取得了非常不錯的效果。

單向語言模型,指標表示困惑度(越低越好):

08a330ac-afe8-11ec-aa7f-dac502259ad0.png

雙向語言模型,指標表示準確率(越高越好):

08be1890-afe8-11ec-aa7f-dac502259ad0.png

LRA benchmark:

1)性能實驗,指標表示準確率(越高越好):

08d4c996-afe8-11ec-aa7f-dac502259ad0.png

2)內(nèi)存速度實驗,指標表示速度(越高越好,如果內(nèi)存溢出,則標記為叉):

08f4b97c-afe8-11ec-aa7f-dac502259ad0.png

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4262

    瀏覽量

    62237
  • 計算機視覺
    +關(guān)注

    關(guān)注

    8

    文章

    1690

    瀏覽量

    45875
  • Softmax
    +關(guān)注

    關(guān)注

    0

    文章

    9

    瀏覽量

    2492

原文標題:ICLR'22 | cosFormer:重新思考注意力機制中的Softmax

文章出處:【微信號:zenRRan,微信公眾號:深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    2024 年 19 種最佳大型語言模型

    ,當時一篇題為“通過聯(lián)合學(xué)習(xí)對齊和翻譯的神經(jīng)機器翻譯”的研究論文中引入了注意力機制(一種旨在模仿人類認知注意力的機器學(xué)習(xí)技術(shù))。2017年,另一篇論文“注意力就是你
    的頭像 發(fā)表于 08-30 12:56 ?426次閱讀
    2024 年 19 種最佳大型語言模型

    【《大語言模型應(yīng)用指南》閱讀體驗】+ 基礎(chǔ)知識學(xué)習(xí)

    并捕捉長距離依賴關(guān)系的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。Transformer通過編碼器(Encoder)和解碼器(Decoder)兩部分實現(xiàn)語言的編碼和解碼。 注意力機制:Transformer注意力
    發(fā)表于 08-02 11:03

    Transformer模型在語音識別和語音生成的應(yīng)用優(yōu)勢

    隨著人工智能技術(shù)的飛速發(fā)展,語音識別和語音生成作為人機交互的重要組成部分,正逐漸滲透到我們生活的各個方面。而Transformer模型,自其誕生以來,憑借其獨特的自注意力機制和并行計算能力,在
    的頭像 發(fā)表于 07-03 18:24 ?845次閱讀

    【大規(guī)模語言模型:從理論到實踐】- 閱讀體驗

    再次感謝電子發(fā)燒友提供的書籍試讀機會。今天來分享下我在學(xué)習(xí)大模型訓(xùn)練 注意力機制 的心得體會。 雖然注意力機制可以顯著提高模型處理長序列數(shù)
    發(fā)表于 06-07 14:44

    浪潮信息發(fā)布源2.0-M32開源大模型,模算效率大幅提升

    5月28日,浪潮信息發(fā)布“源2.0-M32”開源大模型。“源2.0-M32”在基于”源2.0”系列大模型已有工作基礎(chǔ)上,創(chuàng)新性地提出和采用了“基于注意力機制的門控網(wǎng)絡(luò)”技術(shù)
    的頭像 發(fā)表于 05-29 09:34 ?350次閱讀
    浪潮信息發(fā)布源2.0-M32開源大模型,模算效率大幅提升

    浪潮信息發(fā)布“源2.0-M32”開源大模型

    浪潮信息近日推出了革命性的“源2.0-M32”開源大模型。該模型在源2.0系列基礎(chǔ)上,引入了“基于注意力機制的門控網(wǎng)絡(luò)”技術(shù),構(gòu)建了一個包含32個專家的混合專家模型(MoE),有效提升了模型算效率。
    的頭像 發(fā)表于 05-29 09:08 ?569次閱讀

    采用單片超構(gòu)表面與元注意力網(wǎng)絡(luò)實現(xiàn)快照式近紅外光譜成像

    日前,北京理工大學(xué)王涌天教授、黃玲玲教授團隊聯(lián)合張軍院士、邊麗蘅教授團隊,采用單片超構(gòu)表面與元注意力網(wǎng)絡(luò)實現(xiàn)快照式近紅外光譜成像。
    的頭像 發(fā)表于 04-25 09:08 ?920次閱讀
    采用單片超構(gòu)表面與元<b class='flag-5'>注意力</b>網(wǎng)絡(luò)實現(xiàn)快照式近紅外光譜成像

    阿里巴巴發(fā)布AtomoVideo,兼容多款文生圖模型的高保真圖像視頻框架

    AtomoVideo運用預(yù)設(shè)的 T2I 模型,在每個空間卷積層和注意力層后新增一維時空卷積和注意力模塊。現(xiàn)有的 T2I 模型參數(shù)固定不變,它們只會訓(xùn)練新增的時空層,而輸入的串聯(lián)圖像信息由 VAE 編碼解析
    的頭像 發(fā)表于 03-07 11:22 ?698次閱讀

    【研究動態(tài)】萬物縱橫楊帆博士在Applied Soft Computing發(fā)表石化生產(chǎn)異常工況預(yù)警的人工智能算法研究成果

    近日,計算機科學(xué)領(lǐng)域著名期刊《Applied Soft Computing》(SCI一區(qū), Top期刊)刊載了四川萬物縱橫 楊帆博士 與四川大學(xué)合作的最新工業(yè)智能研究成果《基于注意力機制的催化裂化裝置異常工況預(yù)警》
    的頭像 發(fā)表于 01-23 13:32 ?463次閱讀
    【研究動態(tài)】萬物縱橫楊帆博士在Applied Soft Computing發(fā)表石化生產(chǎn)異常工況預(yù)警的人工智能算法研究成果

    OneFlow Softmax算子源碼解讀之BlockSoftmax

    寫在前面:筆者這段時間工作太忙,身心俱疲,博客停更了一段時間,現(xiàn)在重新撿起來。本文主要解讀 OneFlow 框架的第二種 Softmax 源碼實現(xiàn)細節(jié),即 block 級別的 Softmax
    的頭像 發(fā)表于 01-08 09:26 ?600次閱讀
    OneFlow <b class='flag-5'>Softmax</b>算子源碼解讀之BlockSoftmax

    OneFlow Softmax算子源碼解讀之WarpSoftmax

    寫在前面:近來筆者偶然間接觸了一個深度學(xué)習(xí)框架 OneFlow,所以這段時間主要在閱讀 OneFlow 框架的 cuda 源碼。官方源碼基于不同場景分三種方式實現(xiàn) Softmax,本文主要介紹其中一種的實現(xiàn)過程,即 Warp 級別 Softmax,適用于矩陣寬度不超過 1
    的頭像 發(fā)表于 01-08 09:24 ?664次閱讀
    OneFlow <b class='flag-5'>Softmax</b>算子源碼解讀之WarpSoftmax

    理解KV cache的作用及優(yōu)化方法

    MQA (Multi Query Attention,多查詢注意力) 是多頭注意力的一種變體。其主要區(qū)別在于,在 MQA 不同的注意力頭共享一個K和V的集合,每個頭只單獨保留了一份查
    的頭像 發(fā)表于 12-04 15:24 ?6170次閱讀
    理解KV cache的作用及優(yōu)化方法

    深入理解BigBird的塊稀疏高效實現(xiàn)方案

    使用 BigBird。但是,在更深入之前,一定記住 BigBird 注意力只是 BERT 完全注意力的一個近似,因此我們并不糾結(jié)于讓它比 BERT 完全注意力 更好,而是致力于讓它更有效率。
    的頭像 發(fā)表于 11-29 11:02 ?502次閱讀
    深入理解BigBird的塊稀疏高效實現(xiàn)方案

    全新近似注意力機制HyperAttention:對長上下文友好、LLM推理提速50%

    本文介紹了一項近似注意力機制新研究,耶魯大學(xué)、谷歌研究院等機構(gòu)提出了 HyperAttention,使 ChatGLM2 在 32k 上下文長度上的推理時間快了 50%。 Transformer
    的頭像 發(fā)表于 11-20 09:15 ?531次閱讀
    全新近似<b class='flag-5'>注意力</b><b class='flag-5'>機制</b>HyperAttention:對長上下文友好、LLM推理提速50%

    RTT的消息同步機制是如何實現(xiàn)的?

    RTT的消息同步機制是如何實現(xiàn)的
    發(fā)表于 11-02 07:00