精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Binary Block Masking:加快稀疏 Attention 的一種新方法

發(fā)布于 2024-9-30 15:18
瀏覽
0收藏

一、背景

我們在之前的文章中簡單介紹了 Sample Packing 相關(guān)的技術(shù)方案及涉及的問題,也在看其中 Attention 計算帶來的各種挑戰(zhàn)。機緣巧合正好看到一篇文章試圖解決相應(yīng)的 Attention 計算問題,這里進(jìn)行簡單介紹。

對應(yīng)的論文為:[2409.15097] Efficiently Dispatching Flash Attention For Partially Filled Attention Masks

相關(guān)工作可以參考我們之前的文章:

二、摘要

Transformer 已廣泛應(yīng)用于各種應(yīng)用場景,會產(chǎn)生稀疏或部分填充的注意力矩陣,比如旨在降低 Attention 二次復(fù)雜度的 Attention Mask、Sample Packing 或其他技術(shù)引入的稀疏 Attention,例如用于 Medusa 投機采樣快速驗證的 Tree Attention。盡管這些矩陣具有固定的稀疏性,但 SOTA 的 FlashAttention 仍然將其當(dāng)做稠密矩陣處理。

本文中,作者提出了 Binary Block Masking (BinBlkMsk) ,通過使 FlashAttention 具備 Mask 感知能力來增強 FlashAttention。作者也進(jìn)一步提出了兩種優(yōu)化方案,在真實場景的 Attention Mask 實驗表明,運行速度可以提升 9x。

  • 一種針對具有連續(xù)非零 Mask:Dense Binary Block Masking。
  • 一種針對極度稀疏 Mask:Binary Block Masking with RCM?

Binary Block Masking:加快稀疏 Attention 的一種新方法-AI.x社區(qū)

PS:其實上述的 Baseline 有問題,F(xiàn)lashAttention 可以通過 Varlen 方案支持 Sample Packing 引入的 Block Diagonal Mask,避免當(dāng)做稠密矩陣計算。此外,Pytorch 官方也發(fā)布了 FlexAttention,可以支持各種 Attention Mask 變體,本文作者也并沒有對比。

三、方案

3.1 Binary Block Masking

以 Sample Packing 引入的 Block Diagonal Mask 為例,如下圖所示,Max Sequence Length 為 16,拼接了 3 個 Sample,長度分別為 4,5,7。因此會形成一個 16x16 的 Global Mask,其中包含 3 個 Causal Mask。

在 FlashAttention 實際的計算中會將其劃分為不同的 Block 計算。本文提出的 Binary Block Masking 是通過一個額外的 Binary Block Matrix 來標(biāo)記哪些 Block 全是 0,而哪些中有非 0 值。如下圖,假設(shè) Block 的大小為 2x2,則會生成一個 8x8 Binary Matrix,如下圖紅框和藍(lán)框?qū)?yīng)的位置為 1,其他位置為 0。在計算時,如果 Binary Block Matrix 中為 0 的 Mask 可以忽略不計算。

Binary Block Masking:加快稀疏 Attention 的一種新方法-AI.x社區(qū)

3.2 Dense Binary Block Masking

在自然語言場景中,通常上述的 Attention Mask 的 Block 中會存在很多連續(xù)全 1 的 Block,只在邊界的 Block 里既有 0 又有 1。對于全為 1 的 Block,在計算時不用再讀取 Attention Mask,減少訪存并提升計算效率。因此作者使用兩個額外的數(shù)組 total_ones 和 offset 來標(biāo)識這些連續(xù)全 1 Block,如下圖所示,total_ones[7] 為 2,表示最后一行有 2 個全 1 Block;offset[7] 為 5,表示最后一行連續(xù)全 1 Block 的起始索引為 5。

  • total_ones 存儲全 1 Block 的個數(shù)。
  • offset 存儲 Binary Block Matrix 中每行連續(xù)全 1 Block 的起始位置。
  • 右圖 Binary Block Matrix 中紅色 1表示 Block 中全是 1,黑色 1 表示 Block 中部分為 1。?

Binary Block Masking:加快稀疏 Attention 的一種新方法-AI.x社區(qū)

PS:實際計算中,對于所有 Layer,所有 Attention Head 都只需計算一次。

3.3 Binary Block Masking with RCM

