DeepSeek,喜歡過節(jié)發(fā)模型
![]()
DeepSeek 發(fā)布時(shí)間線,紅色是主要版本
這點(diǎn),老美也很抱怨“去年感恩節(jié)發(fā) V3,今年后發(fā) V3.2”
但每個(gè)人,也深有期待
V3.2 的性能已經(jīng)追平 GPT-5 和 Gemini 3.0 Pro,而且開源
![]()
V3.2 和頂級(jí)閉源模型的 benchmark 對(duì)比,來自 DeepSeek V3.2 技術(shù)報(bào)告
接下來,讓我們一起完整看看 DeepSeek 從 V3 到 V3.2 的演進(jìn)過程中,看看每個(gè)版本改了什么,為什么改,以及怎么實(shí)現(xiàn)的
內(nèi)容基于 Sebastian Raschka 的技術(shù)分析,也是用了大量來自于他的插圖;當(dāng)然,更多的是我自己的補(bǔ)充
時(shí)間線
去年12月,DeepSeek-V3 發(fā)布
只用了 500 多萬美金的成本,帶來了不輸 Claude 3.5 的成績(jī),并開源
今年 1 月的,DeepSeek R1 發(fā)布
這是個(gè)推理模型,對(duì)標(biāo) OpenAI 的 o1,價(jià)格只有 OpenAI 的幾十分之一
R1 和 V3 用的是同一個(gè)架構(gòu),區(qū)別在訓(xùn)練方法
![]()
V3/R1 的架構(gòu)圖
R1 之后,DeepSeek 沉寂了大半年
中間他們?cè)谔幚韽?NVIDIA 換到華為芯片的事,據(jù)公開信息,后來又換回了 NVIDIA
這一年也不是完全沒動(dòng)靜,陸續(xù)發(fā)了 V3.1 和 V3.2
其中V3.2-Exp 發(fā)的benchmark 并不突出,關(guān)注度有限
但這個(gè)版本其實(shí)是在給 V3.2 的 DSA 鋪路,讓各種推理框架和部署工具支持起來
V3.2 前幾天正式發(fā)布,用的就是同樣的架構(gòu)
到這里,再讓我們回顧下發(fā)布圖
![]()
DeepSeek 發(fā)布時(shí)間線,紅色是主要版本 幾個(gè)概念
在講具體技術(shù)之前,先把幾個(gè)基礎(chǔ)概念說清楚
大模型訓(xùn)練的兩個(gè)階段
預(yù)訓(xùn)練
用海量文本訓(xùn)練,產(chǎn)出 base model(基座模型)base model 能續(xù)寫文本,但不太會(huì)對(duì)話,不太會(huì)按指令做事
后訓(xùn)練
在 base model 基礎(chǔ)上繼續(xù)訓(xùn)練,讓模型學(xué)會(huì)對(duì)話、遵循指令、拒絕有害請(qǐng)求
后訓(xùn)練通常包含 SFT(監(jiān)督微調(diào),用人工標(biāo)注數(shù)據(jù)訓(xùn)練)和 RL(強(qiáng)化學(xué)習(xí),用獎(jiǎng)勵(lì)信號(hào)優(yōu)化)
V3 和 R1 的關(guān)系
DeepSeek 當(dāng)下的 base model 是 DeepSeek-V3-Base
DeepSeek V3、R1 都是經(jīng)過后訓(xùn)練的,其中
? V3 走的是標(biāo)準(zhǔn)流程:預(yù)訓(xùn)練 → SFT → RL
? R1 有兩個(gè)版本:
? R1-Zero :拿 V3 的預(yù)訓(xùn)練版本(V3-Base),跳過 SFT,直接用純 RL 訓(xùn)練
? R1 :先用幾千條高質(zhì)量數(shù)據(jù)做「冷啟動(dòng)」微調(diào),再做 RL,比 R1-Zero 更好
普通模型(比如 ChatGPT 默認(rèn)模式)收到問題后直接給答案
推理模型(比如 o1、R1)會(huì)先「思考」一段,把推理過程寫出來,再給最終答案
這個(gè)「思考」過程通常會(huì)用特殊標(biāo)簽包起來,比如
...
用戶能看到模型在想什么,而且這種逐步推理的方式在數(shù)學(xué)、代碼、邏輯題上效果更好
專用模型 vs 混合模型
今年行業(yè)里出現(xiàn)了兩種做法:
專用模型
推理是推理,聊天是聊天,分開訓(xùn)練成兩個(gè)模型
用戶想做數(shù)學(xué)題就用推理模型,想閑聊就用聊天模型
好處是每個(gè)模型在自己的領(lǐng)域做到最好
混合模型
一個(gè)模型同時(shí)具備推理能力和普通聊天能力
用戶可以通過 prompt 或特殊 token 切換模式
比如加上
標(biāo)簽就進(jìn)入推理模式,不加就是普通聊天
好處是一個(gè)模型搞定所有場(chǎng)景,用起來方便
![]()
今年推理模型和混合模型的發(fā)布時(shí)間線
Qwen3 一開始是混合模型,用
標(biāo)簽切換模式
后來發(fā)現(xiàn)分開訓(xùn)練效果更好,又拆成了 instruct 和 reasoning 兩個(gè)版本
OpenAI 的 gpt-oss 是混合模型,用 system prompt 控制推理強(qiáng)度
GPT-5 和 GPT-5.1 應(yīng)該也是類似的處理方式
DeepSeek 的路徑
根據(jù)已經(jīng)發(fā)布的信息,DeepSeek 的當(dāng)前路徑為:
? V3:base model
? R1:專用推理模型(在 V3 基礎(chǔ)上 post-training)
? V3.1、V3.2:混合模型(同時(shí)支持推理和普通聊天)
R1 更多是研究性質(zhì),用來探索推理訓(xùn)練方法
V3.2 是面向各種場(chǎng)景的產(chǎn)品級(jí)模型
DeepSeek 團(tuán)隊(duì)可能還在做專門的 R2
V3 的核心:MLA 機(jī)制
現(xiàn)在開始講具體技術(shù)
V3 架構(gòu)有兩個(gè)重點(diǎn):MoE 和 MLA
更為具體的介紹,可以看我之前的拆解
MoE 簡(jiǎn)介
MoE 是 Mixture of Experts 的縮寫,中文叫「專家混合」,普通模型的每一層,所有參數(shù)都會(huì)參與計(jì)算
MoE 模型的每一層有多個(gè)「專家」(就是多組參數(shù)),每次只激活其中幾個(gè)
比如一個(gè)模型有 256 個(gè)專家,每次只用 8 個(gè)
這樣模型參數(shù)總量可以很大(能力強(qiáng)),但每次計(jì)算只用一部分(效率高)
DeepSeek V3 用的就是 MoE 架構(gòu)
MLA 是什么
MLA 是 Multi-Head Latent Attention 的縮寫,中文叫「多頭潛在注意力」
這是 DeepSeek 自己設(shè)計(jì)的一種注意力機(jī)制,目的是省顯存
為什么要省顯存
大模型推理時(shí)有個(gè)東西叫 KV Cache
簡(jiǎn)單說,模型生成每個(gè)新 token 時(shí),需要用到之前所有 token 的信息
這些信息存在 key 和 value 兩個(gè)向量里
為了避免重復(fù)計(jì)算,通常會(huì)把這些向量緩存起來,這就是 KV Cache
問題是,序列越長(zhǎng),KV Cache 越大,顯存占用越高
長(zhǎng)文本場(chǎng)景下,顯存很容易不夠用
MLA 怎么省顯存
正常做法是把完整的 key 和 value 向量存進(jìn) KV Cache
MLA 的做法是:
先把 key 和 value 壓縮到一個(gè)低維空間,存壓縮后的版本
推理的時(shí)候再解壓回來
![]()
MLA 原理圖,key 和 value 先壓縮再存儲(chǔ)
具體流程:
1. 輸入的 key 和 value 通過一個(gè)下投影矩陣(down-projection),從高維壓縮到低維
2. 壓縮后的向量存入 KV Cache
3. 推理時(shí),從 KV Cache 取出壓縮向量
4. 通過上投影矩陣(up-projection)還原到原始維度
5. 用還原后的向量做正常的注意力計(jì)算
這個(gè)思路和 LoRA 類似:先降維再升維,中間存小的
代價(jià)是多了一次矩陣乘法(還原那一步),但顯存省了
query 也會(huì)壓縮,但只在訓(xùn)練時(shí),推理時(shí)不需要
MLA 不是 V3 才有的,DeepSeek V2 就引入了這個(gè)機(jī)制
R1 的核心:RLVR 訓(xùn)練
R1 和 V3 架構(gòu)完全一樣,區(qū)別在訓(xùn)練方法
R1 用的是 RLVR(Reinforcement Learning with Verifiable Rewards,可驗(yàn)證獎(jiǎng)勵(lì)的強(qiáng)化學(xué)習(xí))
更為具體的介紹,可以看我之前的拆解
什么是強(qiáng)化學(xué)習(xí)訓(xùn)練
大模型的 post-training 階段通常會(huì)用強(qiáng)化學(xué)習(xí)
基本思路是:
1. 給模型一個(gè)問題
2. 模型生成一個(gè)回答
3. 用某種方式給這個(gè)回答打分(reward)
4. 根據(jù)分?jǐn)?shù)調(diào)整模型參數(shù),讓高分回答更容易出現(xiàn)
關(guān)鍵問題是:怎么給回答打分?
傳統(tǒng)做法:RLHF
ChatGPT 使用的便是 RLHF全稱:Reinforcement Learning from Human Feedback
先收集人類對(duì)不同回答的偏好數(shù)據(jù)
然后訓(xùn)練一個(gè) reward model,讓它模擬人類的打分
最后用這個(gè) reward model 給模型的回答打分
這里有一個(gè)問題
reward model 本身可能不準(zhǔn),人類標(biāo)注成本也高
RLVR 的思路
RLVR 的想法是:
有些任務(wù)的答案,可以被程序自動(dòng)驗(yàn)證
數(shù)學(xué)題有標(biāo)準(zhǔn)答案,代碼能跑通就是對(duì)的
這類任務(wù)不需要人工標(biāo)注,直接用程序判斷對(duì)錯(cuò)
![]()
可驗(yàn)證任務(wù)的例子
比如模型做一道數(shù)學(xué)題:
? 如果最終答案和標(biāo)準(zhǔn)答案一致,reward = 1
? 如果不一致,reward = 0
不需要 reward model,不需要人工標(biāo)注
GRPO 算法
具體的強(qiáng)化學(xué)習(xí)算法,R1 用的是 GRPO全稱:Group Relative Policy Optimization
這是 PPO 的簡(jiǎn)化版
![]()
RLHF、GRPO、RLVR 的對(duì)比
三種方法的區(qū)別:
? 傳統(tǒng) RLHF + PPO :需要一個(gè) reward model(根據(jù)人類偏好訓(xùn)練)和一個(gè) critic model(估計(jì)價(jià)值的輔助模型)
? GRPO :去掉了 critic model,只保留 reward model,簡(jiǎn)化了訓(xùn)練流程
? RLVR + GRPO :連 reward model 也不要了,直接用程序驗(yàn)證(計(jì)算器驗(yàn)證數(shù)學(xué)答案、編譯器驗(yàn)證代碼)
R1 用了三種 reward:
? format reward :檢查答案格式是否正確(比如推理過程是否用了指定的標(biāo)簽)
? language consistency reward :防止模型在回答過程中切換語言(比如問題是中文,回答一會(huì)中文一會(huì)英文)
? verifier reward :最核心的,數(shù)學(xué)或代碼答案是否正確
V3.1 變成了混合模型,用戶可以通過 prompt template 切換推理模式和普通聊天模式
但這里的架構(gòu)沒變,以及 V3.1 基于 DeepSeek V3.1-Base,后者在 V3 基礎(chǔ)上額外訓(xùn)練了 840B tokens
V3.1 的具體發(fā)布,可以看這里:
R1-0528 版本升級(jí)
R1-0528 是 R1 的小版本升級(jí),架構(gòu)和 V3/R1 完全一樣
改進(jìn)來自 post-training pipeline 的優(yōu)化
性能追上了當(dāng)時(shí)的 OpenAI o3 和 Gemini 2.5 Pro
具體怎么做的沒有詳細(xì)披露,推測(cè)是在推理時(shí)使用了更多計(jì)算資源(讓模型「思考」更長(zhǎng)時(shí)間)
V3.2-Exp:DSA 稀疏注意力
V3.2-Exp 是今年 9 月發(fā)的,架構(gòu)上有實(shí)質(zhì)變化
核心創(chuàng)新是 DSA(DeepSeek Sparse Attention,DeepSeek 稀疏注意力)
問題:標(biāo)準(zhǔn)注意力太慢
標(biāo)準(zhǔn)的 causal attention(因果注意力),當(dāng)前 token 需要關(guān)注所有之前的 token
計(jì)算復(fù)雜度是 O(L2),L 是序列長(zhǎng)度
意思是:
序列長(zhǎng)度翻倍,計(jì)算量變成 4 倍
長(zhǎng)文本場(chǎng)景下,這個(gè)計(jì)算量非常大
一種解決方案:Sliding Window Attention
Sliding Window Attention(滑動(dòng)窗口注意力)是一種常見的優(yōu)化方法
當(dāng)前 token 不關(guān)注所有之前的 token,只關(guān)注最近的 N 個(gè)
比如 N=4096,那每個(gè) token 只關(guān)注前面 4096 個(gè) token
![]()
Sliding window attention,只關(guān)注固定窗口
Gemma 3 和 Olmo 3 用的是這個(gè)方案
優(yōu)點(diǎn)是簡(jiǎn)單,復(fù)雜度從 O(L2) 降到 O(L×N)
缺點(diǎn)是窗口大小固定,可能漏掉重要信息
DSA 的思路
DSA 不用固定窗口,讓模型自己學(xué)習(xí)應(yīng)該關(guān)注哪些 token
每個(gè) token 只關(guān)注之前的一部分 token,但這個(gè)「一部分」是模型學(xué)出來的,不是固定的
![]()
DSA,模型自己選擇要關(guān)注哪些 token
看上圖,關(guān)注的 token 位置不是連續(xù)的,是「跳著」選的
DSA 怎么實(shí)現(xiàn)
DSA 有兩個(gè)組件:Lightning Indexer 和 Token Selector
Lightning Indexer:計(jì)算相關(guān)性分?jǐn)?shù)
對(duì)每個(gè)新的 query token,計(jì)算它和之前所有 token 的相關(guān)性
用的是 MLA 里壓縮后的向量(前面講過,MLA 會(huì)把 key 和 value 壓縮存儲(chǔ)),做點(diǎn)積然后過 ReLU
相關(guān)性分?jǐn)?shù)的計(jì)算公式:
![]()
DSA 相關(guān)性分?jǐn)?shù)公式
公式里的符號(hào):
? w:學(xué)習(xí)到的每頭權(quán)重系數(shù),決定每個(gè) indexer head 對(duì)最終分?jǐn)?shù)的貢獻(xiàn)
? q:query 向量
? k:key 向量
? t:當(dāng)前 token 位置
? s:之前的 token 位置(0 ≤ s < t)
? j:indexer head 的索引(DSA 有多個(gè) head,類似多頭注意力)
indexer 只處理 query,不處理 key
因?yàn)?key 已經(jīng)壓縮存在 KV Cache 里了,不需要再算
ReLU 函數(shù)會(huì)把負(fù)值變成 0,但因?yàn)橛卸鄠€(gè) head 的求和,最終分?jǐn)?shù)通常不會(huì)是 0
真正的稀疏性來自下一步的 Token Selector
Token Selector:選擇 top-k
根據(jù) Lightning Indexer 算出的分?jǐn)?shù),選分?jǐn)?shù)最高的 k 個(gè) token
其他 token 被 mask 掉,不參與注意力計(jì)算
k 在 DeepSeek 公開的代碼里設(shè)的是 2048
![]()
DSA 的完整流程 DSA 的效果
復(fù)雜度從 O(L2) 降到 O(L×k)
k 是選擇的 token 數(shù)量(比如 2048),遠(yuǎn)小于 L(序列長(zhǎng)度可能是幾萬甚至幾十萬)
V3.2-Exp 的目標(biāo)不是提升性能,是在保持性能的前提下提升效率
DeepSeekMath V2:自驗(yàn)證和自改進(jìn)
V3.2 發(fā)布前 4 天(11 月 27 日,美國(guó)感恩節(jié)),DeepSeek 發(fā)了 DeepSeekMath V2
這是一個(gè)數(shù)學(xué)專用模型,基于 V3.2-Exp-Base
在數(shù)學(xué)競(jìng)賽上達(dá)到了金牌水平
更重要的是,它驗(yàn)證了兩個(gè)關(guān)鍵技術(shù):Self-Verification(自驗(yàn)證)和 Self-Refinement(自改進(jìn))
這兩個(gè)技術(shù)后來用到了 V3.2 里
RLVR 的問題
前面講過,RLVR 用程序驗(yàn)證答案對(duì)不對(duì)
但 DeepSeek 團(tuán)隊(duì)指出了兩個(gè)問題:
問題一:correct answers don't guarantee correct reasoning
正確答案不等于正確推理
模型可能靠錯(cuò)誤的邏輯或者運(yùn)氣得到正確答案
比如做一道數(shù)學(xué)題,中間步驟全是錯(cuò)的,但最后答案碰巧對(duì)了
按 RLVR 的邏輯,這個(gè)回答會(huì)得到正向 reward
模型會(huì)學(xué)到錯(cuò)誤的推理方式
問題二:有些任務(wù)沒法只看最終答案
比如定理證明,要求嚴(yán)格的逐步推導(dǎo)
你不能只驗(yàn)證結(jié)論對(duì)不對(duì),中間每一步都要對(duì)
最終結(jié)論對(duì)了,但中間步驟錯(cuò)了,這個(gè)證明就是無效的
自驗(yàn)證怎么做
為了解決上面的問題,DeepSeek 訓(xùn)練了三個(gè)模型:
LLM 1:證明生成器(Proof Generator)
生成數(shù)學(xué)證明
LLM 2:證明驗(yàn)證器(Proof Verifier)
檢查證明是否正確
不只看最終答案,會(huì)檢查每一步推理
用一個(gè)評(píng)分標(biāo)準(zhǔn)打分:
? 1 分:完整嚴(yán)謹(jǐn),所有邏輯步驟都有清晰理由
? 0.5 分:整體邏輯正確,但有小錯(cuò)誤或遺漏細(xì)節(jié)
? 0 分:有根本性邏輯錯(cuò)誤或關(guān)鍵缺失
LLM 3:元驗(yàn)證器(Meta-Verifier)
驗(yàn)證「驗(yàn)證器」是否正確
驗(yàn)證器可能會(huì)產(chǎn)生幻覺,錯(cuò)誤地指出不存在的問題
元驗(yàn)證器就是用來檢查驗(yàn)證器的
![]()
Meta-verifier 檢查驗(yàn)證器是否正確
這個(gè)設(shè)置有點(diǎn) GAN(生成對(duì)抗網(wǎng)絡(luò))的意思:
驗(yàn)證器推動(dòng)生成器進(jìn)步,生成器生成更好的證明,又推動(dòng)驗(yàn)證器進(jìn)步
訓(xùn)練細(xì)節(jié)
證明驗(yàn)證器(LLM 2)的訓(xùn)練:
? 基于 DeepSeek V3.2-Exp-SFT(在 V3.2-Exp 上做了監(jiān)督微調(diào)的版本)
? 用強(qiáng)化學(xué)習(xí)訓(xùn)練
? 兩種 reward:format reward(格式正確)+ score reward(預(yù)測(cè)分?jǐn)?shù)和人工標(biāo)注分?jǐn)?shù)的接近程度)
元驗(yàn)證器(LLM 3)的訓(xùn)練方式類似
效果
使用 meta-verifier 后,驗(yàn)證器的證明分析質(zhì)量從 0.85 提升到 0.96
同時(shí)保持了證明分?jǐn)?shù)預(yù)測(cè)的準(zhǔn)確率
meta-verifier 只在訓(xùn)練時(shí)用,推理時(shí)不需要
自改進(jìn)怎么做
Self-Refinement(自改進(jìn))是一種推理時(shí)的技術(shù)
讓模型根據(jù)驗(yàn)證結(jié)果修改自己的答案
傳統(tǒng) Self-Refinement
用同一個(gè) LLM 做三件事:
1. 生成初始答案
2. 評(píng)估這個(gè)答案有沒有問題
3. 根據(jù)評(píng)估結(jié)果改進(jìn)答案
DeepSeek 發(fā)現(xiàn)的問題
技術(shù)報(bào)告原文:
when prompted to both generate and analyze its own proof in one shot, the generator tends to claim correctness even when the external verifier easily identify flaws.
用同一個(gè)模型既生成又驗(yàn)證,模型會(huì)自己騙自己
讓模型評(píng)估自己生成的東西,它傾向于說「沒問題」
但如果用外部驗(yàn)證器,很容易發(fā)現(xiàn)問題
看起來應(yīng)該用兩個(gè)模型
一個(gè)生成,一個(gè)驗(yàn)證
![]()
用獨(dú)立驗(yàn)證器的 self-refinement
但實(shí)際做法不同
技術(shù)報(bào)告說:
All experiments used a single model, our final proof generator, which performs both proof generation and verification.
最終版本還是用了同一個(gè)模型
關(guān)鍵在于:訓(xùn)練時(shí)用了獨(dú)立的驗(yàn)證器和元驗(yàn)證器來「教」這個(gè)模型
模型學(xué)會(huì)了用同樣的評(píng)分標(biāo)準(zhǔn)評(píng)估自己的輸出
和 naive 的單模型 self-refinement 的區(qū)別是:這個(gè)模型被更強(qiáng)的驗(yàn)證器「教過」了
推理時(shí)用 2-in-1 的模型,省資源
迭代次數(shù)
self-refinement 可以做多輪
生成初始答案 → 評(píng)估 → 改進(jìn) → 再評(píng)估 → 再改進(jìn)...
DeepSeek 測(cè)到了 8 輪,效果還沒飽和
![]()
迭代次數(shù)和準(zhǔn)確率的關(guān)系
更多迭代 = 更高準(zhǔn)確率 = 更貴
這是推理時(shí)計(jì)算量和效果的 trade-off
V3.2:完整拆解
先放個(gè) DeepSeek V3.2 的跑分
![]()
DeepSeek V3.2
我之前寫過一個(gè)技術(shù)報(bào)告拆解:
架構(gòu)
和 V3.2-Exp 完全一樣:MoE + MLA + DSA
技術(shù)報(bào)告原文:
DeepSeek-V3.2 uses exactly the same architecture as DeepSeek-V3.2-Exp
訓(xùn)練目標(biāo):
? 數(shù)學(xué)達(dá)到金牌水平
? 支持 tool-use(讓模型學(xué)會(huì)調(diào)用外部工具,比如搜索引擎、計(jì)算器、代碼解釋器)
? 代碼和 agent 任務(wù)表現(xiàn)好
同時(shí)保持計(jì)算效率
DSA 的效果 ![]()
DSA 帶來的推理成本節(jié)省
這里,用了 H800
RL 訓(xùn)練的變化
這個(gè)是 R1 的 reward 設(shè)計(jì)
? format reward:格式正確
? language consistency reward:語言一致
? verifier reward:答案正確
這個(gè)是 V3.2 的 reward 設(shè)計(jì):
? rule-based outcome reward:基于規(guī)則的結(jié)果 reward
? length penalty:懲罰過長(zhǎng)的輸出(控制 agent 任務(wù)的輸出長(zhǎng)度)
? language consistency reward:語言一致
對(duì)于通用任務(wù):
? generative reward model:用另一個(gè) LLM 打分,每個(gè) prompt 有自己的評(píng)分標(biāo)準(zhǔn)(rubric)
變化總結(jié):
? 去掉了 format reward
? 加了 length penalty
? 通用任務(wù)用 LLM-as-a-judge(因?yàn)橥ㄓ萌蝿?wù)沒法用程序驗(yàn)證)
數(shù)學(xué)領(lǐng)域用的是 DeepSeekMath V2 的數(shù)據(jù)和方法(前面講的自驗(yàn)證、自改進(jìn))
所以:V3.2 不再是純 RLVR
應(yīng)該是:RLVR + LLM-as-a-judge
GRPO 的改進(jìn)
過去幾個(gè)月,業(yè)內(nèi)有很多 GRPO 的改進(jìn)版本
比較知名的是 DAPO 和 Dr. GRPO
DAPO 的主要改進(jìn):
? 非對(duì)稱 clipping:上下界不一樣
? 動(dòng)態(tài)采樣:保持 batch size
? token-level loss:用 token 數(shù)量而不是樣本數(shù)量歸一化 loss
? 顯式的基于長(zhǎng)度的 reward shaping
Dr. GRPO 的主要改進(jìn):
? 去掉 GRPO 目標(biāo)函數(shù)里的長(zhǎng)度歸一化
? 去掉標(biāo)準(zhǔn)差歸一化
這兩個(gè)改進(jìn)都認(rèn)為原版 GRPO 有 bias,會(huì)偏向過長(zhǎng)的錯(cuò)誤答案,或者過度加權(quán)太難/太簡(jiǎn)單的問題
Olmo 3 采用的改進(jìn)(和 DAPO/Dr. GRPO 類似):
? Zero Gradient Signal Filtering:去掉 reward 全相同的樣本組(這種樣本提供不了梯度信號(hào))
? Active Sampling:維持 batch size
? Token-level loss:用 token 數(shù)量歸一化 loss
? No KL Loss:去掉 KL 損失(KL 損失是為了防止模型偏離原始模型太遠(yuǎn),但很多團(tuán)隊(duì)發(fā)現(xiàn)去掉效果更好)
? Clip Higher:上界 clipping 比下界稍高
? Truncated Importance Sampling:調(diào)整 log probability 差異
? No standard deviation normalization:計(jì)算 advantage 時(shí)不除以標(biāo)準(zhǔn)差
V3.2 的改進(jìn)比較保守,更接近原版 GRPO:
Domain-specific KL strengths
不同領(lǐng)域用不同的 KL 權(quán)重
數(shù)學(xué)領(lǐng)域可以很弱甚至為 0
但不是完全去掉 KL,而是把它變成超參數(shù)
Unbiased KL estimate
用 importance ratio 重新加權(quán) KL term
讓 KL 梯度真正匹配「樣本來自舊策略」這個(gè)事實(shí)
Off-policy sequence masking
跨多個(gè)梯度步驟重用 rollout 數(shù)據(jù)時(shí)
測(cè)量當(dāng)前策略和生成這些數(shù)據(jù)的舊策略的偏離程度
丟棄那些 advantage 為負(fù)且偏離太遠(yuǎn)的序列
防止模型從過時(shí)或偏離的數(shù)據(jù)中學(xué)習(xí)
Keep routing for MoE
記錄 rollout 時(shí)激活了哪些 expert
訓(xùn)練時(shí)強(qiáng)制用同樣的 routing pattern
讓梯度更新作用于真正產(chǎn)生了采樣答案的 expert
Keep sampling mask for top-p/top-k
如果 rollout 用了 top-p 或 top-k 采樣
存儲(chǔ) selection mask
計(jì)算 GRPO loss 和 KL 時(shí)重新應(yīng)用這個(gè) mask
讓訓(xùn)練時(shí)的 action space 和采樣時(shí)一致
Keep original GRPO advantage normalization
Dr. GRPO 認(rèn)為 GRPO 的長(zhǎng)度歸一化和標(biāo)準(zhǔn)差歸一化有問題
V3.2 保留了原版 GRPO 的歸一化,通過上面的其他修改來處理問題
V3.2-Speciale:極端推理模式
V3.2 還有一個(gè) Speciale 版本
針對(duì)推理場(chǎng)景的極端優(yōu)化
訓(xùn)練差異
? RL 階段只用推理數(shù)據(jù)(不用通用聊天數(shù)據(jù))
? 減弱 length penalty,允許更長(zhǎng)的輸出
這個(gè)是效果
![]()
Speciale 版本的 token 數(shù)量和準(zhǔn)確率
更長(zhǎng)的輸出 -> 更多推理步驟 -> 更高準(zhǔn)確率 -> 更貴
這是個(gè)取舍
最后
總結(jié)一下,從 V3 到 V3.2 的技術(shù)演進(jìn):
V3:MoE + MLA
MoE 讓模型參數(shù)大但計(jì)算量小
MLA 通過壓縮 KV Cache 省顯存
R1:RLVR + GRPO
用可驗(yàn)證的 reward(數(shù)學(xué)答案對(duì)不對(duì)、代碼能不能跑)訓(xùn)練推理能力
GRPO 是 PPO 的簡(jiǎn)化版
V3.1:變成混合模型
支持推理和普通聊天切換
V3.2-Exp:加入 DSA 稀疏注意力
不用固定窗口,讓模型學(xué)習(xí)應(yīng)該關(guān)注哪些 token
復(fù)雜度從 O(L2) 降到 O(L×k)
DeepSeekMath V2:自驗(yàn)證 + 自改進(jìn)
訓(xùn)練時(shí)用獨(dú)立驗(yàn)證器檢查推理過程
推理時(shí)用同一個(gè)模型,因?yàn)橐呀?jīng)學(xué)會(huì)了驗(yàn)證能力
V3.2:整合所有技術(shù)
架構(gòu):MoE + MLA + DSA
訓(xùn)練:RLVR + LLM-as-a-judge 混合
GRPO 做了穩(wěn)定性改進(jìn)
支持 Thinking in Tool-Use 這樣的工程內(nèi)容
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(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.