【推理llm論文精讀】DeepSeek V3技術論文_精工見效果

先附上原始論文和效果對比https://arxiv.org/pdf/2412.19437
在這里插入圖片描述

摘要 (Abstract)

DeepSeek-V3是DeepSeek-AI團隊推出的最新力作,一個強大的混合專家(Mixture-of-Experts,MoE)語言模型。它擁有671B的總參數量,但每個token僅激活37B參數,實現了效率和性能的平衡。DeepSeek-V3在架構上采用了多頭潛注意力(Multi-head Latent Attention, MLA)和DeepSeekMoE,并在訓練策略上進行了創新,引入了無輔助損失的負載均衡和多token預測目標。經過14.8萬億token的預訓練,以及監督微調和強化學習階段,DeepSeek-V3在多項評估中超越了其他開源模型,并在某些任務上達到了與領先閉源模型相媲美的水平。更令人印象深刻的是,DeepSeek-V3的訓練成本極低,整個訓練過程僅需2.788M H800 GPU小時,且訓練過程非常穩定。

1. 引言 (Introduction)

大型語言模型(LLMs)的發展日新月異,不斷縮小與通用人工智能(AGI)的差距。DeepSeek-V3的發布,進一步推動了開源模型的發展。它不僅在性能上表現出色,而且在訓練效率和成本控制方面也樹立了新的標桿。

本文將深入剖析DeepSeek-V3的各個方面,包括模型結構、預訓練、后訓練和推理部署,揭示其創新之處和實現邏輯。

2. 模型結構 (Architecture)

在這里插入圖片描述

DeepSeek-V3的架構設計有兩大核心目標:

  1. 高效推理 (Efficient Inference): 通過多頭潛注意力(MLA)實現。
  2. 經濟訓練 (Economical Training): 通過DeepSeekMoE實現。

此外,DeepSeek-V3還引入了多token預測 (Multi-Token Prediction, MTP) 訓練目標,進一步提升模型性能。

2.1 多頭潛注意力 (Multi-Head Latent Attention, MLA)

MLA是DeepSeek-V2中首次提出的注意力機制,旨在減少推理過程中的KV緩存大小。其核心思想是對Key和Value進行低秩聯合壓縮。

MLA的計算過程如下:

  1. Key和Value的壓縮:

    • 計算潛向量:cKV = WDKV * ht (WDKV是降維矩陣,ht是輸入)
    • 計算壓縮后的Key:[k1; k2; ...; knh] = k = WUK * cKV
    • 計算解耦Key (用于RoPE):k = ROPE(WKR * ht)
    • 將壓縮后的Key和解耦Key拼接: kt,i = [k; k]
    • 計算壓縮后的Value:[v1; v2; ...; vnh] = v = WUV * cKV
  2. Query的壓縮(訓練時):

    • 計算潛向量:c = WDQ * ht
    • 計算壓縮后的Query:[q1; q2; ...; qnh] = q = WUQ * c
    • 計算解耦Query (用于RoPE):q = ROPE(WQR * c)
    • 將解耦Query進行切分: qt,i = [q; q]
  3. 注意力計算:

    • ot,i = Softmax( (qt,i * kTi) / sqrt(dh + d) ) * v
    • ut = W0 * [ot,1; ot,2; ...; ot,nh]

MLA的優勢:

  • 減少KV緩存: 推理時只需緩存壓縮后的潛向量cKV和解耦Keyk,大大減少了KV緩存的大小。
  • 保持性能: 在減少KV緩存的同時,MLA能夠保持與標準多頭注意力(MHA)相當的性能。

2.2 DeepSeekMoE

DeepSeekMoE是DeepSeek團隊提出的一種MoE架構,相比于傳統的MoE架構(如GShard),它具有以下特點:

  • 更細粒度的專家 (Finer-grained Experts): 每個專家負責處理更小的計算量。
  • 共享專家 (Shared Experts): 部分專家被所有token共享,處理通用知識。
  • 無輔助損失的負載均衡 (Auxiliary-Loss-Free Load Balancing): 避免了輔助損失對模型性能的負面影響。