在處理非常稀疏的注意力掩碼時,如果使用標(biāo)準(zhǔn)的 Binary Block Masking 方法,可能會存在效率問題。這是因為即使整個塊中只有一個非零值,也必須處理整個塊,導(dǎo)致計算資源的浪費。作者使用 Reverse Cuthill-McKee (RCM) 算法來有效地重新組織 Mask 矩陣的結(jié)構(gòu),從而減少必須處理的 Block 的數(shù)量。如下圖 Figure 3 所示:

Binary Block Masking:加快稀疏 Attention 的一種新方法-AI.x社區(qū)

如下圖所示,作者展示了一個合成掩碼的結(jié)果,其中 RCM 預(yù)處理減少了 90% 的 Block 數(shù)量,從而獲得顯著的性能提升。Binary Block Masking with RCM 的速度明顯快于 Binary Block Masking。

Binary Block Masking:加快稀疏 Attention 的一種新方法-AI.x社區(qū)

四、實驗和結(jié)果

4.1 配置

作者主要評估三種 Mask 類型,包括 Medusa([2401.10774] Medusa: Simple LLM Inference Acceleration Framework with Multiple Decoding Heads) 里面的 Tree Attention Mask,Sample Packing 中的 Block Diagonal Mask 以及 LongFormer([2004.05150] Longformer: The Long-Document Transformer) 中的稀疏 Mask。測試時使用 Batch Size 為 4,32 個 Attention Head。FlashAttention 中的 Block Size 固定為 (128, 32)。

此外,測試的 FlashAttention 方案并不是開源的 FlashAttention 實現(xiàn),而是作者基于 Triton 實現(xiàn)的,以方便對比。

4.2 預(yù)處理

如下圖 Table 1 所示,作者使用 Triton 實現(xiàn)了基于 Attention Mask 生成 Binary Block Mask 的 Kernel,并測試了相應(yīng)的時間。雖然 Binary Block Mask 的生成時間和 Batch Size 為 1,1 個 Head 的計算時間差不多,但是整體只用計算一次,影響比較小。

Binary Block Masking:加快稀疏 Attention 的一種新方法-AI.x社區(qū)

4.3 Medusa Tree Attention

如下圖 Figure 3 所示為對 Medusa Tree Attention 的優(yōu)化效果。左圖為 Tree Attention 的 Mask,其中 K 表示 Medusa 中 Head 個數(shù),sk 表示每個 Head 候選 Token 個數(shù)。(b) 表示固定候選 Token 為 3,不同 Head 個數(shù)下的速度;(c) 表示固定 4 個 Head,不同候選 Token 的速度。

  • Naive Attention Masking:所有 Block 都計算。
  • Bash FlashAttention:Causal Mask,只計算下三角的 Block,當(dāng) Head 或者候選 Token 很多時 FlashAttention 的 Causal Mask 時間大概是 Naive 的一半(計算量大約是一半)。
  • Binary Block Masking:只計算部分 Block,速度遠(yuǎn)快于上述兩種方案。?

Binary Block Masking:加快稀疏 Attention 的一種新方法-AI.x社區(qū)

4.4 Sample Packing Block Diagonal Mask

作者同樣評估了 Sample Packing 場景的 Block Diagonal Mask,如下圖(a)表示標(biāo)準(zhǔn) Causal Mask 的組合;(b)表示 Input 雙向 Attention,而 Output Causal Mask 的情況。從(b)和(c)可以得出類似 Tree Mask 的結(jié)論,當(dāng)序列比較長時,本文的 Binary Block Masking 可以帶來 9x 加速。不過需要說明的是:Base FlashAttention 的時間幾乎是 Naive Attention Masking 的一半,也可以推導(dǎo)出作者使用的 FlashAttention 方案確實計算了整個下三角 Block,而沒有使用 Varlen 方案。

Binary Block Masking:加快稀疏 Attention 的一種新方法-AI.x社區(qū)

4.5 LongFormer Attention Mask

作者同樣評估了 LongFormer 場景的各種稀疏 Mask,如下圖分別為 Sliding Window Attention,Dilated Attention 以及 Global Attention 等場景,可以得出類似的結(jié)論。需要說明的是,此時 Base FlashAttention 相比 Naive Attention 的提升比較有限。

Binary Block Masking:加快稀疏 Attention 的一種新方法-AI.x社區(qū)

4.6 Pytorch FlexAttention

Pytorch 在 2.5.0 版本引入了 FlexAttention(FlexAttention: The Flexibility of PyTorch with the Performance of FlashAttention),可以很容易支持各種 Attention Mask 變種,比如標(biāo)準(zhǔn) Causal Mask、Sliding Window 、Prefix Mask 以及 Block Diagonal Mask 等,相比 FlashAttention 靈活了很多,本文提到的各種 Attention 基本也都能實現(xiàn)。

