梁文鋒署名DeepSeek新論文:公開V3大模型降本方法
梁文鋒親自參與的DeepSeek最新論文,來了!
這一次,團隊把DeepSeek-V3在訓練和推理過程中,如何解決“硬件瓶頸”的方法公布了出來。
具體而言,DeepSeek-V3之所以可以只用2048塊H800,就能達到超大規模集群(如數萬塊GPU)相當的訓練效果,核心在于四項創新技術:
- 內存優化多頭潛在注意力(MLA)
- 計算優化混合專家模型(MoE)與FP8低精度訓練
- 通信優化多層網絡拓撲與低延遲設計
- 推理加速多token預測(MTP)
那么這四項優化具體又是如何起到作用的,我們繼續往下看。
軟硬件協同的優化設計
在訓練大模型這條路上,可以說一直有“三座大山”在占道。
首先就是內存不夠用。
現在的大語言模型(比如GPT、Llama)變得越來越龐大,需要的存儲空間激增。特別是它們使用的“注意力機制”會產生大量臨時數據(KV Cache),占用大量顯卡內存。
但高性能顯存的容量增長太慢了,每年才增加不到50%,遠遠跟不上需求。
其次是計算效率低。
訓練超大規模模型需要海量計算資源,傳統 “稠密模型”(如 Llama-3)每次計算都要激活所有參數,導致計算成本極高。
而 “混合專家模型”(MoE)雖然更高效,但需要復雜的通信機制(如專家間數據傳輸),對網絡帶寬要求極高。
最后就是通信速度慢。
當使用多個GPU一起訓練時,它們之間需要不斷交換數據,這個過程會產生延遲。即使用了高速網絡(如InfiniBand),這種延遲仍然會拖慢整體訓練速度,尤其是處理長文本或需要實時響應時更明顯。
而這篇論文所要解決的,正是上述的這些老大難的問題。
△DeepSeek-V3的基本架構
DeepSeek團隊首先是對內存進行了優化,所采用的方法則是多頭潛在注意力(MLA),為的就是減少 “鍵值緩存”(KV Cache)的內存占用。
傳統模型每個注意力頭都需要獨立緩存鍵值對,而MLA通過投影矩陣將所有頭的鍵值對壓縮成一個更小的 “潛在向量”,只需緩存這一向量。
相比其他模型(如LLaMA-3、Qwen-2.5),DeepSeek-V3的KV緩存大小每token僅需70 KB,是傳統方法的1/7到1/4,大幅降低顯存壓力,尤其適合長文本處理。
在計算優化方面,DeepSeek-V3所采用的方法,則是MoE和FP8低精度訓練。
MoE,即將模型參數分成多個 “專家”,每次只激活部分專家處理輸入,顯著減少實際計算量。
DeepSeek-V3采用類似的思路,其總參數雖然是6710億,但每次僅激活370億參數,訓練成本僅為同規模稠密模型的1/10(如Llama-3.1的訓練成本是其近10倍)。
也正因推理時激活參數少,DeepSeek-V3可在消費級GPU(如售價1萬美元的顯卡)上運行,每秒生成近20個token,適合個人或中小型企業使用。
至于FP8低精度訓練,不同于傳統訓練使用BF16(16 位浮點),可將內存占用和計算量減半,同時通過 “精細量化”(如分塊壓縮)保持精度。
而DeepSeek-V3是首次在開源大模型中成功應用FP8訓練,訓練成本降低50%,且精度損失小于0.25%。
除此之外,DeepSeek-V3在通信方面也做了相應的優化。
例如多層胖樹網絡(Multi-Plane Fat-Tree),將集群網絡分為多個 “平面”,每個GPU連接到獨立的網絡平面,避免不同任務的流量沖突(如訓練與存儲通信分離)。
相比傳統三層網絡,兩層結構成本降低40%,延遲減少30%,支持上萬GPU擴展。
DeepSeek-V3在做推理時,還將 “注意力計算” 與 “專家間通信” 分階段執行,利用流水線并行(DualPipe)讓GPU在計算時同時傳輸數據,避免空閑等待,吞吐量提升近1倍。
最后,在推理加速方面,DeepSeek-V3采用的是多token預測(MTP)的方法。
傳統模型每次只能生成1個token,而MTP通過輕量級子模型并行預測多個候選token(如一次預測2-3個),驗證后選擇最優結果。
從實驗效果來看,生成速度提升1.8倍,例如每秒生成 oken數從10個增至18個,同時保持準確率在80%-90%。
以上就是DeepSeek-V3通過硬件與模型的協同設計,在有限資源下可以實現高效訓練和推理的關鍵技術了。
不過除此之外,這篇論文還對未來的工作有著一定的啟發作用。
從 “被動適配” 到 “主動設計”
既然已經知道了當前AI在硬件上的瓶頸,就可以提出對下一代AI硬件的期待。
DeepSeek團隊從五大維度做出了展望,希望在這一方面能夠從過去的“被動適配”逐步過渡到“主動設計”。
1、低精度計算支持
針對計算效率低的問題,下一代的AI硬件需要提高累積寄存器的精度,支持FP32累加,或可配置精度(如訓練用FP32,推理用FP16)。這樣才能在不同的模型訓練和推理需求中實現性能和準確性的平衡。
硬件還需要支持本地的細粒度量化,使張量核心能夠直接接收縮放因子(scaling factors),在計算單元內部完成量化和反量化,減少數據搬運。
此外,建議支持LogFMT(對數浮點格式),在相同比特寬度下提供更高精度,并提高編解碼的速度。
2、擴展與擴展融合
針對傳輸速度慢的問題,建議未來的硬件將節點內(縱向擴展)和節點間(橫向擴展)的通信整合到一個統一的框架中,通過集成專門用于網絡流量管理的協處理器。
這樣的設計可以降低軟件復雜性并最大化帶寬利用率,包括以下內容:
- 統一網絡適配器:設計連接到統一擴展和縮減網絡的NIC(網絡接口卡)或I/O芯片,讓網卡直接支持所有通信需求。
- 專用通信協處理器:將數據搬運、Reduce、類型轉換等任務卸載到專用硬件,釋放GPU SM資源。
- 增加智能傳輸功能:自動轉發數據,支持廣播和匯總操作,并自動處理數據順序問題。
- 動態帶寬分配:支持流量優先級調度(如EP通信>KV緩存傳輸)。
- CPU-FPU高速互聯:用NVLink連接CPU與GPU,進一步優化節點內通訊。
3、網絡拓撲優化
針對網絡卡頓的問題,建議以太網供應商開發專門針對RDMA工作負載進行優化的RoCE交換機,移除不必要的以太網功能。
還需要優化路由策略,支持自適應路由(Adaptive Routing,AR)通過動態向多個路徑發送數據包,即可顯著提高網絡性能。
或者可以通過虛擬輸出隊列(VOQ)改進流量隔離或擁塞控制機制,隔離不同流量,避免擁塞。
4、內存系統優化
針對AI模型記性越來越差,聊天時難以記住上下文的問題,可以通過3D堆疊DRAM的方法,把內存芯片像三明治一樣疊在計算芯片上。
或者學習Cerebras,直接在晶圓上進行集成工程,最大化內存帶寬和計算密度,讓硬件能記得更多。
又或者,在硬件存儲層部署稀疏注意力加速器,讓硬件直接幫忙整理記憶,只記重點。
5、魯棒性與容錯
針對大規模訓練中網絡閃斷、GPU故障會導致任務失敗的問題,期待下一代硬件能夠支持鏈路層重試和快速故障切換,在閃斷后能夠立刻自己找備用路線。
還可以增加基于信用的流控(CBFC)+ 智能擁塞控制算法(如RTT-CC),避免網絡集體卡死。
簡單來說,下一代AI硬件要向算數快(低精度計算+本地細粒度量化)、傳話快(直連網絡+智能路由)、記性好(3D內存+近存計算)、不宕機(自愈網絡)的方向改進,才能更好地應用于大模型訓練,實現高效擴展。
論文地址:https://arxiv.org/pdf/2505.09343