![]()
2024年Intel技術巡演的一份材料,把自家Gen 4 NPU的底褲扒了個干凈。不是參數(shù)對比,不是跑分炫技,而是一張執(zhí)行流程圖——從Query向量生成到最終輸出,Multi-Head Attention(多頭注意力,Transformer核心操作)在異構引擎之間來回倒騰了6次。
這個數(shù)據(jù)點本身不值錢。值錢的是它暴露了一個被架構師們刻意淡化的真相:異構設計的代價不在單個算子,而在邊界 crossing 的摩擦成本。每次數(shù)據(jù)從MAC陣列(矩陣乘法單元)流向SHAVE DSP(通用向量處理器),都要經(jīng)過共享的Scratchpad、MMU、DMA,像快遞中轉(zhuǎn)站一樣層層分揀。
雙域架構:靈活性的稅單
Gen 4 NPU的 compute fabric 由兩種引擎拼接而成。MAC陣列負責稠密線性代數(shù),是Transformer推理的現(xiàn)金牛;SHAVE DSP打雜,處理那些固定功能單元吃不下的操作。兩者共享一套內(nèi)存子系統(tǒng)——Scratchpad、Cache、MMU、DMA——這種設計讓Intel能覆蓋更寬的算子集,但也把"數(shù)據(jù)該放哪"的決策復雜度甩給了運行時。
Intel的材料用MHA當解剖樣本,不是偶然。這個操作的數(shù)學表述干凈得很:Q/K/V投影 → 相似度打分 → SoftMax歸一化 → 加權聚合 → 拼接輸出。但映射到硅片上,它裂變成一串引擎切換的接力賽。Linear投影在MAC陣列上跑,SoftMax得交給DSP,矩陣乘法回MAC,最后的拼接又可能觸發(fā)一次跨域搬運。
每一次切換都是一筆隱性開銷:數(shù)據(jù)序列化進共享內(nèi)存、地址翻譯、DMA調(diào)度、再反序列化到目標引擎的寄存器堆。Intel沒有公布具體納秒數(shù),但執(zhí)行流程圖的箭頭密度說明了一切——圖越忙,延遲越難看。
SoftMax:那個被迫流浪的算子
MHA里的SoftMax是個典型的問題兒童。數(shù)學上它是對注意力分數(shù)做指數(shù)歸一化,工程上它需要逐行求和、取指數(shù)、再除法——向量操作,不是矩陣乘法。MAC陣列的脈動結(jié)構(systolic array)對這種不規(guī)則訪問模式極其不友好,于是它被流放到SHAVE DSP。
流放本身不是問題。問題是流放路上的物流成本。
相似度分數(shù)矩陣在MAC陣列里生成,形狀是[batch, heads, seq, seq]。要SoftMax它,得先把這塊數(shù)據(jù)從MAC的本地累加器緩沖,經(jīng)Scratchpad,搬到DSP的向量寄存器。SoftMax完,權重矩陣又要反向 journey,去跟Value矩陣做第二次乘法。Intel的流程圖顯示,僅MHA這一個操作,Q/K/V三條支路就觸發(fā)了多次跨域數(shù)據(jù)移動。
更隱蔽的是內(nèi)存帶寬的對沖。Scratchpad作為共享中轉(zhuǎn)站,同時服務6個Neural Compute Engine(每個含1 MAC陣列+2 SHAVE DSP)。當多個引擎并發(fā)請求數(shù)據(jù)搬運,MMU的頁表遍歷和DMA的通道仲裁會變成新的瓶頸。Intel的材料提到Gen 4支持"concurrent execution of independent subgraphs",但沒說的是——子圖獨立性越強,跨域同步的復雜度越高。
執(zhí)行流程圖的誠實
半導體廠商的公開材料通常有兩種:營銷部的PPT,和工程師的內(nèi)部wiki。2024 Tech Tour這份材料罕見地介于兩者之間——它展示了足夠的實現(xiàn)細節(jié),讓專業(yè)人士能 reconstruct 數(shù)據(jù)流,又回避了具體的功耗/延遲數(shù)字。
這種選擇性披露本身就是一種信號。如果跨域搬運的代價可以忽略,Intel會把它寫進宣傳頁;正因為不可忽略,才需要用"flexibility"和"coverage"來轉(zhuǎn)移注意力。
對比蘋果的Neural Engine(固定功能為主,異構度低)和Qualcomm的Hexagon(DSP-centric,矩陣單元較晚加入),Intel Gen 4的路線是"全都要"——MAC陣列堆算力,DSP保靈活性,共享內(nèi)存當膠水。這種設計的天花板不在峰值TOPS,而在有效算力 = 峰值算力 × 數(shù)據(jù)本地化率。流程圖里那些密集的跨域箭頭,正在啃食這個乘數(shù)。
一個未被回答的問題是:當模型結(jié)構從標準Transformer向MoE(混合專家)、Mamba(狀態(tài)空間模型)演進,算子多樣性只會增加。Intel的架構師是否已經(jīng)在Gen 5里收緊引擎邊界,還是繼續(xù)用更大的Scratchpad和更寬的DMA來掩蓋延遲?
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.