日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

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

【FlashAttention-V4,非官方】FlashDecoding++

jf_pmFSk4VX ? 來源:GiantPandaCV ? 2023-11-14 15:41 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1. Introdcution

為了提高softmax并行性,之前方法(FlashAttention、FlashDecoding)將計算過程拆分,各自計算partial softmax結(jié)果,最后需要通過同步操作來更新partial softmax結(jié)果。例如FlashAttention每次計算partial softmax結(jié)果都會更新之前的結(jié)果,而FlashDecoding是在最后統(tǒng)一更新所有partial softmax結(jié)果。

本文在A100 GPU上分析了輸入長度為1024的情況,這種同步partial softmax更新操作占Llama2-7B推理的注意力計算的18.8%。(本文沒說是FlashAttention還是FlashDecoding的結(jié)果,個人認(rèn)為FlashDecoding的同步更新代價并不大,應(yīng)該遠(yuǎn)小于18.8%)

這是LLM推理加速的第一個挑戰(zhàn)。此外,本文還提出了兩個挑戰(zhàn):

在解碼階段,F(xiàn)lat GEMM操作的計算資源未得到充分利用。這是由于解碼階段是按順序生成token(一次只生成一個token),GEMM操作趨于flat-shape,甚至batch size等1時變成了GEMV(General Matrix-Vector Multiplication),具體看論文Figure 2。當(dāng)batch size較小時(e.g., 8),cublas和cutlass會將矩陣填充zeros以執(zhí)行更大batchsize(e.g., 64)的GEMM,導(dǎo)致計算利用率不足50%。

動態(tài)輸入和固定硬件配置影響了LLM推理的性能。例如,當(dāng)batch size較小時,LLM推理的解碼過程是memory-bounded,而當(dāng)batch size較大時是compute-bounded。

針對這3個問題,本文分別提出了對應(yīng)優(yōu)化方法:

Asynchronized softmax with unified max value.FlashDecoding++為分塊softmax計算設(shè)置了一個共享的最大值。這樣可以獨立計算partial softmax,無需同步更新。

Flat GEMM optimization with double buffering.FlashDecoding++只將矩陣大小填充到8,對比之前針對flat-shaped GEMM設(shè)計的為64,提高了計算利用率。論文指出,具有不同shape的flat GEMMs面臨的瓶頸也不同,于是進(jìn)一步利用雙緩沖等技術(shù)提高kernel性能。

Heuristic dataflow with hardware resource adaption.FlashDecoding++同時考慮了動態(tài)輸入和硬件配置,針對LLM推理時數(shù)據(jù)流進(jìn)行動態(tài)kernel優(yōu)化。

下圖展示了以上3種方法的示意圖:

e8d33a2a-828a-11ee-939d-92fbcf53809c.png

2. Backgrounds

LLM推理中的主要操作如下圖所示:linear projection(①和⑤)、attention(②、③和④)和feedforward network(⑥)。為簡單起見,這里忽略了position embedding、non-linear activation、mask等操作。本文將LLM推理時對Prompt的處理過程稱為prefillphase,第二階段預(yù)測過程稱為decodephase。這兩個階段的算子基本一致,主要是輸入數(shù)據(jù)的shape是不同的。由于decodephase一次只處理一個令牌(batch size=1,或batch size很小),因此輸入矩陣是flat-shape matrices(甚至是vectors),參見下圖Decode phase部分中和KV Cache拼接的紅色向量。

e8efc816-828a-11ee-939d-92fbcf53809c.png

LLM推理中的另一個問題就是Softmax算子,其需要計算并存儲所有全局?jǐn)?shù)據(jù),并且數(shù)據(jù)量隨著數(shù)據(jù)長度成平方增長,存在內(nèi)存消耗高和低并行性等問題。一般計算流程如下:

e919c08a-828a-11ee-939d-92fbcf53809c.png

3. Asynchronized Softmax with Unified Maximum Value如下

圖b所示,F(xiàn)lashAttention和FlashDecoding對softmax操作進(jìn)行了分塊處理,但是塊與塊之間需要進(jìn)行同步(主要是局部最大值)。本文發(fā)現(xiàn)這種同步操作的開銷約為20%。因此,作者希望去除同步操作,也就是獨立計算出partial softmax結(jié)果。

e92b4954-828a-11ee-939d-92fbcf53809c.png

e94fa128-828a-11ee-939d-92fbcf53809c.png

e9642c9c-828a-11ee-939d-92fbcf53809c.png

e97a9f7c-828a-11ee-939d-92fbcf53809c.png

e9a2dfa0-828a-11ee-939d-92fbcf53809c.png

4. Flat GEMM Optimization with Double Buffering

Decoding階段的過程主要由GEMV(batch size=1)或flat GEMM(batch size>1)。GEMV/GEMM運算可以用M、N、K來表示,其中兩個相乘矩陣的大小分別為M × K和K × N。一般LLM推理引擎利用Tensor Core使用cuBLAS和CUTLASS等庫來加速。盡管Tensor Core適合處理M = 8的GEMM,但這些庫為了隱藏memory latency,通常將M維度平鋪到64。然而,decodephase的GEMV或flat GEMM的M通遠(yuǎn)小于64,于是填充0到64,導(dǎo)致計算利用率低下。

