原文:https://zhuanlan.zhihu.com/p/1905735426339218114
技術報告:https://github.com/QwenLM/Qwen3/blob/main/Qwen3_Technical_Report.pdf
0 Abstruct
Qwen3 包含一系列旨在提升效能、效率和多語言能力的 LLM。
涵蓋 Dense 和 MoE 架構,參數規模從 0.6B 到 235B 不等。
Qwen3 的一個關鍵創新是將 thinking mode(用於複雜的多步推理)和 non-thinking mode(用於快速、上下文驅動的回應)整合到一個統一的框架中,並能夠基於使用者 query 或 chat templates 動態切換模式。消除了在聊天優化模型(如 GPT-4o)和推理專用模型(如 QwQ-32B)之間切換的需求。
同時,Qwen3 引入了一種思維預算機制,允許在推理過程中自適應地分配計算資源,平衡延遲和效能。
此外,透過利用旗艦模型的知識,在保證效能的條件下顯著降低了構建小模型所需的計算資源。
測試結果顯示 Qwen3 在程式碼生成、數學推理、Agent 等多個 benchmarks 上取得了 SOTA 的結果,相較於更大的 MoE 模型和閉源模型具有競爭力。
與之前的 Qwen2.5 相比,Qwen3 將多語言支援從 29 種擴展到 119 種語言和方言。
1 Introduction
Qwen3 的預訓練過程利用了一個含有約 36T tokens 的大規模數據集。
為了有效擴展訓練數據,採用了一個多模態方法:微調 Qwen2.5-VL 來從大量 PDF 文件中提取文本。
還使用特定領域的模型生產合成數據:Qwen2.5-Math 用於數學內容,Qwen2.5-Coder 用於程式碼相關數據。
預訓練過程採用三個階段策略:
第一階段,在約 30T tokens 上進行訓練,構建扎實的基礎通用知識。
第二階段,在知識密集型數據上進一步訓練,以增強科學、技術、工程、數學、程式碼等領域的推理能力。
第三階段,在長上下文數據上進行訓練,將最大上下文長度從 4096 增加到 32768。
後訓練也採用多階段策略,同時增強 thinking 和 non-thinking 兩種模式:
前兩個階段,透過在數學和程式碼任務上的 long CoT 冷啟動微調和 RL 來培養推理能力。
最後兩個階段,將帶有推理路徑和不帶有推理路徑的數據集合,形成一個統一的數據集進一步微調,使模型能夠有效處理這兩種型別的輸入。然後應用通用領域的 RL,提升大量下游任務上的表現。
對於小模型,採用 strong-to-weak 的蒸餾方法,利用更大模型的 off-policy 和 on-policy 知識轉移來增強小模型的能力。從更好的教師模型上蒸餾在效能和效率上顯著優於 RL。
在涵蓋多種任務和領域的綜合 benchmarks 上對預訓練和後訓練模型進行了評估。結果顯示,Qwen3 Base 預訓練模型取得了 SOTA 的表現。後訓練模型(不管是 thinking 還是 non-thinking 模式)在與目前領先的閉源模型(如 o1、o3-mini)和大型 MoE 模型(如 DeepSeek-V3)的競爭中表現出色。
Qwen3 在程式設計、數學、Agent 任務上表現尤為突出。例如,Qwen3-235B-A22B 在 AIME'24 上取得了 85.7分,在 AIME'25 上取得了 81.5 分,在 LiveCodeBench v5 上取得了 70.7 分,在 CodeForces 上獲得了 2056 分,在 BFCL v3 上獲得了 70.8 分。Qwen3 系列中的其他模型也表現出在類似規模下的強勁表現。
此外,觀察到增加 thinking tokens 的預算會使模型在各種任務上的表現持續提升。
2 Architecture
Qwen3 系列包括 6 個 Dense 模型(0.6B、1.7B、4B、8B、14B、32B)和 2 個 MoE 模型(Qwen3-30B-A3B 和 Qwen3-235B-A22B)。
Dense 模型架構與 Qwen2.5 相似,包含使用 GQA、SwiGLU、RoPE、RMSNorm with pre-normalization。移除了 Qwen2 中的 QKV-bias,在注意力機制中引入 QK-Norm 來確保穩定訓練。
MoE 模型與 Dense 模型共享相同的基础架构。與 Qwen2.5-MoE 一致,實現了細粒度專家分割。Qwen3 MoE 模型一共有 128 個專家,每個 token 啟動 8 個專家。與 Qwen2.5-MoE 不同的是,移除了共享專家。採用 global-batch 負載均衡 loss。這些架構和訓練創新顯著提升了在下游任務上的效能。
Qwen3 模型使用 Qwen 的 tokenizer,byte-level BPE,詞表大小 151669。
3 Pre-triaining
3.1 Pre-training Data
與 Qwen2.5 相比,顯著擴大了訓練數據的規模和多樣性。收集了兩倍大、涵蓋三倍多以上語言的預訓練 token。
所有的 Qwen3 模型在一個含有 119 種語言和方言,總共 36T tokens 的數據上進行訓練。
數據包括高品質的內容,涵蓋多個領域,如程式碼、STEM(科學、技術、工程、數學)、推理任務、書籍、多語言文本、合成數據。
為了進一步擴展預訓練語料庫,首先用 Qwen2.5-VL 對大量 PDF 型別的文件進行文本識別。之後利用 Qwen2.5 對識別出的文本進行精煉,提升品質。獲得了 T 級別的高品質 token。
此外,採用 Qwen2.5、Qwen2.5-Math、Qwen2.5-Coder 合成了 T 級別的不同格式的 tokens,包含教科書、問答、指令、程式碼片段等數十個領域。
最後,加入額外的多語言數據來進一步擴展語料。
開發了一個多語言數據標註系統,該系統已應用於大規模與訓練數據集,對超過 30T token 進行了標註,涵蓋 educational value、fields、domains、safety 等多個維度。這些詳細的標註支援了更有效的數據過濾和組合。
不同於之前在數據源或 domain 層面的最佳化數據組合的工作,透過帶有細粒度標籤的小模型上廣泛的消融實驗,在 instance-level 上對數據組合進行最佳化。
3.2 Pre-training Stage
Qwen3 經過了 3 個階段的預訓練:
General Stage(S1):4096 長度,在超過 30T token 上訓練。在這個階段,模型在涵蓋 119 種語言和方言的數據上全面預訓練了語言熟練度和一般世界知識。
Reasoning Stage(S2):增加 STEM、程式碼、推理、合成數據的比例來最佳化預訓練語料。在約 5T 高品質 token 上預訓練,4096 長度。在這一階段加速了學習率衰減。
Long Context Stage(S3):收集了高品質長上下文語料,所有模型都在 32768 長度上訓練了數百 B 的 token。75% 為 16384-32768 長度,25% 為 4096-16384 長度。使用 ABF 技術將 RoPE 的基頻從 10000 提升至 1000000。引入 YARN 和 DCK 來實現推理過程中序列長度容量的 4 倍增長。
基於上述三個預訓練階段探索用於預測最佳超參數(如 lr scheduler 和 batchsize)的 scaling law。透過大量實驗系統地研究了模型架構、訓練數據、訓練階段與最佳超參數之間的關係。最後為每個 Dense 和 MoE 模型設定預測的最佳的學習率策略和 batchsize策略。
3.3 Pre-training Evaluation
15 個 benchmarks:
General Tasks:MMLU (5-shot)、MMLU-Pro (5-shot, CoT)、MMLU-redux (5-shot)、BBH (3-shot, CoT)、SuperGPQA (5-shot, CoT)
Math & STEM Tasks:GPQA (5-shot, CoT)、GSM8K (4-shot, CoT)、MATH (4-shot, CoT)
Coding Tasks:EvalPlus (0-shot) (HumanEval、MBPP、Humaneval+、MVPP+ 的平均)、MultiPL-E (0-shot) (Python, C++, JAVA, PHP, TypeScript, C#, Bash, JavaScript)、MBPP-3shot、CRUX-O of CRUXEval (1-shot)
Multilingual Tasks:MGSM (8-shot, CoT)、MMMLU (5-shot)、INCLUDE (5-shot)
將 Qwen3 系列 Base 模型與 Qwen2.5、DeepSeek-V3、Gemma-3、Llama-3、Llama-4 進行比較。所有模型都使用相同的評估流程和廣泛使用的評估設定來確保公平比較。
評估結果摘要
(1) 與之前的開源 MoE 模型(如 DeepSeek-V3 Base、Llama-4-Maverick Base、Qwen2.5-72B-Base)相比,Qwen3-235B-A22B-Base 在大多數任務中表現更好,總參數或啟動參數顯著減少。
(2) 對於 Qwen3 MoE Base 模型,實驗結果顯示
相同的預訓練數據,MoE 模型僅用 1/5 的啟動參數就能達到與 Qwen3 Dense 模型相似的效能。
Qwen3 MoE Base 模型可以用不到 1/2 的啟動參數和更少的總參數優於 Qwen2.5 MoE Base 模型。
即使只有 Qwen2.5 Dense 模型 1/10 的啟動參數,Qwen3 MoE Base 模型也能達到可比的效能。
(3) Qwen3 Dense Base 模型整體效能與更多參數規模的 Qwen2.5 Base 模型相當。
4 Post-training
後訓練 pipeline 旨在實現兩個核心目標:
Thinking Control:整合 thinking 和 non-thinking 兩種不同的模式,讓使用者能夠靈活選擇模型是否進行推理,並透過指定思考的 token 預算來控制思考深度。
Strong-to-Weak Distillation:旨在簡化和最佳化小模型的後訓練流程。
直接將教師模型的輸出 logits 蒸餾到小模型中,可以保持對其推理過程細粒度控制的同時有效提升效能,消除了對每個小模型單獨進行 4 階段訓練的必要性。帶來了更好的 Pass@1 分數,同時也提高了模型的探索能力(體現在更好的 Pass@64 表現上)。與 4 階段訓練方法相比,只需要 1/10 的 GPU hours。
4.1 Long-CoT Cold Start
首先構建一個全面數據集,涵蓋包含數據、程式碼、邏輯推理、一般 STEM 問題等的廣泛類別。數據集中的每個問題都與經過驗證的參考答案或 code-based test cases 配對。這個數據集用於 long-CoT 的冷啟動。
數據集構建涉及兩個過濾過程:query 過濾 和 response 過濾。
query 過濾:使用 Qwen2.5-72B-Instruct 來識別並移除不易驗證的 query,包括含有多個子問題的 query 或者普通文本生成的 query。此外,排除 Qwen2.5-72B-Instruct 可以在不使用 CoT 推理的情況下正確回答的 query。此外,使用 Qwen2.5-72B-Instruct 標註每個 query 的領域,對數據集進行平衡。
response 過濾:保留一個驗證 query 集,之後使用 QwQ-32B 為每個剩餘的 query 生成 N 個候選 response。當 QwQ-32B 一致無法生成正確答案時,人工評估 response 的準確性。對於 positive Pass@N 的 query,採用更嚴格的過濾標準。(1) 產生錯誤最終答案的。(2) 包含大量重複的。 (3) 沒有充分推理的猜測。 (4) 思考內容與總結內容表現不一致的。 (5) 涉及不適當語言混合或風格變化。 (6) 疑似與潛在的驗證集過於相似的。
之後,從精煉數據集中精心挑選出一個子集用於推理模式的初始冷啟動訓練,植入基礎推理模式,確保不限制模型的潛力,允許後續的 RL 階段有更大的靈活和改進空間。這一階段數據數量和訓練步數盡量減少。
4.2 Reasoning RL
在 Reasoning RL 階段使用的 query-verifier 對必須滿足以下四個標準:
未在冷啟動階段使用過
對冷啟動模型是可學習的
盡可能具有挑戰性
涵蓋廣泛的子領域
最終收集了 3995 個 query-verifier 對,採用 GRPO 更新模型參數。
觀察到,使用大 batchsize、大 rollout 以及 off-policy 訓練來改善樣本效率對訓練過程是有益的。
還解決了如何透過控制模型的熵穩定增加或保持穩定來平衡 exploration 和 exploitation,這對於保持穩定訓練至關重要。
因此,在單次的 RL 中,無需對超參數進行任何手動干預,就實現了訓練 reward 和驗證集表現的一致提升。例如,Qwen3-235B-A22B 在 AIME'24 得分從 70.1 提升至 85.1,總共經過了 170 步的 RL 訓練。
4.3 Thinking Mode Fusion
Thinking 模式融合的目標是將 non-thinking 能力整合到先前開發的 thinking 模型中,讓開發者能夠管理和控制推理行為。
對 Reasoning RL 模型進行繼續 SFT,並設計了一個 chat template 來融合這兩種模式。並且發現能夠熟練處理這兩種模式的模型在不同的 thinking 預算下都表現良好。
Construction of SFT Data
SFT 數據集結合了 thinking 和 non-thinking 數據。
為了確保第二階段的模型不受額外 SFT 的影響,thinking 數據是由第一階段的 query 用第二階段的模型本身拒絕採樣得到的。
non-thinking 數據則經過精心設計,涵蓋多樣化任務,包含程式碼、數學、指令遵循、多語言任務、創意寫作、問答、角色扮演等。採用自動化生成的 checklists 來評估 non-thinking 的數據品質。特別增加了翻譯任務的比例來提升低資源語言任務的效能。
Chat Template Design
為了更好地整合兩種模型和能夠動態切換,為 Qwen3 設計了 chat template。
在使用者 query 或 system message 中引入 /think 和 /no_think 標誌使模型能根據使用者輸入選擇合適的思維模式。
對於 non-thinking 樣本,在 response 中保留一個空的思考塊,確保內部格式一致性。
預設是思考模型,因此增加了一下使用者 query 不包含 /think 標誌的 thinking 訓練樣本。
對於更複雜的多輪對話,在使用者 query 中隨機插入多個 /think 和 /no_think 標誌,模型 response 遵循最後遇到的標誌。
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. </think>. “。模型會基於此時累積的推理生成最終 response。這一能力沒有經過明確訓練,而是應用 thinking mode fusion 後自然出現的。
General RL
General RL 階段旨在廣泛提升模型在不同場景下的能力和穩定性。
構建了一個複雜的 reward system,涵蓋超過 20 個不同的任務,每個任務都有定製化的評分標準。這些任務針對以下核心能力的提升:
指令遵循:確保模型準確解讀並遵循使用者指令,包含與內容、格式、長度以及結構化輸出使用相關的需求,以提供符合使用者預期的回應。
格式遵循:期望模型遵守特定的格式規範。例如,根據 /think 和 /no-think 標誌在思考與非思考模式之間切換,並一致使用指定的標記來分離最終輸出中的思考和回應部分。
偏好對齊:關注於提高模型的有用性、參與度和風格,最終提供更加自然和令人滿意的使用者體驗。
Agent 能力:涉及訓練模型透過指定的介面正確呼叫工具。在 RL rollout 期間,模型被允許執行完整的多輪互動週期,並獲得真實環境執行的回饋,從而提高其在長期決策任務中的表現和穩定性。
特定場景能力:在更專業的場景中設計針對具體情境的任務。例如,RAG 任務中,結合獎勵訊號來指導模型生成準確且符合上下文的 response,從而最小化產生幻覺的風險。
為了給上述任務提供回饋,使用三種不同型別的獎勵:
(1) Rule-based Reward:Well-designed 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 提供標量分數。
4.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 蒸餾。
(2) On-policy Distillation:學生模型生成 on-policy 數據來微調。具體來說,以 /think 或 /no_think 模式對學生模型進行取樣,透過將其 logits 與教師模型(Qwen3-32B 或 Qwen3-235B-A22B)的 logits 對齊來微調,最小化 KL 散度。
4.6 Post-training Evaluation
大量表格詳見原始論文。
4.7 Discussion
The Effectiveness of Thinking Budget
為了驗證 Qwen3 是否可以透過利用增加的思考預算來提升其智慧水平,在數學、程式碼、STEM 領域的四個基準上調整了分配的思考預算。隨著預算不斷增加,思考模型表現出可擴展和平滑的效能提升。
The Effectiveness and Effciency of On-Policy Distillation
The Effects of Thinking Mode Fusion and General RL
評估 Thinking Mode Fusion (Stage3) 和 General RL (Stage4) 的有效性。額外加入幾個內部 benchmark,包含:
CounterFactQA:包含反事實問題,模型需要識別出問題反事實,避免生成幻覺答案。
LengthCtrl:包含由長度要求的創意寫作任務,最終得分基於生成內容長度與目標長度的差異。
ThinkFollow:涉及多輪對話,隨機插入 /think 和 /no_think 標誌,測試模型能否正確切換模式。
ToolUse:評估單輪、多輪、多步工具呼叫過程中的穩定性。得分包含工具呼叫意圖識別的準確性、格式準確性、參數準確性。