如下表所示,我們同樣做了 Sample Packing 的實驗,隨著 Sequence 中 Sample 分布的不同,計算的耗時甚至可能差 10x,與本文中 9x 的提升也能對上。

Binary Block Masking:加快稀疏 Attention 的一種新方法-AI.x社區(qū)

五、參考鏈接

  1. ??https://arxiv.org/abs/2409.15097??
  2. ??https://arxiv.org/abs/2401.10774??
  3. ??https://arxiv.org/abs/2004.05150??
  4. ??https://pytorch.org/blog/flexattention/???

本文轉(zhuǎn)載自 ??AI閑談??,作者: AI閑談

標(biāo)簽
已于2024-9-30 18:06:49修改
收藏
回復(fù)
舉報
回復(fù)
相關(guān)推薦
中文字幕高清视频| 亚洲精品一区二区三区四区五区| 久久国产精品波多野结衣av| 精品少妇3p| 欧美综合久久久| 精品日韩在线播放| 香蕉久久一区二区三区| 男人的天堂久久精品| 欧美成人四级hd版| 中文在线一区二区三区| 99久久这里有精品| 岛国av在线不卡| 国产精品av免费| 亚洲aⅴ在线观看| 久久av中文字幕片| 性欧美xxxx视频在线观看| 亚洲av熟女国产一区二区性色| 日韩精品一级| 欧美视频一区二区三区四区| 男人的天堂avav| 日本在线免费中文字幕| zzijzzij亚洲日本少妇熟睡| 成人黄色短视频在线观看| 色婷婷在线观看视频| 亚洲人体av| 在线观看成人黄色| 中文字幕在线观看的网站| 日韩成人久久| 欧美日韩久久一区二区| 999精品网站| 蜜桃麻豆影像在线观看| 亚洲一区二区中文在线| 在线视频不卡一区二区| 成人午夜影视| 久久午夜羞羞影院免费观看| 国产精品视频免费一区| 国产suv一区二区| 麻豆免费精品视频| 国产精品久久久久一区二区| 国产成人无码一区二区在线播放| 黑丝一区二区| 欧美高跟鞋交xxxxhd| 精品国产乱码久久久久久鸭王1| 成人激情视频| 中文字幕日韩精品在线| brazzers精品成人一区| 国产99精品一区| 2018日韩中文字幕| 久久精品国产99精品国产亚洲性色| 久久精品无码中文字幕| 午夜视频免费在线| 成人黄色综合网站| 99国产在线视频| 羞羞色院91蜜桃| 懂色av蜜臀av粉嫩av分享吧| 天堂成人国产精品一区| 欧美性在线视频| 欧美在线观看不卡| 免费视频一区二区三区在线观看| 国内精品小视频| 日本三级中文字幕| 国产欧美一区二区色老头| 91精品国产色综合久久不卡98口 | 日韩国产欧美| 亚洲男人天堂九九视频| 国产精品jizz| 欧美精品一区二区久久| 在线看片第一页欧美| 91狠狠综合久久久久久| 亚洲v在线看| 欧美福利视频网站| 综合激情网五月| 日韩国产在线一| 成人动漫网站在线观看| 国产成人精品无码高潮| www.亚洲人| 欧美色欧美亚洲另类七区| 91官网在线| 亚洲欧美电影一区二区| 亚洲国产精品无码观看久久| 三级中文字幕在线观看| 色欧美片视频在线观看 | 国产精品影音先锋| 国产精成人品localhost| 无码国产精品一区二区免费16 | 日韩一区二区三| 香港三日本8a三级少妇三级99| 五月国产精品| 精品国产一区二区三区久久狼黑人 | 99久久久久久久久| 免费成人在线视频观看| 91精品入口蜜桃| 天堂v视频永久在线播放| 欧美激情在线一区二区三区| 欧美 国产 精品| 亚洲妇女成熟| 欧美一区二区三区在线| 爱爱的免费视频| 一区二区三区四区在线观看国产日韩| 97国产在线视频| 中文字幕一区二区三区波野结 | 欧美性xxxxx极品少妇| 欧美日韩理论片| 欧美偷窥清纯综合图区| 日韩在线国产精品| 日韩久久久久久久久| 美国毛片一区二区三区| 国产偷国产偷亚洲高清97cao| jzzjzzjzz亚洲成熟少妇| 亚洲一区二区不卡免费| 三上悠亚在线一区二区| 清纯唯美亚洲经典中文字幕| 久久精品电影网| 二区视频在线观看| 国产不卡高清在线观看视频| 日韩妆和欧美的一区二区| 色呦呦在线免费观看| 欧美三级日韩在线| 日韩人妻无码一区二区三区| 欧美女激情福利| 成人激情视频小说免费下载| 久久免费看视频| 亚洲高清不卡在线观看| 特级西西444www| 久久理论电影| 国产精品成人在线| 日韩有码电影| 精品国产成人av| 在线观看亚洲免费视频| 中文字幕一区二区三区乱码图片 | 欧美 国产 小说 另类| 91九色鹿精品国产综合久久香蕉| 日韩一区av在线| 18国产免费视频| 国产三级精品三级在线专区| 北条麻妃在线视频观看| 久久久久97| 久久久亚洲国产| 亚洲AV无码国产精品午夜字幕| 亚洲欧洲日韩在线| 在线观看免费的av| 不卡中文字幕| 国产精品永久在线| av电影在线观看网址| 欧美在线观看一区| 亚洲无人区码一码二码三码的含义| 一本综合久久| 久久精品日韩精品| 亚洲精品成人图区| 国产视频自拍一区| 精品免费囯产一区二区三区| 91麻豆免费观看| 久久精品香蕉视频| 久久综合色占| 国产精品久久久久久搜索| 成人综合影院| 欧美日韩国产大片| 美国一级片在线观看| 精品一区二区三区在线观看| 先锋影音男人资源| 一区二区日韩| 国内免费久久久久久久久久久| 少妇又色又爽又黄的视频| 午夜精品久久久久久| 黄色国产在线观看| 日韩精品一卡二卡三卡四卡无卡| 五月天亚洲综合小说网| 日韩美女在线| 久久久久久午夜| 天天综合网久久综合网| 正在播放日韩欧美一页| 亚洲影视九九影院在线观看| av中文字幕在线观看| 久久精品国产大片免费观看| 国产91精品久| 国产在线观看黄| 欧美日韩美少妇| 精国产品一区二区三区a片| 成人国产免费视频| 欧美色网一区| 欧美日韩成人一区| 国产va在线播放| 丁香五精品蜜臀久久久久99网站 | 免费在线观看成年人视频| 日本一区中文字幕| 樱空桃在线播放| 国产精品中文| 日韩中文字幕欧美| 久久亚洲AV成人无码国产野外| 国产模特精品视频久久久久| 日韩经典在线视频| 国产精品美女久久久久| 97视频在线播放| 在线看av的网址| 精品国产髙清在线看国产毛片| 亚洲羞羞网站| 精品写真视频在线观看 | 欧美熟妇另类久久久久久不卡 | 六月丁香婷婷激情| 日韩av专区| 黑人中文字幕一区二区三区| 在线成人视屏| 孩xxxx性bbbb欧美| 欧美精品日韩少妇| 日韩精品在线影院| 国产高清在线观看视频| 色婷婷久久综合| 黄色一级视频在线观看| 欧美国产精品久久| 在线观看国产免费视频| 激情伊人五月天久久综合| 欧美色图另类小说| 欧美日韩成人| 中文字幕久精品免| 国产日产精品一区二区三区四区的观看方式 | av日韩在线看| 色呦哟—国产精品| 欧美精品尤物在线| 精品成人自拍视频| 3d动漫精品啪啪一区二区三区免费 | 91精产国品一二三| 精品一区二区三区在线播放| 好男人www社区| 国产精品视频久久一区| 亚洲色成人www永久在线观看| 色琪琪久久se色| 天天人人精品| 精品一区二区三区中文字幕老牛| 精品午夜一区二区| 精品国产一区二区三区不卡蜜臂| 成人免费网站在线看| 欧美一区=区三区| 国产精品久久电影观看| 亚洲精品国产嫩草在线观看| 欧美在线视频免费观看| www在线观看黄色| 久久久视频在线| 麻豆av在线免费观看| 久久99热精品这里久久精品| 精品176二区| 久久久极品av| 精品孕妇一区二区三区| 久久久精品视频在线观看| 在线免费av电影| 精品国产一区二区三区久久久| 日韩专区在线| 久久精品电影网站| 国产精品一区二区三区视频网站| 日韩中文字幕视频| 麻豆影视在线观看_| 久久香蕉国产线看观看av| 成人毛片av在线| 欧美巨乳在线观看| 欧美aaaaaaa| 亚洲91精品在线| 日韩欧美精品一区二区三区| 538国产精品一区二区在线 | 一本色道久久综合精品竹菊| 成年人视频在线免费看| 欧洲人成人精品| 中文天堂在线视频| 欧美日韩一区不卡| 国产熟女一区二区三区五月婷 | 五月婷婷伊人网| 亚洲热线99精品视频| 国产在线观看精品一区| 中文字幕不卡av| 大片免费在线观看| 欧美黑人视频一区| а√天堂8资源中文在线| 91av在线影院| 99riav视频一区二区| 成人免费自拍视频| 国产精品黄网站| 日本一区二区三区四区高清视频| 欧美电影免费播放| 欧美性潮喷xxxxx免费视频看| 亚洲美女色禁图| 三年中国国语在线播放免费| 国产主播一区二区三区| 久久人妻少妇嫩草av无码专区| 91麻豆高清视频| 韩国一级黄色录像| 黄色成人av在线| 国产免费一区二区| 尤物yw193can在线观看| 波霸ol色综合久久| ****av在线网毛片| 国产精品久久久久久久久影视| 榴莲视频成人app| 久久精品国产理论片免费| 久久国产成人精品| 免费在线观看视频a| 奇米一区二区三区| 一级黄色片毛片| 国产精品高清亚洲| 狠狠躁夜夜躁人人爽天天高潮| 欧美色区777第一页| 免费的黄色av| 北条麻妃久久精品| 国产探花一区二区三区| 国产成人8x视频一区二区| 一级做a爰片毛片| 18成人在线视频| 国产欧美一区二区三区在线看蜜臂| 欧美日韩国产天堂| 头脑特工队2在线播放| xxx欧美精品| 欧美aa视频| www.久久草| 日韩免费看片| 久久精品免费一区二区| 国产激情一区二区三区| 男人的天堂av网| 午夜精品在线看| 国产成人精品毛片| 日韩中文娱乐网| 桃子视频成人app| 99高清视频有精品视频| 色爱综合网欧美| 欧美两根一起进3p做受视频| 成人精品视频一区二区三区| 亚洲少妇xxx| 欧美怡红院视频| 四虎影视2018在线播放alocalhost| 久久视频在线直播| 九色成人搞黄网站| 欧美12av| 国产欧美日韩综合一区在线播放| 欧美极品jizzhd欧美仙踪林| 日韩美女视频一区| 97超碰资源站| 日韩精品亚洲元码| 欧美aa一级| 国产日韩一区欧美| 伊人久久亚洲热| 日本不卡视频一区| 亚洲高清视频在线| 欧美 日韩 国产 在线| 欧美另类高清videos| 国产精品日本一区二区不卡视频| 亚洲免费视频一区| 琪琪一区二区三区| 欧美激情久久久久久久| 欧美综合一区二区三区| 东热在线免费视频| 国产精品久久久久9999| 国产欧美高清视频在线| 91av在线免费播放| 国产人久久人人人人爽| 五月婷婷丁香在线| 最近2019年好看中文字幕视频| 91精品美女| 亚洲美女自拍偷拍| 国产成人综合精品三级| 精品无码av在线| 亚洲精品福利在线| 成人午夜精品| 日韩免费三级| 经典三级在线一区| 国产av无码专区亚洲av毛网站| 日韩一级片网站| av色在线观看| 菠萝菠萝蜜在线观看| 一本大道久久精品懂色aⅴ| 性猛交xxxx乱大交孕妇印度| 欧美国产日韩视频| 动漫av一区| xxav国产精品美女主播| 只有精品亚洲| 毛片av在线播放| 91在线观看地址| 国产一级片一区二区| 久久精品2019中文字幕| 91麻豆精品激情在线观看最新| 日韩视频免费播放| 人在线成免费视频| 精品中文字幕人| 日韩电影在线一区二区| av在线免费播放网址| 在线欧美视频| 污片免费在线观看| 欧美主播一区二区三区| h视频在线免费观看| 国产欧美日韩一区二区三区| 亚洲欧美日韩视频二区| 亚洲女人毛茸茸高潮| 日韩免费一区二区| 欧美色网一区| 国产91porn| 91麻豆精品在线观看| 一级黄色大片免费观看| 欧美黑人一区二区三区| 国产videos久久| wwwxxxx在线观看| 欧洲精品视频在线观看| hd国产人妖ts另类视频| 亚洲欧洲一区二区在线观看| 成人精品视频一区二区三区尤物| 中文字幕91爱爱|