DeepSeekMoE的計算過程如下:

  1. FFN輸出:
    h = ut + Σ FFN(s)(ut) + Σ git * FFN(r)(ut)
    這里,FFN(s)表示共享專家,FFN(r)表示路由專家(routed experts),git表示路由權重。

  2. 路由權重計算:
    git = { sit , sit ∈ Topk({sj,t | 1 ≤ j ≤ Nr}, Kr); 0, otherwise

sit = Sigmoid( ut * ei )

其中:
*   `Ns`: 共享專家數量
*   `Nr`: 路由專家數量
*   `Kr`: 每個token激活的路由專家數量
*   `ei`: 第i個路由專家的中心向量
*  `Topk`函數選擇親和度(affinity)最高的K個專家。
  1. 無輔助損失負載均衡: DeepSeek-V3使用了一種創新的無輔助損失負載均衡策略。它為每個專家引入一個偏置項bi,并將其添加到親和度得分sit中,以確定top-K路由:

    s'i,t = { si,t + bi,  si,t + bi ∈ Topk({sj,t + bj | 1 ≤ j ≤ Nr}, Kr); 0, otherwise }
    

    在訓練過程,會動態調整每個專家偏置b,過載則減小,負載不足則增加。

  2. 補充序列級輔助損失: 為了防止單個序列內的極端不平衡,DeepSeek-V3還引入了一個非常小的序列級輔助損失。

DeepSeekMoE的優勢:

  • 高效訓練: 更細粒度的專家和共享專家機制使得計算更高效。
  • 更好的負載均衡: 無輔助損失的負載均衡策略避免了性能損失,同時實現了更好的負載均衡。

2.3 多token預測 (Multi-Token Prediction, MTP)

DeepSeek-V3采用了MTP訓練目標,這受到Gloeckle等人(2024)工作的啟發。MTP擴展了預測范圍,在每個位置預測多個未來的token。

MTP的實現:

  1. MTP模塊: DeepSeek-V3使用了D個串行的MTP模塊來預測D個額外的token。每個MTP模塊包含:

    • 共享的嵌入層(Shared Embedding Layer)
    • 共享的輸出頭(Shared Output Head)
    • Transformer塊
    • 投影矩陣
  2. 計算過程: 對于第i個輸入token ti,在第k個預測深度:

    • 組合表示:h = Mk * [RMSNorm(h-1); RMSNorm(Emb(ti+k))]
    • Transformer塊:h:T-k = TRMk(h)
    • 預測概率:P = OutHead(h)
  3. MTP訓練目標: 對于每個預測深度,計算交叉熵損失LMTP,最終的MTP損失是所有深度損失的加權平均。

MTP的優勢:

  • 增強信號: MTP提供了更密集的訓練信號,有助于模型學習。
  • 預規劃: MTP可能使模型能夠預先規劃其表示,以更好地預測未來的token。
  • 推理加速: MTP可用于推測解碼,以提升推理速度。

3. 預訓練 (Pre-Training)

DeepSeek-V3的預訓練過程有以下幾個關鍵點:

  • 數據 (Data): 使用了14.8T高質量、多樣化的token,并優化了數學和編程樣本的比例,擴展了多語言覆蓋。
  • FIM (Fill-in-Middle): 采用了FIM策略,提高了模型處理上下文的能力。
  • 超參數 (Hyper-Parameters): 采用了AdamW優化器,并使用了學習率調度和批大小調度策略。
  • 穩定性 (Stability): 預訓練過程非常穩定,沒有出現不可恢復的損失峰值或回滾。
  • 長上下文擴展: 采用兩階段上下文長度擴展,最終支持128K的上下文長度。

4. 后訓練 (Post-Training)

DeepSeek-V3的后訓練包括兩個階段:

  1. 監督微調 (Supervised Fine-Tuning, SFT):

    • 數據: 使用了1.5M實例的多領域指令數據集。
    • 推理數據生成: 采用了從DeepSeek-R1模型中蒸餾推理能力的方法。
    • 非推理數據生成: 使用DeepSeek-V2.5生成響應,并由人工標注者進行驗證。
  2. 強化學習 (Reinforcement Learning, RL):

    • 獎勵模型 (Reward Model, RM): 使用了基于規則的RM和基于模型的RM。
    • 優化算法: 采用了Group Relative Policy Optimization (GRPO)算法。

5. 推理部署 (Inference and Deployment)

DeepSeek-V3的推理部署策略旨在同時保證在線服務的服務水平目標(SLO)和高吞吐量。

  • 分離階段: 將推理過程分為預填充(Prefilling)和解碼(Decoding)兩個階段。
  • 預填充:
    • 采用4路張量并行(TP4)和8路數據并行(DP8)。
    • MoE部分采用32路專家并行(EP32)。
    • 使用冗余專家策略實現負載均衡。
    • 同時處理兩個微批次,以提高吞吐量。
  • 解碼:
    • 采用TP4和DP80。
    • MoE部分采用EP320。
    • 使用直接點對點傳輸和IBGDA技術來減少延遲。
    • 也采用冗余專家策略。

6. 創新點總結

DeepSeek-V3的創新點可以歸納為以下幾點:

  • 架構創新:
    • MLA: 減少推理時的KV緩存。
    • DeepSeekMoE: 更細粒度的專家、共享專家和無輔助損失的負載均衡。
    • MTP: 多token預測目標,增強訓練信號。
  • 訓練創新:
    • FP8訓練: 首次在超大規模模型上驗證了FP8訓練的可行性和有效性。
    • DualPipe: 高效的流水線并行算法,實現了計算和通信的高度重疊。
    • 跨節點All-to-All通信優化: 充分利用IB和NVLink帶寬,減少通信開銷。
    • 內存優化: 通過重計算、CPU中的EMA、共享嵌入和輸出頭等技術,減少內存占用。
    • 知識蒸餾: 從DeepSeek-R1中蒸餾長CoT(Chain-of-Thought)推理能力。
  • 推理創新:
    • 冗余專家: 動態調整專家部署,實現負載均衡。
    • 分離階段: 將預填充和解碼分離,優化吞吐量和延遲。

7. 實驗結果 (Evaluation Results)

DeepSeek-V3在多個基準測試中都取得了優異的成績,包括:

  • 知識: 在MMLU、MMLU-Pro、GPQA等教育基準測試中,DeepSeek-V3超越了所有其他開源模型,并接近領先的閉源模型。
  • 代碼、數學和推理: 在數學和編碼基準測試中,DeepSeek-V3取得了SOTA性能。
  • 長上下文: 在長上下文理解任務中,DeepSeek-V3表現出色。
  • 中文能力: 在中文基準測試中,DeepSeek-V3表現出強大的競爭力。
  • 開放式評估: 在Arena-Hard和AlpacaEval 2.0等開放式評估中,DeepSeek-V3也取得了優異的成績。

8. 局限性與未來方向

論文中承認DeepSeek-V3存在一些局限性,主要是在部署方面:

  • 部署資源要求高: 為了保證高效推理,DeepSeek-V3的推薦部署單元較大。
  • 推理速度仍有提升空間: 雖然推理速度已經比DeepSeek-V2快兩倍以上,但仍有優化潛力。

未來的研究方向包括:

  • 進一步優化模型架構: 探索更高效的注意力機制和MoE架構。
  • 數據擴展: 持續迭代訓練數據,并探索更多樣的訓練信號來源。
  • 深度思考能力: 增強模型的推理能力和問題解決能力。
  • 更全面的評估方法: 探索更全面、多維度的模型評估方法。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/895367.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/895367.shtml
英文地址,請注明出處:http://en.pswp.cn/news/895367.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

如何使用Java語言在Idea和Android中分別建立服務端和客戶端實現局域網聊天

手把手教你用Java語言在Idea和Android中分別建立服務端和客戶端實現局域網聊天 目錄 文章目錄 手把手教你用**Java**語言在**Idea**和**Android**中分別建立**服務端**和**客戶端**實現局域網聊天**目錄**[toc]**基本實現****問題分析****服務端**Idea:結構預覽Server類代碼解…

java韓順平最新教程,Java工程師進階

簡介 HikariCP 是用于創建和管理連接,利用“池”的方式復用連接減少資源開銷,和其他數據源一樣,也具有連接數控制、連接可靠性測試、連接泄露控制、緩存語句等功能,另外,和 druid 一樣,HikariCP 也支持監控…

如何在 IDE 里使用 DeepSeek?

近期,阿里云百煉平臺重磅推出 DeepSeek-V3、DeepSeek-R1、DeepSeek-R1-Distill-Qwen-32B 等 6 款模型,進一步豐富其 AI 模型矩陣。與此同時,通義靈碼也緊跟步伐,全新上線模型選擇功能,支持基于百煉的 DeepSeek-V3 和 D…

vue中附件下載及打印功能

1.附件dom 注&#xff1a;fileList是由后臺返回的附件數組&#xff0c;數組中包含附件名稱fileName,附件地址url&#xff0c;附件id等信息 <el-form-item label"附件" style"width: 100% !important;" v-if"modelTypeborrowDetail"><d…

chromium-mojo

https://chromium.googlesource.com/chromium/src//refs/heads/main/mojo/README.md 相關類&#xff1a;https://zhuanlan.zhihu.com/p/426069459 Core:https://source.chromium.org/chromium/chromium/src//main:mojo/core/README.md;bpv1;bpt0 embedder:https://source.chr…

網絡安全技術復習總結

1|0第一章 概論 1.網絡安全發展階段包括四個階段&#xff1a;通信安全、計算機安全、網絡安全、網絡空間安全。 2.2017年6月1日&#xff0c;我國第一部全面規范網絡空間安全的基礎性法律《中華人民共和國網絡安全法》正式實施。 3.2021年 6月10日&#xff0c;《中華人民共和…

基于華為云鏡像加速器的Docker環境搭建與項目部署指南

基于華為云鏡像加速器的Docker環境搭建與項目部署指南 一、安裝Docker1.1 更新系統包1.2 安裝必要的依賴包1.3 移除原有的Docker倉庫配置(如果存在)1.4 添加華為云Docker倉庫1.5 安裝Docker CE1.6 啟動Docker服務1.7 驗證Docker是否安裝成功1.8 添加華為云鏡像加速器地址二、…

在SpringBoot服務器端采購上,如何選擇操作系統、Cpu、內存和帶寬、流量套餐

在Spring Boot服務器端采購時&#xff0c;選擇操作系統、CPU、內存、帶寬和流量套餐需根據應用需求、預算和性能要求綜合考慮。以下是具體建議&#xff1a; 1. 操作系統 Linux發行版&#xff08;如Ubuntu、CentOS&#xff09;&#xff1a;適合大多數Spring Boot應用&#xff…

DedeBIZ系統審計小結

之前簡單審計過DedeBIZ系統&#xff0c;網上還沒有對這個系統的漏洞有過詳盡的分析&#xff0c;于是重新審計并總結文章&#xff0c;記錄下自己審計的過程。 https://github.com/DedeBIZ/DedeV6/archive/refs/tags/6.2.10.zip &#x1f4cc;DedeBIZ 系統并非基于 MVC 框架&…

業務開發 | 基礎知識 | Maven 快速入門

Maven 快速入門 1.Maven 全面概述 Apache Maven 是一種軟件項目管理和理解工具。基于項目對象模型的概念&#xff08;POM&#xff09;&#xff0c;Maven 可以從中央信息中管理項目的構建&#xff0c;報告和文檔。 2.Maven 基本功能 因此實際上 Maven 的基本功能就是作為 Ja…

人工智能之推薦系統實戰系列(協同過濾,矩陣分解,FM與DeepFM算法)

一.推薦系統介紹和應用 (1)推薦系統通俗解讀 推薦系統就是來了就別想走了。例如在大數據時代中京東越買越想買&#xff0c;抖音越刷越是自己喜歡的東西&#xff0c;微博越刷越過癮。 (2).推薦系統發展簡介 1)推薦系統無處不在&#xff0c;它是根據用戶的行為決定推薦的內容…

2.11 sqlite3數據庫【數據庫的相關操作指令、函數】

練習&#xff1a; 將 epoll 服務器 客戶端拿來用 客戶端&#xff1a;寫一個界面&#xff0c;里面有注冊登錄 服務器&#xff1a;處理注冊和登錄邏輯&#xff0c;注冊的話將注冊的賬號密碼寫入數據庫&#xff0c;登錄的話查詢數據庫中是否存在賬號&#xff0c;并驗證密碼是否正確…

Python(十九)實現各大跨境船公司物流查詢數據處理優化

一、前言 之前已經實現了常用 跨境物流船司 基礎信息查詢功能&#xff0c;如下所示 實現各大跨境船公司[COSCO/ZIM/MSK/MSC/ONE/PIL]的物流信息查詢&#xff1a;https://blog.csdn.net/Makasa/article/details/145484999?spm1001.2014.3001.5501 然后本章在其基礎上做了一些…

CentOS開機自啟動服務內容設置

CentOS開機自啟動服務內容設置 1. 開機后自動配置時鐘同步2. 開機自啟動服務腳本3. 配置開機自動添加路由 1. 開機后自動配置時鐘同步 # cat /etc/rc.local /usr/sbin/ntpdate pool.ntp.org >> /var/log/ntpdate.log需要設置/etc/rc.local的一個權限&#xff1a; # ll …

基于微信小程序的博物館預約系統的設計與實現

hello hello~ &#xff0c;這里是 code袁~&#x1f496;&#x1f496; &#xff0c;歡迎大家點贊&#x1f973;&#x1f973;關注&#x1f4a5;&#x1f4a5;收藏&#x1f339;&#x1f339;&#x1f339; &#x1f981;作者簡介&#xff1a;一名喜歡分享和記錄學習的在校大學生…

深度學習框架TensorFlow怎么用?

大家好呀&#xff0c;以下是使用 TensorFlow 的詳細步驟&#xff0c;從安裝到構建和訓練模型&#xff1a; 一、安裝 TensorFlow 安裝 Python&#xff1a;TensorFlow 基于 Python&#xff0c;確保已安裝 Python&#xff08;推薦 Python 3.8 及以上版本&#xff09;。可通過 Pyt…

機器學習 - 特征學習(表示學習)

為了提高機器學習算法的能力&#xff0c;我們需要抽取有效、穩定的特征。 傳統的特征提取是通過人工方式進行的&#xff0c;需要大量的人工和專家知識。一個成功的機器學習系統通常需要嘗試大量的特征&#xff0c;稱為特征工程(Feature Engineering).但即使這樣&#xff0c;人…

【pytest】獲取所有用例名稱并存于數據庫

數據庫操作包&#xff0c;引用前面創建的py文件&#xff0c;【sqlite】python操作sqlite3&#xff08;含測試&#xff09; #!/usr/bin/env python # -*- coding: utf-8 -*- # Time : 2025-02-11 8:45 # Author : duxiaowei # File : get_filename.py # Software: 這個文…

2024年12月中國電子學會青少年軟件編程(Python)等級考試試卷(四級)

青少年軟件編程&#xff08;Python&#xff09;等級考試試卷&#xff08;四級&#xff09; 一、單選題(共25題&#xff0c;共60分) 1.以下有關位置實參和關鍵字實參的表述中&#xff0c;錯誤的選項是?(C) A.位置實參和關鍵字實參可以混用。 B. 形參不占用內存地址。 C.調用函…

c/c++藍橋杯經典編程題100道(18)括號匹配

括號匹配 ->返回c/c藍橋杯經典編程題100道-目錄 目錄 括號匹配 一、題型解釋 二、例題問題描述 三、C語言實現 解法1&#xff1a;棧匹配法&#xff08;難度★&#xff09; 解法2&#xff1a;計數器法&#xff08;僅限單一括號類型&#xff0c;難度★☆&#xff09; …