精品欧美一区二区三区在线观看 _久久久久国色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)推薦
91精品天堂| 欧美国产第二页| 嫩草av久久伊人妇女超级a| 番号集在线观看| 激情久久五月天| 欧美国产日韩xxxxx| 欧美丰满少妇人妻精品| 免费视频成人| 午夜伦理一区二区| 亚洲精品高清视频| 免费观看黄一级视频| 久久欧美肥婆一二区| 久久视频中文字幕| 亚洲av片不卡无码久久| 成人污版视频| 色综合久久综合网| www.亚洲成人网| 午夜在线小视频| 91麻豆蜜桃一区二区三区| 国产精品旅馆在线| 欧美另类一区二区| 国产精品av久久久久久麻豆网| 亚洲乱亚洲乱妇无码| 波多野结衣中文字幕在线播放| 国模一区二区| 图片区小说区区亚洲影院| 大桥未久一区二区| 中文字幕在线播放| 99精品欧美一区| 亚洲精品免费av| 亚洲天堂手机版| 美女黄色成人网| 国内精品伊人久久| 国产大学生自拍| 国产精品久久久久久久| 亚洲一区二区福利| 加勒比精品视频| 99国产精品免费网站| 欧美一区二区三区在线看| 精品999在线| 日韩网站中文字幕| 日韩欧美在线看| 波多野结衣家庭教师在线播放| 黑人玩欧美人三根一起进| 亚洲日本乱码在线观看| 亚洲欧洲日本国产| www.91在线| 欧美激情一区三区| 日韩视频精品| 成年午夜在线| 国产欧美一区二区精品婷婷| 久久青青草原一区二区| 亚洲三区在线播放| 91视频国产资源| 另类欧美小说| 国产高清免费av在线| 国产丝袜在线精品| 五月天久久狠狠| 国产在线一二| 亚洲国产精品激情在线观看| 午夜精品美女久久久久av福利| 国产一级二级三级在线观看| 国产亚洲欧美日韩俺去了| 美女视频久久| 国产二区在线播放| 国产精品福利电影一区二区三区四区 | 69影院欧美专区视频| 久草视频手机在线观看| 禁久久精品乱码| 91超碰caoporn97人人| 九九热国产精品视频| 精品电影一区| 日韩av大片在线| 精品国产青草久久久久96| 麻豆免费精品视频| 99九九视频| 亚洲人妻一区二区三区| 国产欧美精品在线观看| 国产麻豆电影在线观看| 黄色成人在线网| 一本久久综合亚洲鲁鲁五月天| 波多野结衣天堂| 国产精品久久久久久久久久久久久久久 | 中文字幕精品无| 久久精品国产精品亚洲精品| av在线不卡一区| 亚洲色偷精品一区二区三区| 国产日韩欧美精品综合| 400部精品国偷自产在线观看| 99自拍视频在线观看| 天天影视涩香欲综合网| 手机在线看福利| 欧美电影院免费观看| 日韩成人性视频| 国产一级淫片久久久片a级| 午夜国产精品视频| 日本伊人精品一区二区三区介绍| 国产精品欧美亚洲| 91偷拍与自偷拍精品| 亚洲一区bb| av中文在线资源库| 欧美人动与zoxxxx乱| 久久久久久久人妻无码中文字幕爆| 精品一区二区三| 午夜精品久久久久久久99热浪潮 | 麻豆91精品| 91视频99| 97超碰国产一区二区三区| 艳妇臀荡乳欲伦亚洲一区| 国产三级日本三级在线播放| 日韩区一区二| 色爱精品视频一区| 日韩精品久久久久久免费| 国产乱码精品一区二区三区av| 欧美激情论坛| ****av在线网毛片| 欧美一级二级三级蜜桃| 国产视频三区四区| 99在线热播精品免费99热| 亚洲xxx自由成熟| 9191在线观看| 在线观看日产精品| 鲁大师私人影院在线观看| 影音先锋成人在线电影| 国产剧情久久久久久| 玖玖综合伊人| 欧美日韩中文字幕在线视频| 大尺度在线观看| 在线观看国产精品入口| 国产日韩欧美视频在线| 岛国在线视频| 在线看日韩精品电影| 30一40一50老女人毛片| 国产日韩免费| 激情小说网站亚洲综合网| 国语对白在线刺激| 日韩欧美中文一区| 免费麻豆国产一区二区三区四区| 黄页视频在线91| 伊人色综合影院| 四虎视频在线精品免费网址| 亚洲深夜福利视频| 久久精品国产亚洲av麻豆蜜芽| 久久久天堂av| 九一精品在线观看| 精品国产乱码久久久久久1区2匹| 欧亚精品中文字幕| 免费在线黄色影片| 在线观看视频一区二区| 欧美激情视频二区| 蜜乳av一区二区三区| 日韩中文字幕一区二区| 精品裸体bbb| 丝袜美腿亚洲一区二区| 97超碰中文字幕| 亚洲九九爱视频| 男男受被啪到高潮自述| 亚洲一级一区| 久久资源亚洲| 国产精品无码久久久久| 久久电影一区二区| 蜜臀av午夜精品| 欧美日韩一区二区免费在线观看| 亚洲国产无码精品| 肉肉av福利一精品导航| 亚洲一区二区三区加勒比| 成人永久在线| 久久久免费观看视频| 日韩毛片在线一区二区毛片| 91国偷自产一区二区三区成为亚洲经典| 亚洲色图欧美色| 国产一区二区三区四| 日韩美女爱爱视频| 蜜桃一区二区三区| 成人午夜激情网| а√天堂中文资源在线bt| 亚洲欧美日韩精品| 国产老女人乱淫免费| 亚洲成av人综合在线观看| 波多野结衣片子| 国产最新精品精品你懂的| 日韩欧美精品免费| 欧美日韩激情| 91精品久久久久久久久久另类 | 日韩欧美亚洲综合| 国产男女猛烈无遮挡在线喷水| 丰满放荡岳乱妇91ww| 四虎永久在线精品无码视频| 91综合在线| 久久99精品国产一区二区三区| 国产精品麻豆成人av电影艾秋| 欧美夫妻性生活xx| 成人18在线| 亚洲精品国产品国语在线| 中文字幕人成人乱码亚洲电影| 一区二区免费看| 一级在线观看视频| 成人三级伦理片| 手机视频在线观看| 99视频+国产日韩欧美| 在线国产精品网| 亚洲精品国产动漫| 97超碰人人看人人| 高清亚洲高清| 欧美中文字幕视频在线观看| av网站在线免费看推荐| 一本色道久久88综合日韩精品| 性猛交xxxx乱大交孕妇印度| 欧美影院午夜播放| 探花视频在线观看| 亚洲一区成人在线| 日韩在线不卡av| 国产三级精品三级| 日韩精品一区二区三区高清免费| 激情综合色播五月| 丁香婷婷激情网| 国产乱码精品| 97视频在线免费| 欧美激情一区| 中文字幕日韩一区二区三区| 久久91麻豆精品一区| 国产伦精品一区二区三区免费视频| 日日夜夜综合| 国产欧美日韩精品在线观看| 日本电影欧美片| 欧美亚洲成人精品| av在线最新| 97国产一区二区精品久久呦| 污视频在线免费观看网站| 久久精品成人欧美大片古装| 二区在线观看| 在线看福利67194| 在线免费观看黄| 在线日韩日本国产亚洲| 国产区在线视频| 夜夜嗨av一区二区三区四区| 黄上黄在线观看| 国产亚洲一区二区精品| 可以在线观看的av网站| 亚洲无线码在线一区观看| 蜜桃成人在线视频| 亚洲美女av在线播放| 蜜芽tv福利在线视频| 亚洲欧美制服中文字幕| 毛片免费在线| 尤物tv国产一区| 三级外国片在线观看视频| 日韩性生活视频| 粗大黑人巨茎大战欧美成人| 久久九九全国免费精品观看| 蜜芽在线免费观看| 成年无码av片在线| 欧美人与动牲性行为| 欧美精品第一页在线播放| 超碰91在线观看| 欧美一级淫片aaaaaaa视频| videos性欧美另类高清| 国产精品久久久久久av| 日韩午夜电影免费看| 亚洲一区二区三区四区在线播放 | 亚洲一一在线| 亚欧美无遮挡hd高清在线视频| 欧美精品一区二区性色a+v| 午夜亚洲福利| 春日野结衣av| 麻豆精品在线视频| 麻豆传媒在线看| 91在线观看一区二区| 国产小视频自拍| 1区2区3区国产精品| 国产在线视频你懂的| 欧美视频二区36p| 在线免费观看一区二区| 日韩你懂的在线观看| 午夜一区在线观看| 中文字幕亚洲国产| 日本在线观看大片免费视频| 欧美做爰性生交视频| 疯狂欧洲av久久成人av电影| 国产精品露出视频| 国产一区二区三区四区五区| 在线免费观看成人| 一本色道久久综合亚洲精品不卡 | 99爱视频在线| 久久精品国产久精国产爱| 蜜臀av粉嫩av懂色av| 中文av字幕一区| 国产成人精品a视频一区| 欧美日韩在线三区| 人妻夜夜爽天天爽| 色偷偷9999www| 18video性欧美19sex高清| 国产欧美精品日韩| 图片婷婷一区| 成人高清dvd| 日韩不卡一区二区三区| 亚洲v在线观看| 国产精品久久久久久亚洲伦| 日韩黄色在线视频| 91精品国产一区二区三区香蕉 | 福利片在线一区二区| 亚洲最大色综合成人av| 9国产精品视频| 久久精品一二三四| 国产精品久久久久久久久图文区 | 午夜影院免费在线| 国产精品久久久久77777| 日韩av午夜| 日韩xxxx视频| 国产一区二区精品在线观看| 欧美丰满美乳xxⅹ高潮www| 亚洲成人资源在线| 精品国产999久久久免费| 中文字幕一区二区三区电影| 一个人看的www视频在线免费观看 一个人www视频在线免费观看 | 精品久久国产字幕高潮| a√在线中文网新版址在线| 欧美一级淫片播放口| 久久男人av| 国产精品久久久久9999爆乳| 国产精品一区二区不卡| 嘿嘿视频在线观看| 欧美中文字幕一二三区视频| 亚洲av无码一区二区三区dv | 东京热无码av男人的天堂| 欧美日韩中文字幕在线视频| www日本在线| 欧美大奶子在线| 亚洲欧洲二区| 亚洲一区二区不卡视频| 蜜桃视频一区二区| 无码人妻丰满熟妇啪啪欧美| 黑人巨大精品欧美一区免费视频| 黄色片网站免费在线观看| 欧美激情中文网| av男人一区| 很污的网站在线观看| av中文字幕在线不卡| 男女视频免费看| 亚洲精品自拍偷拍| 性欧美又大又长又硬| 蜜桃在线一区二区三区精品| 国产精品一二| 国产人妻大战黑人20p| 在线观看91精品国产入口| 国产视频第一区| 国产精品欧美激情在线播放| 日本午夜一区| 美女在线视频一区二区| 中文字幕制服丝袜成人av| 国产精品久久久久久69| 久久午夜a级毛片| 日韩精品久久久久久久软件91| 久久久天堂国产精品| 懂色av一区二区夜夜嗨| 日韩少妇裸体做爰视频| 亚洲免费视频网站| 日韩中文视频| 日本免费在线视频观看| 高清不卡一区二区在线| 日韩成人免费观看| 亚洲性夜色噜噜噜7777| 一区二区三区| 欧美国产视频一区| 久久女同互慰一区二区三区| 中文字幕在线观看第二页| 久久久极品av| 欧美sss在线视频| 日本女优爱爱视频| 亚洲品质自拍视频| 天天操天天干天天爱| 国产精品video| 亚洲情侣在线| 亚洲av无码一区二区三区网址 | 刘亦菲久久免费一区二区| 欧洲成人免费aa| 亚洲综合婷婷| 国产又黄又粗又猛又爽的视频| 欧美中文字幕一区| 香蕉成人app免费看片| 欧美日韩在线不卡一区| 国产综合色在线| 精品免费囯产一区二区三区| 日韩中文字幕网址| 老司机成人在线| 极品粉嫩美女露脸啪啪| 亚洲国产精品嫩草影院| 高清在线观看av| 国产精品12| 蜜臀国产一区二区三区在线播放| 免费日韩在线视频| 在线色欧美三级视频| 高清一区二区三区| 亚洲欧洲日本精品| 黄色成人在线免费| 激情成人四房播| 日本一区二区精品视频| 国产成人免费视频精品含羞草妖精| 秋霞av一区二区三区| 欧美高清在线观看|