沒有人不在期待大模型能夠成為下一個電動車,作為代表中國的新興產(chǎn)業(yè),在世界范圍內(nèi)掀起狂瀾。
然而主流的MoE架構(gòu)大模型,卻苦于其結(jié)構(gòu)上的“先天不足”:巨大的硬件成本與多重拖累效率的環(huán)節(jié),使得中國企業(yè)在這場芯片堆砌與效率挖掘的苦徑上難以提速。
作為智能基礎(chǔ)設(shè)施提供商,華為在這場戰(zhàn)役中另辟蹊徑,利用其在數(shù)學算法和工程領(lǐng)域的深厚積累,為DeepSeek顯著提升了效率及用戶體驗。
山就在那里,但中國企業(yè)找到了不一樣的登頂之路。
近期,虎嗅將打造《華為技術(shù)披露集》系列內(nèi)容,全面揭秘超大規(guī)模MoE模型推理部署技術(shù),通過一連串的技術(shù)報告,首次全面披露技術(shù)細節(jié)。
希望本系列內(nèi)容能為業(yè)界起到參考價值,也希望更多人能與華為一起,共同打造長期持續(xù)的開放協(xié)作生態(tài)環(huán)境,讓昇騰生態(tài)在中國茁壯成長。
《華為技術(shù)披露集》系列 VOL.3 :投機推理
隨著以DeepSeek V3/R1為代表的超大規(guī)模MoE模型走向主流,如何對如此超高參數(shù)量的模型進行推理優(yōu)化,成了業(yè)界普遍關(guān)注的議題。
作為目前普遍采用的大模型推理加速技術(shù)之一,投機推理為大模型生成推理草稿,一次生成多個token,但面臨調(diào)度時延過高,算力浪費的問題,就此華為團隊提出投機推理框架 FusionSpec,持續(xù)提升 MTP 投機在昇騰上的推理性能,使其調(diào)度耗時從10ms降為1ms。
而作為另一加速推理的技術(shù),量化技術(shù)是DeepSeek模型采用FP8進行訓練的核心,而推理時采用Int8部署,亟需突破FP8到int8的無損量化,為此華為團隊也提出了OptiQuant量化框架和算法,讓INT8性能可以打平FP8。
下面就分別介紹華為團隊的這兩個創(chuàng)新技術(shù)。
高吞吐推理投機
昇騰超大規(guī)模MoE模型推理的加速利器
在大語言模型(LLMs)的應(yīng)用中,推理速度是影響用戶體驗和應(yīng)用效率的關(guān)鍵因素。(回想下你一直苦等結(jié)果的時候)
傳統(tǒng)的自回歸解碼方式,每次僅能生成一個輸出 token,且需將歷史輸出作為輸入進行下一步解碼,導致推理過程串行、效率低下。
為解決這一問題,投機推理技術(shù)應(yīng)運而生。投機推理(Speculative Inference),也被稱為推測性解碼,其核心思想是利用計算代價遠低于大模型的小模型,先行對后續(xù)可能的輸出進行猜測,然后由大模型對這些猜測結(jié)果進行驗證,從而實現(xiàn)并行化推理,提升整體推理速度。
打個比方,就像你寫作文時,先在草稿紙上列幾個可能的句子(小模型猜測),再挑出合適的句子寫到作文里(大模型驗證),寫錯了就擦掉重寫(回退修正)。這種 “先試錯再優(yōu)化” 的思路,讓大模型能更快、更準地給出回答?,F(xiàn)有的投機推理技術(shù),為以下幾種類型:
獨立草稿生成(Independent Drafting):在這種方式下,小模型獨立運行,對大模型未來可能生成的多個 token 進行預測,形成候選序列。
自我草稿生成(Self - Drafting):自我草稿生成是一種相對新穎的方式,它利用大模型自身的某些機制或中間層輸出來生成候選 token。
樹形驗證(Token Tree Verification):當小模型生成多個候選序列后,將這些序列組織成樹形結(jié)構(gòu),可有效減少冗余存儲開銷。SpecInfer 提出的樹形注意力(Tree Attention)計算方法是樹形驗證的典型代表。
投機推理面臨的困難,主要在于以下兩方面:
其一是推測準確性與草稿生成效率的權(quán)衡。小模型的主要任務(wù)是快速生成可能的輸出,但這往往與生成結(jié)果的準確性相矛盾。需要在這兩者之間找到最佳平衡點。
其二是批處理推理場景的適配問題。在實際應(yīng)用中,批處理推理可以提高系統(tǒng)的整體吞吐量。然而,投機推理技術(shù)在批處理場景下的應(yīng)用并不簡單。投機推理本質(zhì)上來說是用空閑的算力換取更高的吞吐,需要處理好投機模型和投機框架引入的耗時,不然無法發(fā)揮投機推理在批處理場景下的加速潛力。
針對投機推理在模型解碼階段的高計算密度、天然匹配昇騰高計算帶寬比的特點,為了充分發(fā)揮這一優(yōu)勢,在低時延大并發(fā)場景下實現(xiàn)高吞吐,解決上面提到的諸多問題,華為團隊提出了投機推理框架 FusionSpec 深度優(yōu)化 MTP 在昇騰上的推理性能,框架耗時從10ms優(yōu)化至小于1ms,其主要特性為:投機框架優(yōu)化、投機場景算子優(yōu)化。
先看前者。
為了充分發(fā)揮昇騰的計算能力,減少 NPU 的空閑時間,團隊對投機推理的框架進行了優(yōu)化:
1. 考慮 DeepSeek 的模型架構(gòu),MTP 層需要主體模型的最后一層結(jié)果作為輸入,將 MTP 層的執(zhí)行直接排在主體模型執(zhí)行之后。
· 優(yōu)化后的調(diào)度順序避免了推理的步間數(shù)據(jù)傳輸
· 同時在 PD 分離的部署場景下也有效減少了節(jié)點間的數(shù)據(jù)傳輸。
2. 參考 MTP 層訓練模式,將 MTP 層視為模型的一部分,注意力算子復用主體模型的控制參數(shù)。參數(shù)復用省去了控制參數(shù)的重新構(gòu)造,降低了框架耗時。
通過優(yōu)化點1和2,團隊壓縮了單步推理內(nèi)主體模型與投機模型間的框架耗時,實現(xiàn)了較低時延下的高并發(fā)、大吞吐。為了進一步壓縮框架內(nèi)的前后處理耗時,無論是 Multi-step 還是前后處理全異步方案,都需要提供投機場景昇騰上的輕量步間準備能力。
3. 團隊通過 NPU 上的輕量步間準備,實現(xiàn)了 MTP 場景下的 CPU 單次準備、NPU 多次推理,進一步降低了步間的框架耗時。
再看另一點,投機場景算子優(yōu)化。
為了在投機推理開啟時進一步發(fā)揮昇騰的計算能力,壓縮端到端時間,團隊對采樣操作以及投機場景的多頭潛在注意力(MLA)計算進行了優(yōu)化。
未來,投機推理的發(fā)展方向有三點。
首先是多頭投機。DeepSeek V3 在訓練中使用了多層 MTP,并開源了第一層 MTP 的權(quán)重。團隊利用輕量的算子,使用該層 MTP 權(quán)重,實現(xiàn)了對復數(shù) token 的自回歸預測。當然,也可以使用多層 MTP 進行復數(shù) token 的投機,未來華為會對此進行支持。
其次是拒絕采樣的昇騰適配加速。投機 token 的接受率直接決定了投機推理的收益上限。在保證主體模型生成概率不變的情況下,提升投機的接受率是進一步提升 FusionSpec 的關(guān)鍵所在。
當前 FusionSpec 采用直接判定主體生成的 token 與投機 token 是否一致這一基本方案。該方案的優(yōu)勢在于無需維護投機 token 的生成概率,但其接受率在模型的信息熵較大時較低。
但事實上,只要投機模型的 token 生成概率接近主體模型的生成概率時,就應(yīng)當盡可能接受投機 token 。Rejection Sampling 方案就基于投機模型的生成概率,提升了投機 token 的接受率,但也同時極大增加了 PD 分離場景下節(jié)點間的數(shù)據(jù)傳輸量和 decode 步驟間的數(shù)據(jù)維護量。為此,團隊將進一步優(yōu)化FusionSpec 框架:1)增量維護 decode 階段的概率矩陣;2)優(yōu)化昇騰算子提升計算效率。
最后是采樣優(yōu)化。采樣操作一般包含溫度、TopK、TopP 三步,其中 TopK、TopP 樸素算法需對長度為詞表大?。ㄔ?DeepSeek V3 模型中為 129280)的概率表進行排序、計算前綴和,是采樣操作的瓶頸。未來可以采用流式過濾策略、利用昇騰歸并排序API,優(yōu)化TopK、TopP的計算,避免全量排序、全量前綴和。
OptiQuant量化框架和算法
加速昇騰大模型MoE推理性能
大模型量化技術(shù)是一種用于減少AI模型大小和提高其運行效率的技術(shù)。
通過量化,模型的權(quán)重從高精度的浮點數(shù)轉(zhuǎn)換為比特數(shù)更少的整數(shù)或浮點數(shù)表示,從而減少模型的存儲需求、帶寬和計算量。將模型權(quán)重、激活值、以及KV cache量化為低精度格式(如INT4或INT8)成為緩解資源約束、優(yōu)化部署效率的關(guān)鍵手段,能夠在大幅壓縮顯存占用的同時盡量保留模型的原始能力,使得諸如DeepSeek類的大模型的高效部署成為可能。
現(xiàn)有的大模型量化技術(shù)可以分為兩類:激活值無感的權(quán)重量化和激活值感知的量化。經(jīng)典的量化不需要使用校準技術(shù),不依賴于大模型的輸入數(shù)據(jù)及其分布,而直接對模型參數(shù)進行量化。Qserve提出一種雙階段量化策略,針對W4A8量化場景,基于截斷范圍參數(shù)和縮放系數(shù)優(yōu)化int4參數(shù);HQQ提出基于Lp-范數(shù)的稀疏優(yōu)化模型調(diào)整量化的縮放系數(shù)和偏移量。
激活值感知的權(quán)重量化算法需要通過校準集逐層生成對應(yīng)的激活值。該激活值可以被用來分析異常值分布,進而設(shè)計量化算法及參數(shù)。在異常值抑制算法中,可以根據(jù)校準集的性質(zhì)設(shè)計算法將校準集的激活數(shù)據(jù)平滑化,使真實數(shù)據(jù)的激活值更容易量化。由于校準集的統(tǒng)計特性反映了真實數(shù)據(jù)的統(tǒng)計特性,因此,校準集的選取至關(guān)重要。SmoothQuant通過構(gòu)造數(shù)學等價變換,使能激活值的channel維度縮放。
然而存在Channel維度的數(shù)值縮放無法充分抑制異常值,OstQuant采用了channel維度縮放和正交旋轉(zhuǎn)相結(jié)合的異常值抑制技術(shù)。GPTQ通過二階Hessian信息對剩余權(quán)重進行矯正,補償量化引入的誤差,從而最小化量化前后模型的輸出差異。該方法存在泛化性能力不足的問題。
為什么要研究大模型量化技術(shù)?
DeepSeek等大模型的出現(xiàn)給昇騰系統(tǒng)帶來了新的問題:
其一,基于BF16的DeepSeek需要1.3TB的顯存空間,同時導致極大的算力和跨機通信開銷。
其二,校準集的泛化性缺失導致了在很多任務(wù)上難以達到與原有模型相近的精度水平,甚至在某些場景下精度下降十分嚴重。
其三,如何設(shè)計昇騰親和的量化算法,以發(fā)揮硬件性能。激活無感的權(quán)重量化導致參數(shù)量化時無法考慮激活的異常值分布,在低比特量化時造成了推理精度損失;激活感知的權(quán)重可以通過數(shù)據(jù)校準實現(xiàn)精度補償,然而過度補償導致了部分數(shù)據(jù)集精度偏高,部分數(shù)據(jù)集精度偏低。
此外,一些偽量化算法的反量化實現(xiàn)在分離式架構(gòu)上會導致多次訪存,帶來性能下降。
為了應(yīng)對上述挑戰(zhàn),團隊提出了OptiQuant量化框架,并設(shè)計了創(chuàng)新算法和算子,在保證模型精度的同時顯著提升推理效率:
層間自動混精:基于模型權(quán)重的四分位極差統(tǒng)計,動態(tài)選擇最優(yōu)量化策略。
混合校準:利用多樣化校準數(shù)據(jù)增強泛化性,確保關(guān)鍵業(yè)務(wù)的高精度。
離群值轉(zhuǎn)移:通過數(shù)學等價變換,將激活中的導致量化誤差的離群值轉(zhuǎn)移到參數(shù)。
可學習截斷閾值:逐層最小化量化MSE,求解最優(yōu)截斷系數(shù)以降低整數(shù)量化誤差。
SSZW算法:采用梯度下降法依次迭代優(yōu)化縮放因子(s)、零點偏移(z)及量化權(quán)重(W);
昇騰親和的量化算子:根據(jù)昇騰Cube和Vector分離、內(nèi)存總線、集群互聯(lián)的硬件特征,設(shè)計相應(yīng)的硬件友好的算子,極大發(fā)揮硬件計算能力。
具體的解決方案如下:
OptiQuant是一個基于華為昇騰芯片模型量化算法的精度解決方案。除了支持業(yè)界主流量化算法功能之外,它新增支持以下三個功能:
1. 支持接入自定義量化算法和數(shù)值類型,可以將多種量化算法的自由組合搭配使用;
2. 支持業(yè)內(nèi)主流評測數(shù)據(jù)集和用戶自定義的數(shù)據(jù)校準集;
3. 支持數(shù)據(jù)并行和流水并行,針對不同大小的大語言模型實現(xiàn)精度驗證性能加速。
圖:OptiQuant量化整體框架
如圖所示,OptiQuant框架主要由以下幾個模塊組成:
1. 量化類型和數(shù)值類型:OptiQuant支持了Int2/4/8和FP8/HiFloat8等數(shù)據(jù)類型,支持業(yè)界的Qserve,HQQ,LUT等量化方法,在此基礎(chǔ)上提出了可學習截斷和量化參數(shù)優(yōu)化等算法,進一步減少了量化誤差。
2. 多樣化測試數(shù)據(jù)集和用戶自定義校準集:OptiQuant支持了判斷題,問答題,代碼題和數(shù)學題等多種測試類別,語種上支持了十種常見語言。此外,OptiQuant支持用戶自定義校準集,提升模型量化過程中的泛化性。
3. 量化權(quán)重生成:OptiQuant提出了自適應(yīng)層間混精算法,并且根據(jù)對應(yīng)的量化配置生成對應(yīng)的權(quán)重參數(shù),通過去冗余技術(shù)減少參數(shù)保存的參數(shù)量;OptiQuant進一步提出了FlexSQ等算法,在數(shù)據(jù)校準過程中,對大模型激活異常值進行了平滑處理,有助于對激活做低比特量化。
基于Atlas 800I A2服務(wù)器的精度測試結(jié)果如下:對于DeepSeek-V3-0324模型,W8A8C16和W4A8C16均采用Per-channel量化,實現(xiàn)推理精度與FP8-GPU持平。
通過OptiQuant和相關(guān)優(yōu)化算法,實現(xiàn)了W8A8C16/W4A8C16的模型精度持平FP8的模型精度,并充分發(fā)揮了昇騰硬件性能。
在后續(xù)的研究中,團隊將探索PD差異量化、KV cache量化、TopK專家剪枝、通用的等價變換建模、和量化微調(diào)等方向,實現(xiàn)更高效、更低比特的權(quán)重、激活和KV cache的量化模型推理技術(shù):
PD差異量化:由于大模型Prefill階段和Decode階段具有不同的計算和訪存特性,并且對誤差的容忍程度不同,可以對PD設(shè)計差異化的量化策略,極致平衡大模型的推理性能和精度。
多維度異常值抑制算法:對于前文所述的各類量化算法,如通道維度縮放、矩陣旋轉(zhuǎn)變換、數(shù)值截斷、量化參數(shù)尋優(yōu)等,可通過上述模型進行合并和統(tǒng)一?;谥饘诱`差或端到端的量化誤差作為訓練損失函數(shù),學習得到各策略下的最優(yōu)參數(shù)值,可進一步提升方案的量化精度。
KV cache/MLA全量化:KV cache量化技術(shù)可以進一步降低顯存,使能大batch場景,提升推理吞吐性能。然而,DeepSeek-V3架構(gòu)的Cache共享機制使得上述量化方式失效。因此,需要設(shè)計切實可行的KV cache量化方案,進一步壓縮Cache顯存。此外,采用MLA全量化可以利用Cube-Core算力,降低推理時延。
量化微調(diào):量化微調(diào)是一類常用的量化保精方法,針對DeepSeek-V3架構(gòu),量化微調(diào)一方面需要解決相比后訓練量化(PTQ)技術(shù)更加高效資源利用率,另一方面為了避免模型因過擬合部分任務(wù)而犧牲通用能力,需要構(gòu)建更加全面的指令微調(diào)數(shù)據(jù)集,兼顧模型在各個領(lǐng)域上的能力。
專家剪枝:在DeepSeek-V3架構(gòu)下,可以設(shè)計合適的專家剪枝策略,在模型量化的基礎(chǔ)上進一步提升參數(shù)壓縮率,降低數(shù)據(jù)的通信量和計算量,提升推理性能。
能夠?qū)崿F(xiàn)高吞吐的投機推理和低比特實現(xiàn)足夠精度運算的量化技術(shù),是超大規(guī)模MoE模型推理部署中的技術(shù)難點,華為團隊通過推出基于昇騰的FusionSpec投機推理框架以及OptiQuant量化框架,給出了全新的解決方案和思路,相信這兩個技術(shù)會對大模型推理技術(shù)的發(fā)展產(chǎn)生巨大的推動作用,同時給用戶帶來更流暢的體驗。
本內(nèi)容為作者獨立觀點,不代表虎嗅立場。未經(jīng)允許不得轉(zhuǎn)載,授權(quán)事宜請聯(lián)系 hezuo@huxiu.com
本文來自虎嗅,原文鏈接:https://www.huxiu.com/article/4375745.html?f=wyxwapp
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
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.