e9ca7236-828a-11ee-939d-92fbcf53809c.png

e9e9159c-828a-11ee-939d-92fbcf53809c.png

ea01d4e2-828a-11ee-939d-92fbcf53809c.png

ea189fce-828a-11ee-939d-92fbcf53809c.png

ea4097e0-828a-11ee-939d-92fbcf53809c.png

ea52f958-828a-11ee-939d-92fbcf53809c.png

為了隱藏memory access latency,本文引入了double buffering技術(shù)。具體來說就是在共享內(nèi)存中分配兩個buffer,一個buffer用于執(zhí)行當(dāng)前tile的GEMM計算,同時另一個buffer則加載下一個tile GEMM所需的數(shù)據(jù)。這樣計算和內(nèi)存訪問是重疊的,本文在N較大時采取這種策略,下圖為示意圖。

ea730982-828a-11ee-939d-92fbcf53809c.png

5. Heuristic Dataflow with Hardware Resource Adaption

影響LLM推理性能的因素有很多:(a)動態(tài)輸入。batch size和輸入序列長度的變化造成了工作負(fù)載變化。(b)模型多樣性。主要指模型結(jié)構(gòu)和模型大小。(c)GPU能力不同。例如內(nèi)存帶寬、緩存大小和計算能力。(d)工程優(yōu)化。

雖然這些因素構(gòu)建了一個很大的搜索空間,但LLM中不同layer的同質(zhì)性大大減少了算子優(yōu)化的搜索空間。例如,prefillphase和decodephase中有4個GEMV/GEMM操作(K、Q、V投影、O投影、2個FFN),都可以表示為[M, K]和N x K,對應(yīng)了四種[N, K]組合,如下圖所示。此外,prefillphase的M與輸入序列長度和batch size有關(guān),decodephase的M只與batch size有關(guān)。

eaa4a406-828a-11ee-939d-92fbcf53809c.png

本文根據(jù)不同的M, K, N選取FastGEMV、flat GEMM(本文方法)、CUTLASS。

eab90a0e-828a-11ee-939d-92fbcf53809c.png

個人總結(jié)

這篇文章沒有FlashAttention和FlashDecoding驚艷,個人覺得FlashDecoding的同步處理代價不大,而且本文中動態(tài)調(diào)整softmax方法也引入了判斷、終止和分支跳轉(zhuǎn)等操作。另一個Double Buffering就是內(nèi)存優(yōu)化常用的乒乓buffer,也沒什么新東西。

不過話說回來,如今在tranformer架構(gòu)不變的情況,LLM加速只能靠這些工程手段去優(yōu)化,的確也有不錯效果。還是很有價值的。

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

    關(guān)注

    8

    文章

    7352

    瀏覽量

    95073
  • gpu
    gpu
    +關(guān)注

    關(guān)注

    28

    文章

    5297

    瀏覽量

    136130
  • LLM
    LLM
    +關(guān)注

    關(guān)注

    1

    文章

    350

    瀏覽量

    1398

原文標(biāo)題:【FlashAttention-V4,非官方】FlashDecoding++

