Qwen3:開源 LLM 的革新者與多語言先鋒
“ Qwen3 模型以其卓越的性能、效率和多語言能力,為開源大語言模型領域樹立了新的標桿,引領著技術發展的新潮流。”
大家好,我是肆〇柒。在 4 月底的時候 Qwen3 開源放出了權重,在熱火朝天開爐煉丹后的不久,上周三千問團隊又放出了 Qwen3 的技術報告,最近有點小忙,所以雖然第一時間閱讀了技術報告,但是一直沒有發文出來。可是,這么重要的模型,怎能不發一篇,所以,雖然遲也要發,不僅發,我還要補充一點官方渠道沒有的內容。
僅從技術報告來看,Qwen3 并不是一個簡單的迭代更新,而是一次全方位的技術升級。它在性能、效率以及多語言能力等多個關鍵維度實現了令人矚目的提升,為人工智能領域注入了全新的活力與可能性。憑借其卓越的代碼生成能力,它能夠精準理解開發者意圖,快速輸出高質量、可運行的代碼片段,極大地提升了編程效率;在數學推理方面,Qwen3 像是一位思維敏捷的數學家,能夠巧妙地處理復雜的公式與邏輯關系,為科研工作者和學生提供有力支持;而在智能體任務中,它又成為聰明能干的助手,高效協調各類資源,助力任務的順利完成。下面我們一起來閱讀這份報告吧
Qwen3 模型系列概述
模型架構與參數規模:構建強大的語言模型根基
Qwen3 模型家族陣容龐大,涵蓋了從參數規模 6 億到 2350 億不等的多種型號,充分滿足不同應用場景對模型容量與計算復雜度的多樣化需求。其中,尤為引人注目的是旗艦模型 Qwen3 - 235B - A22B,它以 2350 億的超大參數規模傲視群雄,然而,在實際推理過程中,平均每 token 僅激活 220 億參數,這種精妙的設計巧妙地平衡了模型性能與推理效率,使其既能展現出強大的語言理解和生成能力,又不會因過度的參數激活而陷入計算資源消耗的泥沼,為處理復雜多變的語言任務提供了堅實有力的保障。
為了更直觀地了解 Qwen3 模型架構,我們可以參考以下表格為密集模型架構各個型號:
模型名稱 | 層數 | 頭數 (Q / KV) | 是否綁定嵌入 | 上下文長度 |
Qwen3 - 0.6B | 28 | 16 / 8 | 是 | 32K |
Qwen3 - 1.7B | 28 | 16 / 8 | 是 | 32K |
Qwen3 - 4B | 36 | 32 / 8 | 是 | 128K |
Qwen3 - 8B | 36 | 32 / 8 | 否 | 128K |
Qwen3 - 14B | 40 | 40 / 8 | 否 | 128K |
Qwen3 - 32B | 64 | 64 / 8 | 否 | 128K |
以下為Qwen3 MoE 模型架構型號:
模型名稱 | 層數 | 頭數 (Q / KV) | 專家總數 / 激活專家數 | 上下文長度 |
Qwen3 - 30B - A3B | 48 | 32 / 4 | 128 / 8 | 128K |
Qwen3 - 235B - A22B | 94 | 64 / 4 | 128 / 8 | 128K |
思考模式與非思考模式的創新整合:靈動適應多樣化任務需求
Qwen3 在模式設計上展現出非凡的創新力,成功將思考模式與非思考模式融合于同一架構之下。思考模式猶如一位深思熟慮的學者,面對復雜問題時,會逐步進行多步推理,抽絲剝繭般探尋問題的本質與解決方案;而非思考模式則恰似敏捷果敢的行動派,依據已有上下文迅速做出判斷,生成簡潔直接的回應。
在實際應用中,用戶無需在不同模型間來回切換,只需通過簡單的指令或聊天模板的設置,即可在同一模型中實現模式的動態轉換。具體來說,Qwen3 設計了一種靈活的聊天模板機制,允許用戶通過特定的指令來指定模型使用思考模式或非思考模式。例如:
- 思考模式:用戶可以在查詢中添加
/think
標志,模型會自動進入思考模式,進行深度推理并生成詳細的思考過程和答案。例如:
用戶:{query} /think
助手:<think> {thinking content} </think>
{response}
- 非思考模式:用戶可以在查詢中添加
/no_think
標志,模型會自動進入非思考模式,快速生成簡潔的回應。例如:
用戶:{query} /no_think
助手:<think>
</think>
{response}
這種設計不僅允許用戶根據任務需求靈活切換模式,還確保了模型在不同模式下的表現一致性。默認情況下,模型會以思考模式運行,用戶可以通過添加特定標志來切換到非思考模式,從而實現對模型行為的精細控制。
通過這種靈活的模式切換機制,Qwen3 能夠在不同任務場景中自如穿梭,無論是需要深度推理的復雜問題,還是需要快速響應的簡單任務,都能提供高質量的服務,極大地提升了用戶體驗的流暢性與便利性。
思考預算機制:精細掌控計算資源分配的智慧策略
為了進一步優化模型性能與資源利用率,Qwen3 引入了獨具匠心的思考預算機制。在推理過程中,用戶可根據任務的復雜程度與實時需求,自適應地設定 token 預算,從而精準調控模型的思考深度。對于一些需要深度分析與多步推理的高難度問題,如復雜的數學建模或跨領域知識融合任務,用戶適當增加思考預算,賦予模型更多 “思考空間”,使其能夠充分展開邏輯推理,挖掘問題深層次的內涵;而對于相對簡單的任務,如日常閑聊、基礎信息查詢等,則可降低預算,促使模型快速生成簡潔回應,避免不必要的計算資源浪費。這一機制賦予了 Qwen3 極高的靈活性與可控性,使其能夠根據不同任務場景靈活調整資源分配,實現性能與效率的最優平衡,堪稱是模型智能化設計的點睛之筆。
思考預算機制允許用戶在模型推理時指定一個 token 預算。當模型的思考長度達到用戶設定的預算時,系統會自動停止思考過程,并插入一個停止思考的指令:“Considering the limited time by the user, I have to give the solution based on the thinking directly now.\n.\n\n”。之后,模型會基于已有的思考內容生成最終的回應。這種機制不僅確保了模型能夠在有限的時間內提供最優化的解決方案,還避免了因過度思考而導致的延遲問題,從而在保證性能的同時,有效控制了計算資源的消耗。
Qwen3-235B-A22B 在思考預算方面的表現
模型預訓練:海量數據與多階段策略鑄就卓越基礎
預訓練數據:構建多元豐富的知識寶庫
Qwen3 的預訓練之旅始于一個規模空前、內容多元的數據集,它匯聚了 36 萬億個 token,涵蓋了 119 種語言和方言,其數據來源之廣泛、內容之豐富令人驚嘆。從涵蓋編碼知識的專業文檔到涵蓋 STEM 領域前沿研究成果的學術論文,從充滿生活智慧的推理任務案例到包羅萬象的多語言文學作品,這些海量數據如同一座座知識的寶藏,為模型的學習與成長提供了取之不盡、用之不竭的養分。數據的多樣性確保了模型能夠接觸到各種風格、各種主題的語言表達,從而在語言理解與生成上具備廣泛的適應性,無論是處理專業領域的復雜文本,還是應對日常交流中的口語表達,都能游刃有余,展現出強大的語言駕馭能力。
為了進一步擴充預訓練數據,Qwen3 團隊采用了多種創新方法。首先,利用 Qwen2.5 - VL 模型對大量 PDF 文檔進行文本提取,隨后通過 Qwen2.5 模型對提取的文本進行質量優化,從而獲取了數萬億個高質量的文本 token。此外,團隊還借助 Qwen2.5 - Math、Qwen2.5 - Coder 等領域專用模型,生成了涵蓋數學、編程等多個領域的合成數據,進一步豐富了數據集的內容。最終,通過整合多語言數據和引入更多語言,Qwen3 的多語言支持能力從 Qwen2.5 的 29 種語言擴展到 119 種語言和方言,極大地提升了其在全球范圍內的應用潛力。
預訓練階段:循序漸進的深度學習之旅
Qwen3 的預訓練過程并非一蹴而就,而是精心設計為三個階段,每個階段都有其獨特的訓練目標與方法,層層遞進,逐步夯實模型的能力基礎。
在 通用階段 ,模型如同初入學堂的學生,沉浸在 30 萬億個 token 的知識海洋中,廣泛涉獵各種語言和主題,構建起扎實的語言熟練度和通用世界知識基礎。這一階段的訓練重點在于讓模型掌握語言的基本規則、詞匯的豐富含義以及句子的結構組成,使其能夠理解并生成符合語法規則、邏輯連貫的文本,為后續的深度學習奠定堅實根基。通過這一階段的訓練,Qwen3 在語言基礎能力上達到了一個新的高度,能夠處理各種常見的語言任務,如簡單的問答、文本摘要等。
隨后進入 推理階段 ,此時的 Qwen3 已經具備了一定的語言基礎,但為了進一步提升其解決復雜問題的能力,訓練團隊對數據集進行了優化調整,大幅增加了 STEM、編碼和合成數據的比例。這些數據猶如精心設計的思維訓練題,引導模型深入思考,鍛煉其邏輯推理、數學建模以及代碼理解等高級認知能力。在這一階段,Qwen3 通過大量復雜的推理任務訓練,逐步學會了如何分析問題、構建邏輯鏈條并找到解決方案,其推理能力得到了顯著提升,能夠處理更復雜的任務,如數學問題求解、編程代碼生成等。
最后是 長文本上下文階段 ,訓練團隊精心挑選了大量高質量的長文本語料,將模型的上下文長度擴展至 32,768 個 token。這一階段的訓練好比是鍛煉模型的 “長程記憶”,使其能夠處理更長、更復雜的文本段落,理解文本中的長距離依賴關系。同時,借助相關技術,模型的序列長度容量實現了四倍提升,這不僅極大地增強了其對長文本的處理能力,還為處理一些需要綜合考慮大量信息的任務,如長篇小說創作、復雜報告撰寫等,提供了有力支持,讓 Qwen3 在處理長文本任務時也能展現出色的性能。
預訓練模型的評估:以卓越表現彰顯實力
經過精心的預訓練,Qwen3 基礎語言模型在多項基準測試中大放異彩,充分展現了其卓越的性能。在通用任務測試中,Qwen3 在 MMLU(多任務語言理解)、MMLU - Pro(高級多任務語言理解)等多個權威基準上取得了領先成績,其對各種領域知識的掌握程度和語言表達的準確性遠超同類型模型;在數學與 STEM 任務方面,Qwen3 在 GPQA(高級問題解答)、GSM8K(小學數學應用題)等基準測試中表現優異,準確率大幅領先,充分證明了其強大的數學推理和科學知識理解能力;在編碼任務測試中,Qwen3 在 EvalPlus(多語言代碼生成評估)、MultiPL - E(多語言代碼生成)等基準上取得了令人矚目的成績,其生成代碼的準確性和可運行性得到了廣泛認可;而在多語言任務測試中,Qwen3 更是憑借其廣泛的語言支持和出色的跨語言理解能力,在 MGSM(多語言通用科學數學)、MMMLU(多語言多任務語言理解)等多語言基準測試中取得了優異成績,充分展現了其在多語言領域的強大競爭力。與 Qwen2.5 以及其他開源基礎模型相比,Qwen3 在各項測試中均展現出顯著的性能優勢,無論是參數規模、激活參數數量還是任務表現,都堪稱是開源大語言模型領域的新標桿,為后續的后訓練優化奠定了堅實基礎。
模型后訓練:深度優化與知識傳承的協同進化
后訓練目標:全方位提升模型性能與適應性
后訓練階段是 Qwen3 模型進一步提升性能、優化用戶體驗的關鍵環節。這一階段的核心目標是實現推理控制和強到弱的知識蒸餾,通過精心設計的訓練流程,讓模型在不同任務場景中展現出更出色的性能,同時將大型模型的先進知識有效傳遞給輕量級模型,實現模型家族的協同進化,提升整個模型體系的競爭力與實用性。
后訓練流程:多階段強化訓練塑造全能模型
后訓練流程分為多個階段,每個階段都針對特定的訓練目標和任務類型,采用不同的訓練方法和技術手段,逐步提升模型的綜合能力。
在 長鏈推理冷啟動階段 ,訓練團隊精心構建了一個全面且高質量的數據集,涵蓋了數學、代碼、邏輯推理以及 STEM 等多個領域的復雜問題,并為每個問題配備了經過驗證的參考答案或代碼測試用例。在數據篩選過程中,首先利用 Qwen2.5 - 72B - Instruct 模型對查詢進行過濾,剔除那些無法驗證、包含多個子問題或可以通過非推理方式輕松解答的查詢,確保數據集中的問題均具有一定的復雜性和挑戰性,能夠有效鍛煉模型的推理能力。隨后,通過 QwQ - 32B 模型生成候選答案,并經過嚴格的人工審核和篩選,進一步保證數據質量。最終,從篩選后的數據中挑選出一部分用于模型的初始冷啟動訓練,這一階段的訓練重點在于為模型灌輸基礎的推理模式,使其初步掌握如何思考和解決問題,為后續的強化學習奠定基礎。
Qwen3系列模型的后訓練流程
緊接著是 推理強化學習(Reasoning RL)階段 ,訓練團隊從冷啟動階段未使用過的數據中精心挑選出 3,995 個查詢 - 驗證器對,這些數據不僅具有挑戰性,還覆蓋了廣泛的子領域,能夠全面鍛煉模型的推理能力。在訓練過程中,采用 GRPO(基于梯度的強化學習優化)算法更新模型參數,通過設置大批次大小和高查詢次數,結合離線訓練提高樣本效率,同時巧妙地控制模型的熵,使其在探索和利用之間達到平衡,從而實現穩定且有效的訓練。經過這一階段的強化學習,模型在推理任務上的表現有了顯著提升,例如 Qwen3 - 235B - A22B 模型在 AIME’24 測試中的成績從 70.1 飆升至 85.1,充分證明了強化學習在提升模型推理能力方面的強大效果。
隨后進入 思考模式融合階段 ,這一階段的目的是將非思考能力整合到已經具備思考能力的模型中,實現兩種模式的無縫切換和協同工作。訓練團隊通過持續的監督微調(SFT)對推理 RL 模型進行優化,并精心設計了聊天模板,以支持兩種模式的融合。在 SFT 數據構建方面,結合了思考模式和非思考模式的數據,其中思考模式數據通過拒絕采樣從冷啟動階段的查詢中生成,而非思考模式數據則涵蓋了編碼、數學、指令遵循、多語言任務、創意寫作、問答和角色扮演等多種任務類型,確保模型在不同任務場景下都能表現出色。此外,為了提升模型在低資源語言任務上的性能,還特別增加了翻譯任務的比例。通過這一階段的訓練,模型不僅能夠靈活切換思考模式,還在多種任務上實現了性能提升,進一步增強了模型的實用性和適應性。
最后是 通用強化學習(General RL)階段 ,訓練團隊為模型設計了一個包含 20 多個任務的復雜獎勵系統,這些任務涵蓋了指令遵循、格式遵循、偏好對齊、智能體能力和特定場景能力等多個方面,期望全面提升模型在各種場景下的綜合能力和穩定性。在獎勵計算方面,采用了規則基礎獎勵、基于參考答案的模型基礎獎勵和無參考答案的模型基礎獎勵等多種方式,確保模型能夠準確理解并遵循用戶指令,生成符合格式要求、符合人類偏好的高質量回應。通過這一階段的訓練,模型在指令遵循、格式遵循、偏好對齊等任務上的表現有了顯著提升,例如在 IFEval(指令遵循評估)中的嚴格提示準確率和 Arena - Hard(高級競技場任務)中的表現均大幅提高,充分證明了通用強化學習在提升模型綜合性能方面的關鍵作用。
強到弱的知識蒸餾(Strong - to - Weak Distillation):高效傳承知識,優化輕量級模型
除了上述針對旗艦模型的深度優化訓練,Qwen3 還特別注重將大型模型的先進知識有效傳遞給輕量級模型,以實現整個模型家族的協同進化。通過強到弱的知識蒸餾技術,Qwen3 成功地將大型模型的推理能力和知識儲備高效地傳授給輕量級模型,使其在保持較小模型規模的同時,也能展現出強大的性能和推理能力。這一過程分為離線蒸餾和在線蒸餾兩個階段,在離線蒸餾階段,首先將大型教師模型在思考模式和非思考模式下生成的輸出 logits 傳遞給輕量級學生模型,為其提供豐富的知識引導;隨后,在在線蒸餾階段,學生模型根據這些知識引導生成自己的輸出,并通過與教師模型的 logits 對比,調整自身參數,最小化 KL 散度,從而實現知識的高效傳承。與傳統的強化學習方法相比,知識蒸餾不僅能夠顯著提升輕量級模型的性能,還能大幅減少訓練所需的 GPU 小時數,提高訓練效率,為輕量級模型的快速開發和優化提供了有力支持,確保了 Qwen3 模型家族在不同應用場景中的廣泛適用性和高效實用性。
模型性能與表現:全方位卓越成就開源新標桿
旗艦模型 Qwen3 - 235B - A22B 的卓越表現
Qwen3 - 235B - A22B 作為 Qwen3 模型家族中的旗艦型號,在多個領域的表現堪稱卓越,充分展現了其作為開源大語言模型新標桿的強大實力。在思考模式下,它在 AIME’24 和 AIME’25 這兩場極具挑戰性的數學競賽模擬測試中分別取得了 85.7 和 81.5 的優異成績,這一成績不僅在開源模型中遙遙領先,甚至與一些封閉源代碼的頂尖模型相比也毫不遜色,充分證明了其在數學推理領域的強大能力。在 LiveCodeBench v5(代碼生成與執行測試)中,它以 70.7 的高分展現了出色的代碼生成能力,能夠準確理解編程任務需求并生成高質量、可運行的代碼,為開發者提供了有力的輔助工具。此外,在 BFCL v3(智能體任務測試)中,它也取得了 70.8 的高分,表明其在智能體任務中的出色表現,能夠高效協調資源、完成復雜任務,展現出強大的智能體能力。
在非思考模式下,Qwen3 - 235B - A22B 的表現同樣出色。在 MMLU - Redux(多任務語言理解測試)中,它以 87.81 的高分證明了其在通用語言理解任務上的卓越性能,能夠準確理解并回答各種領域的問題;在 GPQA - Diamond(高級問題解答測試)中,它取得了 44.06 的成績,展現了其在處理復雜問題時的高效能力;在 SuperGPQA(超級問題解答測試)中,它以 88.87 的高分再次證明了其在問題解答領域的強大實力。這些成績不僅展示了 Qwen3 - 235B - A22B 在不同任務場景下的全面性,更凸顯了其在開源大語言模型領域的領先地位,無論是在思考模式還是非思考模式下,都能為用戶提供高質量、高效率的服務,滿足多樣化的應用需求。
其他 Qwen3 模型的亮眼表現
除了旗艦模型 Qwen3 - 235B - A22B 外,Qwen3 模型家族中的其他成員也均展現出色的性能,各自在不同基準測試中取得了優異成績,充分證明了 Qwen3 模型體系的全面性和競爭力。如下表為 Qwen3 模型性能對比
模型名稱 | 思考模式 | 非思考模式 |
Qwen3 - 32B | 65.54 (MMLU - Pro) | 89.2 (MMLU - Redux) |
Qwen3 - 30B - A3B | 61.49 (MMLU - Pro) | 81.38 (MMLU - Redux) |
Qwen3 - 14B | 56.73 (MMLU - Pro) | 82.63 (MMLU - Redux) |
Qwen3 - 8B | 52.70 (MMLU - Pro) | 79.54 (MMLU - Redux) |
Qwen3 - 4B | 42.71 (MMLU - Pro) | 72.99 (MMLU - Redux) |
Qwen3 - 1.7B | 36.76 (MMLU - Pro) | 62.63 (MMLU - Redux) |
Qwen3 - 0.6B | 24.74 (MMLU - Pro) | 54.47 (MMLU - Redux) |
模型的多語言能力:全球視野下的語言革新
多語言支持的擴展:跨越語言障礙,擁抱全球用戶
在全球化的今天,語言的多樣性既是文化交流的豐富源泉,也是技術應用的一大挑戰。Qwen3 模型在多語言支持方面的顯著提升,無疑是其技術革新的一大亮點。與前代 Qwen2.5 模型相比,Qwen3 的多語言支持范圍從 29 種語言大幅擴展至 119 種語言和方言,這一跨越式的增長使其能夠更好地滿足全球用戶的多樣化語言需求,極大地增強了其在全球范圍內的可訪問性和實用性。無論是英語、中文、西班牙語等使用人數眾多的主流語言,還是一些相對小眾的語言和方言,Qwen3 都能夠提供高質量的語言理解和生成服務,為不同語言背景的用戶搭建起溝通與交流的橋梁,讓技術的紅利惠及更廣泛的人群。
下表為 Qwen3 支持的語言家族和語言代碼
語言家族 | 語言數量 | 語言代碼 |
印歐語系 | 40 | por Latn, deu Latn, tgk Cyrl, ces Latn, nob Latn, dan Latn, snd Arab, spa Latn, isl Latn, slv Latn, eng Latn, ory Orya, hrv Latn, ell Grek, ukr Cyrl, pan Guru, srp Cyrl, npi Deva, mkd Cyrl, guj Gujr, nld Latn, swe Latn, hin Deva, rus Cyrl, asm Beng, cat Latn, als Latn, sin Sinh, urd Arab, mar Deva, lit Latn, slk Latn, ita Latn, pol Latn, bul Cyrl, afr Latn, ron Latn, fra Latn, ben Beng, hye Armn |
漢藏語系 | 3 | zho Hans, mya Mymr, zho Hant |
閃含語系 | 8 | heb Hebr, apc Arab, acm Arab, ary Arab, ars Arab, arb Arab, mlt Latn, erz Arab |
南島語系 | 7 | ilo Latn, ceb Latn, tgl Latn, sun Latn, jav Latn, war Latn, ind Latn |
達羅毗荼語系 | 4 | mal Mlym, kan Knda, tel Telu, tam Taml |
突厥語系 | 4 | kaz Cyrl, azj Latn, tur Latn, uzn Latn |
臺 - 卡岱語系 | 2 | tha Thai, lao Laoo |
烏拉爾語系 | 3 | fin Latn, hun Latn, est Latn |
南亞語系 | 2 | vie Latn, khm Khmr |
其他 | 7 | eus Latn, kor Hang, hat Latn, swh Latn, kea Latn, jpn Jpan, kat Geor |
多語言任務評估:以卓越表現證明實力
為了全面評估 Qwen3 在多語言任務上的性能表現,訓練團隊精心挑選了一系列具有代表性的多語言基準測試,涵蓋指令遵循、知識理解、數學推理和邏輯推理等多個方面。在 Belebele 基準測試中,Qwen3 面對 80 種語言的自然語言理解挑戰,展現出卓越的跨語言能力,其成績與同樣規模的 Gemma 模型不相上下,而遠超前代 Qwen2.5 模型,充分證明了其在多語言領域的強大競爭力。在 Multi - IF(多語言指令遵循)測試中,Qwen3 在多種語言上均取得了優異成績,例如在西班牙語、法語、葡萄牙語等常用語言上,其準確率均超過 70%,表明其能夠準確理解并遵循不同語言的指令,為用戶提供符合要求的服務。在 MMMLU(多語言多任務語言理解)測試中,Qwen3 在 14 種語言上取得了平均 86.7 的高分,充分展現了其在多語言知識理解方面的強大能力,無論是科學知識、文化常識還是專業領域知識,Qwen3 都能夠準確理解和回答。在 MT - AIME2024(多語言數學競賽模擬測試)中,Qwen3 在 55 種語言上展現了出色的數學推理能力,其平均成績達到 80.8,證明了其能夠跨越語言障礙,準確解答復雜的數學問題。在 PolyMath(多語言數學推理)測試中,Qwen3 在 18 種語言上取得了平均 54.7 的成績,進一步證明了其在數學領域的強大跨語言推理能力。在 MLogiQA(多語言邏輯推理)測試中,Qwen3 在 10 種語言上取得了平均 77.1 的成績,表明其能夠準確理解并解答不同語言的邏輯推理問題,展現出強大的邏輯思維能力。
這些多語言基準測試成績充分證明了 Qwen3 在多語言理解和生成能力方面的強大實力,無論是在指令遵循、知識理解還是數學和邏輯推理等復雜任務上,Qwen3 都能夠以多種語言為用戶提供高質量的服務,真正實現了技術的全球化應用,為不同語言背景的用戶帶來了前所未有的便利和高效體驗。
Qwen3 的未來研究方向:持續探索,引領技術前行
盡管 Qwen3 已經取得了令人矚目的成就,但技術的進步永無止境。根據論文描述,Qwen3 的未來研究方向主要集中在以下幾個關鍵領域,希望進一步提升模型性能,拓展其應用范圍,為人工智能的未來發展提供更強大的動力。
擴大預訓練數據規模與多樣性
數據是語言模型的基石,Qwen3 團隊計劃繼續擴大預訓練數據的規模和多樣性。通過引入更多高質量、多領域的數據源,模型將能夠接觸到更廣泛的知識和語言表達方式,從而進一步提升其語言理解和生成能力。例如,增加跨學科領域的專業數據,如醫學、法律、金融等,將使模型在這些特定領域的表現更加專業和精準;同時,引入更多低資源語言的數據,將進一步提升 Qwen3 在全球范圍內的語言覆蓋能力,為更多小眾語言用戶提供更好的服務。此外,數據的多樣性還將包括不同風格、不同語境的文本,如文學作品、新聞報道、社交媒體對話等,使模型能夠更好地適應各種語言風格和應用場景,生成更加自然、貼合語境的文本內容。
改進模型架構與訓練方法
為了進一步提升模型的性能和效率,Qwen3 團隊將致力于改進模型架構和訓練方法。一方面,通過優化神經網絡的結構設計,如引入更高效的注意力機制、改進的歸一化方法等,模型將能夠更有效地處理大規模數據和復雜任務,同時降低計算資源消耗。例如,研究新型的自注意力機制,使其在捕捉長距離依賴關系時更加高效,同時減少計算復雜度;探索更先進的歸一化技術,以提高模型的訓練穩定性和收斂速度。另一方面,團隊還將探索更先進的訓練策略,如動態調整學習率、采用更優化的優化算法等,以進一步提升模型的訓練效果和性能表現。例如,根據訓練過程中的不同階段和任務特點,動態調整學習率,使其在模型收斂初期快速下降,在后期精細調整,以達到更好的訓練效果;研究新型的優化算法,如基于動量的優化方法或自適應學習率優化算法,以提高模型在大規模數據集上的訓練效率和收斂速度。
增加強化學習的計算資源投入
強化學習在提升模型的推理能力和智能體任務表現方面具有重要作用。為了進一步挖掘強化學習的潛力,Qwen3 團隊計劃增加在強化學習方面的計算資源投入。通過擴大強化學習的訓練規模,模型將能夠更充分地與環境進行交互,學習到更有效的策略和行為模式,從而在復雜任務中表現出更高的智能水平。例如,在智能體任務中,增加強化學習的計算資源將使模型能夠更好地學習如何在動態環境中做出最優決策,完成復雜的任務目標;在數學推理和邏輯推理任務中,強化學習將有助于模型進一步提升其推理能力和解題技巧,生成更準確、更高效的解決方案。此外,團隊還將探索如何將強化學習與現有的預訓練和后訓練流程更緊密地結合,實現模型性能的全面提升,為人工智能的未來發展提供更強大的技術支持。
總結
Qwen3 作為開源模型領域的明星模型,憑借其在性能、效率和多語言能力上的全方位提升,以及一系列創新性的技術設計和優化策略,已經在人工智能領域樹立了新的標桿。它不僅在代碼生成、數學推理、智能體任務等多個關鍵領域展現出卓越的性能,為相關行業的技術發展和應用創新提供了強大動力;而且其廣泛的多語言支持能力,極大地拓展了其在全球范圍內的應用前景,為不同語言背景的用戶帶來了前所未有的便利和高效體驗。
我讀完 Qwen3 技術報告,從模型架構設計來看,Qwen3 將思考模式與非思考模式巧妙融合,這種創新的架構理念,極大地提升了模型的靈活性和適應性,使其能夠根據不同任務需求靈活切換模式,為用戶提供更加精準、高效的服務。同時,思考預算機制的引入,更是體現了 Qwen3 在資源管理上的智慧,它讓用戶能夠根據實際需求精準控制模型的思考深度,既避免了資源浪費,又確保了模型在復雜任務中的出色表現。
在預訓練階段,Qwen3 所采用的龐大且多元的數據集,以及精心設計的多階段訓練策略,為模型奠定了堅實的知識基礎。36 萬億個 token 的數據規模,涵蓋了 119 種語言和方言,如此豐富多樣的數據,讓模型在語言理解和生成上具備了強大的通用性和適應性。從通用階段的語言基礎構建,到推理階段的專項能力提升,再到長文本上下文階段的長距離依賴關系學習,這一循序漸進的訓練過程,充分體現了 Qwen3 團隊對模型成長規律的深刻理解,也為后續的后訓練優化提供了有力支撐。
后訓練階段的深度優化也很吸引眼球。從長鏈推理冷啟動到推理強化學習,再到思考模式融合和通用強化學習,以及強到弱的知識蒸餾,這一系列復雜而精細的訓練流程,全方位地提升了模型的性能和穩定性。尤其是知識蒸餾技術的應用,不僅讓輕量級模型能夠繼承大型模型的先進知識,還大幅提高了訓練效率,這種對模型家族整體性能提升的系統性思考和優化策略,還是讓人期待Qwen3 的實際落地表現的。
在性能表現方面,Qwen3 無論是旗艦模型還是其他不同規模的型號,均在多項基準測試中取得了優異成績,充分證明了其在代碼生成、數學推理、智能體任務和多語言能力等多個關鍵領域的強大實力。
其實,整個技術報告中,最令我開心的就是關于思考與非思考模式的切換,以及思考預算這兩個特性。對于思考模式的切換這個 trick,設計的很巧妙,學習到了。而對于思考預算,是我對行業推理類模型的一個預判,并且我曾發過一篇文,里面也提到過思考預算的基本訓練原理。正因為此,當我看到 Qwen3 的技術報告中說明,Qwen3 支持思考預算,這與我的預判產生了共鳴。看上去一切都很美好,此時應有轉折,然鵝,我并沒有從任何官方渠道,包括技術報告中,找到如何使用思考預算的方式。所以借助強大的網絡,看到已經有人代碼推理嘗試了思考預算(thinking Budget)。如下:
如何推理“Thinking Budget”
要實現思考預算,需要對 Qwen3 的推理代碼做一些手動改變。transformers
有一個稱為 LogitProcessor
的類,正如其名,它將在 model.generate()
期間對 logits 執行一些邏輯
#| filename: thinking_budget_processor.py
#| language: python
from transformers.generate import LogitsProcessor
class ThinkingTokenBudgetProcessor(LogitsProcessor):
"""
A processor where after a maximum number of tokens are generated,
a </think> token is added at the end to stop the thinking generation,
and then it will continue to generate the response.
"""
def __init__(self, tokenizer, max_thinking_tokens=None):
self.tokenizer = tokenizer
self.max_thinking_tokens = max_thinking_tokens
self.think_end_token = self.tokenizer.encode("</think>", add_special_tokens=False)[0]
self.nl_token = self.tokenizer.encode("\n", add_special_tokens=False)[0]
self.tokens_generated = 0
self.stopped_thinking = False
self.neg_inf = float('-inf')
def __call__(self, input_ids: torch.LongTensor, scores: torch.FloatTensor) -> torch.FloatTensor:
self.tokens_generated += 1
if self.max_thinking_tokens == 0 and not self.stopped_thinking andself.tokens_generated > 0:
scores[:] = self.neg_inf
scores[0][self.nl_token] = 0
scores[0][self.think_end_token] = 0
self.stopped_thinking = True
return scores
if self.max_thinking_tokens isnot None and not self.stopped_thinking:
if (self.tokens_generated / self.max_thinking_tokens) > .95:
scores[0][self.nl_token] = scores[0][self.think_end_token] * (1 + (self.tokens_generated / self.max_thinking_tokens))
scores[0][self.think_end_token] = (
scores[0][self.think_end_token] * (1 + (self.tokens_generated / self.max_thinking_tokens))
)
if self.tokens_generated >= (self.max_thinking_tokens - 1):
ifself.tokens_generated == self.max_thinking_tokens-1:
scores[:] = self.neg_inf
scores[0][self.nl_token] = 0
else:
scores[:] = self.neg_inf
scores[0][self.think_end_token] = 0
self.stopped_thinking = True
return scores
以下是一段測試代碼,這只是把這段思考預算的邏輯塞到了 transformers
,但是這也應該適用于 vllm(或者可以輕松轉換為 vllm):
from transformers import AutoTokenizer, pipeline
messages = [
{"role": "system", "content": "When answering questions, always only respond with only the correct answer, no explanation or other text is required."},
{"role": "user", "content": "What is the square root of 2722?"},
]
tokenizer = AutoTokenizer.from_pretrained("/mnt/models/Qwen3-0.6B")
processor = ThinkingTokenBudgetProcessor(tokenizer, max_thinking_tokens=100)
pipe = pipeline(
"text-generation", model="/mnt/models/Qwen3-0.6B", max_new_tokens=1500, logits_processor=[processor], device=0
)
print(pipe(messages)[0]["generated_text"][-1]["content"])
注意: max_new_tokens
需要大于 max_thinking_tokens
,否則它只會思考然后結束。使用0:
</think>
The square root of 2722 is approximately 52.18.
在 100 個 token 時:
<think>
Okay, so I need to find the square root of 2722. Hmm, let's think. I remember that the square root of a number is a value that, when multiplied by itself, gives the original number. So, I need to find a number that, when multiplied by itself, equals 2722.
First, maybe I should check if 2722 is a perfect square. I know that perfect squares are numbers that can be
</think>
2722
在 300 個 token 時:
<think>
Okay, so I need to find the square root of 2722. Hmm, let's think. I remember that the square root of a number is a value that, when multiplied by itself, gives the original number. So, I need to find a number that, when multiplied by itself, equals 2722.
First, maybe I should check if 2722 is a perfect square. I know that perfect squares are numbers that can be expressed as a product of two equal integers. For example, 16 is 4 squared because 4*4=16. But 2722... Let me think of some numbers near the square root of 2722.
Wait, the square root of 2722. Let me approximate it. The square of 50 is 2500, and the square of 52 is 52*52 = 2704. Oh, right! 52 squared is 2704. Then 53 squared would be 53*53. Let me calculate that. 50*50=2500, 50*3=150, 3*50=150, and 3*3=9. So adding those up: 2500 + 150 + 150 + 9
</think>
2722
在 600 個 token 時:
<think>
Okay, so I need to find the square root of 2722. Hmm, let's think. I remember that the square root of a number is a value that, when multiplied by itself, gives the original number. So, I need to find a number that, when multiplied by itself, equals 2722.
First, maybe I should check if 2722 is a perfect square. I know that perfect squares are numbers that can be expressed as a product of two equal integers. For example, 16 is 4 squared because 4*4=16. But 2722... Let me think of some numbers near the square root of 2722.
Wait, the square root of 2722. Let me approximate it. The square of 50 is 2500, and the square of 52 is 52*52 = 2704. Oh, right! 52 squared is 2704. Then 53 squared would be 53*53. Let me calculate that. 50*50=2500, 50*3=150, 3*50=150, and 3*3=9. So adding those up: 2500 + 150 + 150 + 9 = 2709. Oh, so 53 squared is 2709. Then 54 squared would be 54*54. Let me calculate that. 50*50=2500, 50*4=200, 4*50=200, and 4*4=16. Adding those: 2500 + 200 + 200 + 16 = 2916.
So, 53 squared is 2709, and 54 squared is 2916. The original number is 2722. That's between 53 and 54. Let me check 53.5 squared. Maybe I can use a better approximation. Alternatively, since 53^2=2709 and 54^2=2916, the difference between 2722 and 2709 is 13. So, 2722 - 2709 = 13. So, approximately, the square root is 53 + (13)/(2*53) by linear approximation. Let me calculate that. 13 divided by 106 is approximately 0.122. So, approximately 53.122. But since we need
</think>
53.122
為什么思考預算如此重要?自 inference-time-scaling 在 GPT-O1 模型上成功實踐,并且 DeepSeek 開源了 R1 模型的訓練方法之后,眾多模型廠商以及垂直領域的 AI 業務公司紛紛開始采用這一推理范式。Reason Model 的推理效果固然出色,但其代價是消耗大量的時間和算力。然而,在實際應用模型時,并非所有場景都需要復雜的推理步驟。因此,如果能夠通過思考預算進行控制,那么 Agent 就能夠具備更好的推理自適應能力。這不僅能夠節省算力,還能提升響應效率,從而為用戶提供更優質的體驗。在這里,我想大膽地做出一個判斷:無論是思考預算本身,還是思考與非思考模式之間的靈活切換這種雙模式融合的架構,或許都只是語言模型發展過程中的一個過渡階段。從長遠來看,隨著技術的不斷進步,我相信頂尖的研究者和模型廠商將能夠開發出更加智能的模型。這些模型將能夠像人類一樣,根據不同的場景自動判斷何時需要深度推理,何時可以直接快速反饋用戶,從而實現真正的自適應思考模式。
參考資料
- Qwen3 Technical Repor:thttps://arxiv.org/abs/2505.09388
- about thinking budget solution:https://muellerzr.github.io/til/end_thinking.html