Qwen3模型架構、訓練方法梳理 原創
模型架構
Dense 模型結構改進:
- GQA、SwiGLU、RoPE、RMSNorm with pre-normalization與Qwen2.5 相似。
- 移除了 Qwen2 中的 移除QKV偏置,減少模型復雜性,在注意力機制中引入 QK-Norm 來確保穩定訓練。
MoE 模型結構改進:
改進點 | 描述 |
細粒度專家分割 | 增強模型的表達能力和效率。 |
全局批次負載均衡損失 | 鼓勵專家專業化,提高模型整體性能。 |
移除共享專家 | 與Qwen2.5-MoE不同,Qwen3-MoE設計中排除了共享專家。 |
128個總專家,每個token激活8個專家 | 增加專家數量以提高模型的多樣性和表現力。 |
Qwen3 模型使用 Qwen 的 tokenizer,byte-level BPE,詞表大小 151669
預訓練
預訓練數據
預訓練數據情況:
- 36萬億個token,是Qwen2.5的兩倍
- 包括多種語言和方言,總共支持119種語言,而Qwen2.5僅支持29種
- 包括高質量的文本,涵蓋編程、STEM(科學、技術、工程和數學)、推理任務、書籍、多語言文本和合成數據等領域
數據收集方法:
- 使用Qwen2.5-VL模型對大量PDF文檔進行文本識別,并通過Qwen2.5模型進行質量提升。
- 利用Qwen2.5、Qwen2.5-Math和Qwen2.5-Coder模型生成合成的文本數據,涵蓋教科書、問答、指令和代碼片段等格式。
此外,開發了一個多語言數據注釋系統,標注超過30萬億個token,涵蓋教育價值、領域、安全和多語言等方面。通過詳細的注釋支持更有效的數據過濾和組合。
不同于之前在數據源或 domain 層面的優化數據組合的工作,通過帶有細粒度標簽的小模型上廣泛的消融實驗,在 instance-level 上對數據組合進行優化。
預訓練階段
qwen3經過 3 個階段的預訓練: Qwen3的預訓練分為三個階段,每個階段都有其特定的目標和策略:
- 通用階段(General Stage, S1):建立廣泛的語言知識和一般世界知識。使用超過30萬億個token,覆蓋119種語言和方言。序列長度:4096。模型在語言熟練度和一般知識方面得到充分預訓練。
- 推理階段(Reasoning Stage, S2):提高在科學、技術、工程、數學(STEM)和編碼等領域的推理能力。增加STEM、編碼、推理和合成數據的比例。序列長度:4096。加速學習率衰減,優化預訓練語料庫以提高推理能力。
- 長上下文階段(Long Context Stage):擴展模型的最大上下文長度。收集高質量的上下文數據,將上下文長度從4,096擴展到32,768個token。序列長度:32768。使用ABF技術增加RoPE的基礎頻率,引入YARN和Dual Chunk Attention以實現更長的上下文處理能力。
后訓練
后訓練的兩個核心目標:
- 思考控制(Thinking Control)):整合“非思考”和“思考”兩種模式,允許用戶選擇是否讓模型進行推理。用戶可以通過指定思考token的預算來控制思考過程的深度。
- 強到弱蒸餾(Strong-to-Weak Distillation):優化輕量級模型,通過從大型模型中提取知識來減少計算成本和開發工作量。包括離線蒸餾和在線蒸餾兩個階段,賦予輕量級模型基本的推理技能和模式切換能力。
后訓練pipline:
1. 長CoT冷啟動
Long-CoT Cold Start目的是通過高質量數據集和精簡訓練流程,讓模型初步掌握CoT推理能力。
數據集構建:
(1) Query 過濾(篩選高質量問題)? 移除低質量 query:使用 Qwen2.5-72B-Instruct 識別并剔除:不易驗證的 query(如含多個子問題、普通文本生成類問題)。 Qwen2.5-72B-Instruct 可直接回答的 query(無需 CoT 推理)。領域平衡:對 query 進行標注,確保數據集覆蓋多個領域,避免偏差。
(2) Response 過濾(篩選高質量答案)
- 初步篩選:保留一個驗證 query 集,用 QwQ-32B 生成 N 個候選 response。
- 人工評估:當 QwQ-32B 無法正確回答時,人工檢查 response 的準確性,并過濾掉:
- 錯誤答案(最終結果錯誤)。
- 大量重復內容。
- 無充分推理的猜測。
- 思考內容與總結內容表現不一致(邏輯矛盾)。
- 不適當語言混合/風格變化。
- 疑似與驗證集相似(防止數據泄露)。
- 嚴格篩選 positive Pass@N 的 query:進一步提高數據質量。
(3) 數據精選與訓練
- 從精煉后的數據集中挑選 子集 進行 初始冷啟動訓練,植入基礎推理模式。
- 控制數據量 & 訓練步數,避免過度擬合,為后續 RL 階段留出優化空間。
核心創新點 :數據集設計時已考慮 ??/think?
?? 和 ??/no_think?
? 模式,使模型能靈活切換推理方式。在訓練時,允許模型基于思考預算動態調整計算資源分配。
冷啟動后,模型進入 Reasoning RL 階段,利用 3995 個高質量 query-verifier 對 進行強化學習,進一步提升推理能力。
2.Reasoning RL
Reasoning RL 階段,Qwen3 通過 高質量 query-verifier 對 和 RL優化,進一步提升模型的推理能力,使其在數學、代碼、STEM 等復雜任務上表現更優。
Query-Verifier 設計標準
標準 | 說明 |
未在冷啟動階段使用過 | 避免數據重復,確保 RL 訓練的數據多樣性。 |
對冷啟動模型是可學習的 | 確保模型在 RL 階段仍有提升空間,避免過難或過易的問題。 |
盡可能具有挑戰性 | 提高模型的推理能力,使其能處理更復雜的邏輯和計算任務。 |
涵蓋廣泛的子領域 | 確保模型在不同任務(如數學、代碼、邏輯推理)上都能提升。 |
最終收集了 3995 個高質量的 query-verifier 對,用于 RL 訓練。
RL 訓練方法
??https://mp.weixin.qq.com/s/zBmVGXecSBOSxImJvBy7JA??
采用 GRPO 更新模型參數,并采用以下優化策略:
策略 | 說明 |
大 batchsize | 提高訓練穩定性,減少訓練波動。 |
大 rollout | 增加樣本多樣性,提升泛化能力。 |
off-policy 訓練 | 提高樣本效率,減少計算資源消耗。 |
此外,Qwen3 還解決了探索(exploration)與利用(exploitation) 的平衡問題: 控制模型熵的穩定增長或保持穩定,確保訓練過程不會過早收斂或陷入局部最優。
效果: 無需手動調整超參數,訓練過程中 reward 和驗證集表現持續提升。 Qwen3-235B-A22B 在 AIME'24 的得分從 70.1 提升至 85.1,僅用了 170 步 RL 訓練。
3.Thinking Mode Fusion(思考模式融合)
核心目標 :將 non-thinking(快速響應)能力整合到 thinking(復雜推理)模型中,使開發者能夠動態控制模型的推理行為,從而在不同任務需求下靈活切換模式,并保持高性能。
方法
(1) 繼續 SFT(監督微調)
- 基于 Reasoning RL 模型進行 SFT,進一步優化模型的推理和響應能力。
- 數據構造方式:
Thinking 數據:由第一階段的 query 拒絕采樣得到(確保高質量)。
Non-thinking 數據:涵蓋多樣化任務(代碼、數學、指令遵循、多語言、創意寫作、問答、角色扮演等),并增加 翻譯任務比例(提升低資源語言性能)。
數據質量評估:采用自動化生成的 checklists 確保數據質量。
(2) Chat Template 設計
- 引入?
?/think?
?? 和??/no_think?
? 標志,使用戶能動態控制模型的推理模式:
?? /think?
?:啟用推理模式(適合復雜任務)。
??/no_think?
?:啟用快速響應模式(適合簡單任務)。
- 默認模式:默認使用 thinking 模式,但允許靈活調整。
- 多輪對話支持:在復雜對話中,可隨機插入多個?
?/think?
?? 和??/no_think?
? 標志,模型按 最后遇到的標志 決定當前模式。
(3) Thinking Budget 機制Thinking Mode Fusion 的一個額外優勢是,一旦模型學會了以 non-thinking 和 thinking 兩種模式進行回應,就自然發展出處理中間情況的能力——基于不完整的思考生成 response。為實現對模型思考過程的預算控制提供基礎。當模型思考長度達到用戶定義的閾值時,手動停止思考過程,并插入停止思考指令:“Considering the limited time by the user, I have to give the solution based on the thinking directly now.\n.\n\n“。模型會基于此時積累的推理生成最終 response。這一能力沒有經過明確訓練,而是應用 thinking mode fusion 后自然出現的。
4.General RL(通用強化學習)階段
核心目標:全面提升Qwen3模型在不同場景下的能力與穩定性,使其能夠適應各種復雜任務需求,提供更優質的用戶體驗。
復雜的Reward System設計:
構建了一個涵蓋超過20個不同任務的復雜獎勵系統,每個任務都有定制化的評分標準,主要針對以下核心能力進行提升:
(1) 指令遵循:確保模型能準確解讀并遵循用戶指令。包括對內容、格式、長度以及結構化輸出使用等方面的要求。目標是提供符合用戶預期的回應。
(2) 格式遵循:期望模型遵守特定的格式規范。例如,根據??/think?
??和??/no-think?
?標志在思考與非思考模式之間切換。一致使用指定的標記來分離最終輸出中的思考和響應部分。
(3) 偏好對齊:關注提高模型的有用性、參與度和風格。最終目標是提供更加自然和令人滿意的用戶體驗。
(4) Agent能力:涉及訓練模型通過指定的接口正確調用工具。在RL rollout期間,模型被允許執行完整的多輪互動周期,并獲得真實環境執行的反饋。提高其在長期決策任務中的表現和穩定性。
(5) 特定場景能力:在更專業的場景中設計針對具體情境的任務。例如,在RAG(檢索增強生成)任務中,結合獎勵信號來指導模型生成準確且符合上下文的response。最小化產生幻覺的風險。
多樣化的獎勵類型為上述任務提供反饋,使用了三種不同類型的獎勵:
(1) Rule-based Reward:基于規則的獎勵機制。可以高準確性地評估模型輸出的正確性。 防止reward hacking等問題。
(2) Model-based Reward with Reference Answer:給每個query提供一個參考答案。使用Qwen2.5-72B-Instruct基于參考答案給模型的response打分。允許更靈活地處理多樣化任務,無需嚴格的格式命令。避免了rule-based reward的假陰性問題。
(3) Model-based Reward without Reference Answer:利用人類偏好數據,訓練一個Reward Model。為每個response提供標量分數。更加靈活地適應不同任務和場景的需求。
5.Strong-to-Weak Distillation(強到弱蒸餾)
核心目標:利用大模型(教師模型)的知識,優化小模型(學生模型)的性能,使其在計算資源有限的情況下,仍能保持較高的推理能力和多任務適應性。
- 5個Dense模型(0.6B、1.7B、4B、8B、14B)
- 1個MoE模型(Qwen3-30B-A3B)
蒸餾流程
(1) Off-policy Distillation(離線蒸餾) :利用大模型(教師模型)在 ??/think?
?? 和 ??/no_think?
? 模式下的輸出,初始化小模型的能力。
- 將教師模型在不同模式下的 response 作為“軟標簽”(soft labels)。
- 學生模型通過最小化與教師模型輸出的 KL 散度(Kullback-Leibler Divergence),學習大模型的推理模式。
(2) On-policy Distillation(在線蒸餾) :進一步優化學生模型,使其更適應特定任務。
- 學生模型生成 on-policy 數據(即學生模型自己采樣生成的數據)。
- 使用教師模型(Qwen3-32B 或 Qwen3-235B-A22B)的 logits 作為參考,調整學生模型的輸出分布。
- 最小化 KL 散度,使小模型的預測更接近大模型。
結果
- Qwen3 Dense Base 模型:在類似規模下,性能與 Qwen2.5 更大規模模型相當。
- Qwen3 MoE Base 模型: 僅用 1/5 的激活參數 就能達到與 Dense 模型相似的性能。 即使只有 Qwen2.5 Dense 模型 1/10 的激活參數,仍能保持可比性能。
實驗評測的一些表
表太多,看原文
四階段評測
本文轉載自??大模型自然語言處理?? 作者:余俊暉