文章出處:【微信號:GiantPandaCV,微信公眾號:GiantPandaCV】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    摩爾線程TileLang-MUSA率先支持DeepSeek-V4全新TileKernels

    4月24日,摩爾線程宣布,其基于TileLang 0.1.8版本深度優(yōu)化并已成為TileLang官方主線版本的TileLang-MUSA,已率先在國產(chǎn)全功能GPU上,實現(xiàn)對DeepSeek-V4
    的頭像 發(fā)表于 04-30 16:17 ?514次閱讀

    模力方舟上線DeepSeek-V4系列大模型

    圍繞這一方向,DeepSeek 在今天上推出了DeepSeek-V4,現(xiàn)已在模力方舟正式上線。
    的頭像 發(fā)表于 04-30 10:35 ?354次閱讀
    模力方舟上線DeepSeek-<b class='flag-5'>V4</b>系列大模型

    華為云首發(fā)適配DeepSeek-V4模型

    4月24日,DeepSeek-V4模型正式發(fā)布并開源,華為云首發(fā)適配。DeepSeek-V4擁有百萬Token超長上下文,在Agent能力、世界知識和推理性能上均實現(xiàn)國內(nèi)與開源領(lǐng)域的領(lǐng)先。其中
    的頭像 發(fā)表于 04-28 17:01 ?611次閱讀

    燧原科技L600 FP8原生適配DeepSeek-V4-Pro/Flash模型

    2026年4月24日,深度求索(DeepSeek)正式發(fā)布并開源新一代旗艦大模型DeepSeek?V4,同步推出1.6T DeepSeek?V4?Pro與284B DeepSeek?V4
    的頭像 發(fā)表于 04-28 15:19 ?547次閱讀

    OpenClaw 全面接入DeepSeek-V4系列模型

    近期,OpenClaw 2026.4.24版本全面接入DeepSeek-V4系列模型,以V4-Flash為默認(rèn)大腦,V4-Pro同步上線,構(gòu)建百萬級Token上下文處理能力。V4-Fl
    的頭像 發(fā)表于 04-28 09:29 ?669次閱讀

    OpenAtom openKylin獲得國際Pixi官方認(rèn)可

    作為RISC-V生態(tài)核心共建方,OpenAtom openKylin(簡稱“openKylin”)獲得國際Pixi官方認(rèn)可——社區(qū)RISC-V SIG持續(xù)深耕軟件生態(tài)移植工作,深度參與Conda生態(tài)
    的頭像 發(fā)表于 04-27 13:36 ?280次閱讀

    長江計算G940K V2超節(jié)點服務(wù)器完成對DeepSeek V4模型極速適配

      4月24日,備受行業(yè)關(guān)注的大模型產(chǎn)品DeepSeek V4正式發(fā)布。烽火通信旗下長江計算憑借深厚的技術(shù)積累與前瞻布局,以G940K V2超節(jié)點服務(wù)器為核心載體,同步完成對DeepSeek
    的頭像 發(fā)表于 04-24 17:40 ?1922次閱讀

    P4SMA33A TVS 瞬態(tài)抑制二極管官方完整版規(guī)格參數(shù)

    本文整理 P4SMA33A 官方完整版規(guī)格書核心電氣參數(shù),完全符合 JEDEC 國際行業(yè)標(biāo)準(zhǔn),可直接用于電路設(shè)計 BOM 選型、來料進(jìn)廠檢驗、產(chǎn)品質(zhì)量核對對比。封裝類型:SMA(DO-214AC
    發(fā)表于 04-22 15:38

    京東關(guān)鍵詞API接口獲取

    你想要獲取京東關(guān)鍵詞相關(guān)的 API 接口,以此替代傳統(tǒng)爬蟲,更合規(guī)、穩(wěn)定地獲取商品列表等信息,我會先講解 官方合規(guī)的 API 獲取與使用方式 (推薦),再說明非官方接口的情況(僅供學(xué)習(xí)),并給出
    的頭像 發(fā)表于 01-09 14:16 ?1006次閱讀

    淘寶商品數(shù)據(jù) API 采集新方案:官方非官方方案深度對比與選型指南

    API 方案與非官方接口方案,兩者在諸多方面存在顯著差異,本文將對這兩種方案進(jìn)行深度剖析,為使用者提供清晰的選型指引。? 一、官方 API 方案? (一)申請流程? 注冊成為開發(fā)者:訪問淘寶平臺,填寫企業(yè)或個人的相關(guān)信息完成注冊。
    的頭像 發(fā)表于 11-13 09:48 ?597次閱讀

    安世PESD3V3X4UHM國產(chǎn)化替代

    講解雷卯PESD3V3X4UHM是一款3.3V低鉗位電壓的ESD二極管,封裝為DFN1309-6L。PESD3V3X4UHM可以完全替代替代Nexperia安世(PESD3V3X4UH
    的頭像 發(fā)表于 11-05 21:04 ?1437次閱讀
    安世PESD3<b class='flag-5'>V3X4</b>UHM國產(chǎn)化替代

    RA4M2_Sensor-V1.0 原理圖

    RA4M2_Sensor-V1.0原理圖
    發(fā)表于 07-21 14:40 ?15次下載

    DS-FR7V P00-CN-V4

    電子發(fā)燒友網(wǎng)站提供《DS-FR7V P00-CN-V4.pdf》資料免費下載
    發(fā)表于 06-30 15:17 ?0次下載

    DS-FR2V H00-CN-V4

    電子發(fā)燒友網(wǎng)站提供《DS-FR2V H00-CN-V4.pdf》資料免費下載
    發(fā)表于 06-27 17:05 ?0次下載

    納雷科技成為PX4開源飛控平臺官方合作伙伴

    近日,納雷科技正式以銀級會員身份加入PX4開源飛控生態(tài)!到目前為止,納雷科技已成為全球兩大主流無人機(jī)開源飛控平臺(APM&PX4)的官方合作伙伴。其雷達(dá)技術(shù)將深度融入開源生態(tài),以“聚焦被集成”的戰(zhàn)略為開發(fā)者與用戶提供標(biāo)準(zhǔn)化、高性
    的頭像 發(fā)表于 05-21 14:37 ?1599次閱讀
    五大连池市| 永和县| 正镶白旗| 德州市| 乌兰浩特市| 堆龙德庆县| 孝昌县| 濮阳县| 黄浦区| 涿鹿县| 贺兰县| 云龙县| 东兰县| 桂林市| 西乌珠穆沁旗| 金寨县| 南阳市| 翁牛特旗| 枞阳县| 陵川县| 吉木萨尔县| 义马市| 盘锦市| 东兰县| 泰来县| 年辖:市辖区| 福泉市| 察隅县| 建始县| 西城区| 米泉市| 昔阳县| 农安县| 牙克石市| 南宫市| 余江县| 门源| 宜城市| 苏尼特右旗| 缙云县| 临汾市|