Deepseek v3正式發布:用557.6萬美金超越Claude 3.5 Sonnet的驚人杰作
2024年12月26日,DeepSeek AI正式發布了其最新的大型語言模型——DeepSeek-V3,每秒處理 60 個 token,比 V2 快 3 倍!MoE架構,6710 億參數,激活 370 億參數,訓練基于 14.8 萬億高質量 token,完全開源,附送53頁pdf技術論文
主要看點
1.DeepSeek-V3 采用了創新的知識蒸餾方法,將 DeepSeek R1 系列模型中的推理能力遷移到標準 LLM 中。該方法巧妙地融合了 R1 的驗證和反思模式,顯著提高了 DeepSeek-V3 的推理性能,同時又保留了對輸出風格和長度的控制
2.首次在大規模模型上驗證了 FP8 訓練的可行性和有效性
3.通過協同優化,有效克服了跨節點 MoE 訓練中的通信瓶頸,使得計算與通信幾乎完全重疊
4.在 DeepSeek-V2 高效架構的基礎上,DeepSeek-V3 引入無輔助損失的負載均衡策略和多標記預測(MTP)目標,不僅提升模型性能,還支持推理加速的預測解碼
5.僅耗費了 266.4萬 H800 GPU 小時,就完成了對 14.8 萬億 token 的預訓練。預訓練后的后續訓練階段僅需 10 萬 GPU 小時,用極小(相對)的成本實現了強悍的性能,這一點值得特別說明一下:
最令人震驚的是DeepSeek-V3 如此先進的模型的訓練成本,如表中所示,通過對算法、框架和硬件的優化共同設計實現。在預訓練階段,訓練DeepSeek-V3每萬億個令牌僅需180K H800 GPU小時,即在集群上使用2048個H800 GPU需要3.7天。因此,預訓練階段在不到兩個月的時間內完成,成本為2664K GPU小時。加上上下文長度擴展所需的119K GPU小時和訓練后所需的5K GPU小時,DeepSeek-V3完整訓練的總成本僅為2.788百萬GPU小時。假設H800 GPU的租賃價格為每GPU小時2美元,總訓練成本僅為557.6萬美元
這簡直太不可思議了,想一下o1,Claude,Gemini,Ilama 3 405B 動輒數億美金的訓練成本,也就是說DeepSeek僅僅用不到600萬美金就實現了SOTA,比Claude、Llama 405b 等的計算量少 10 倍,使用 2048 臺 H800,已經有很多外國網友在喊了,讓DeepSeek團隊在馬斯克的超級計算機訓練,我們可能已經獲得AGI了
請注意,上述成本僅包括DeepSeek-V3的官方訓練,不包括與架構、算法或數據的前期研究和消融實驗相關的成本
現在DeepSeek-V3 的API價格(看起來明年2月8號之后要漲價)
表格中展示了優惠前與優惠后的價格。即日起至北京時間 2025-02-08 24:00,所有用戶均可享受 DeepSeek-V3 API 的價格優惠。 在此之后,模型價格將恢復至原價
綜合評估表明,DeepSeek-V3 的性能直接干到開源第一,并且達到了與領先的閉源模型相當的性能
模型下載與本地部署:多種選擇
DeepSeek-V3 提供了多種下載方式,用戶可從 Hugging Face 下載該模型。總大小為 685GB,包括 6710 億主模型權重和 140 億多令牌預測 (MTP) 模塊權重
為了方便用戶本地運行,DeepSeek AI 還與開源社區和硬件廠商合作,提供了多種部署方案:
華為昇騰 NPU: 支持在華為昇騰設備上運行
DeepSeek-Infer Demo: 提供了輕量級的 FP8 和 BF16 推理演示
SGLang: 完全支持 DeepSeek-V3 的 BF16 和 FP8 模式,在 NVIDIA 和 AMD GPU 上均可運行
LMDeploy: 支持 DeepSeek-V3 的高性能推理和服務,無縫集成到 PyTorch 工作流中
TensorRT-LLM: 目前支持 BF16 推理和 INT4/8 量化,FP8 支持即將推出
AMD GPU: 通過 SGLang 支持在 AMD GPU 上運行,支持 FP8 和 BF16 精度
DeepSeek-V3技術報告解讀
為了直觀展示53頁pdf報告的內容,大家先直接看腦圖,隨后我將報告一些重點內容做一個梳理
報告提出了DeepSeek-V3模型,用于解決大規模語言模型的高效推理和訓練問題。簡單來說,V3主要的技術如下
1.多頭潛在注意力(MLA):MLA架構通過低秩聯合壓縮注意力鍵和值來減少推理過程中的KV緩存,從而提高推理效率
2.DeepSeekMoE架構:DeepSeekMoE通過細粒度的專家和共享專家來實現更高效的訓練
3.無輔助損失的負載均衡策略:為了避免輔助損失對模型性能的負面影響,提出了一種無輔助損失的負載均衡策略,通過動態調整偏置項來保持專家負載的平衡
4.多令牌預測(MTP)目標:通過預測多個未來令牌來增強模型的預測能力,并可用于推理加速的投機解碼
實驗設計
數據收集:預訓練數據集包含14.8萬億高質量和多樣化的令牌,涵蓋了數學、編程和多種語言
超參數設置:模型設置為61層Transformer結構,隱藏維度為7168。MLA的頭數為128,每頭維度為128。KV壓縮維度為512,查詢壓縮維度為1536
訓練過程:采用FP8混合精度訓練框架,設計了DualPipe算法以實現高效的管道并行性。訓練過程中使用了序列并行性和數據并行性來優化計算和通信效率
關鍵問題
問題1:DeepSeek-V3在訓練過程中如何實現高效的流水線并行性?
DeepSeek-V3采用了DualPipe算法來實現高效的流水線并行性。DualPipe算法通過將前向和后向計算階段重疊,減少了管道氣泡的數量,并隱藏了大部分通信開銷。具體來說,DualPipe將每個塊分為四個部分:注意力、全節點廣播、MLP和全節點合并。通過重新排列這些組件并手動調整GPU SMs的分配,確保了計算和通信的重疊。這種方法不僅加速了模型訓練,還減少了管道氣泡和峰值激活內存的使用
問題2:DeepSeek-V3的無輔助損失負載均衡策略是如何工作的?
DeepSeek-V3的無輔助損失負載均衡策略通過引入偏置項來動態調整專家負載,從而避免輔助損失對模型性能的負面影響。具體來說,每個專家的負載通過sigmoid函數計算的親和度分數來確定,并通過歸一化處理生成門控值。為了實現負載均衡,引入了偏置項 ,并將其加到親和度分數上,以確定每個令牌的路由選擇。通過在訓練過程中動態調整偏置項,DeepSeek-V3能夠在訓練過程中保持專家負載的平衡,從而提高模型性能
問題3:DeepSeek-V3在多令牌預測(MTP)方面有哪些具體的實現細節?
DeepSeek-V3的多令牌預測(MTP)通過在每個預測深度預測多個未來令牌來增強模型的預測能力。具體實現上,使用多個順序模塊來預測額外的令牌,并保持完整的因果鏈。每個MTP模塊由一個共享嵌入層、一個共享輸出頭、一個Transformer塊和一個投影矩陣組成。對于每個輸入令牌,首先將其與下一個令牌的嵌入進行線性組合,然后通過Transformer塊進行處理,最后通過輸出頭計算預測概率。通過這種多令牌預測方法,DeepSeek-V3能夠提高數據的利用效率,并增強模型的預測能力