
深入解析 Granite 4.2:推理模型的構建之道
AI 模型若要具備真正的推理能力,光靠參數堆疊已經不夠。IBM 推出的 Granite 4.2 系列試圖解決這個問題,重點在於強化模型處理複雜任務、工具調用以及代理(Agentic)行為的表現。
什麼是 Granite 4.2?
Granite 4.2 是該系列中首個專注於推理的稠密型(Dense)、純解碼器(Decoder-only)架構模型,提供 3B、8B 及 30B 三種尺寸。
在能力分佈上,這三種尺寸皆原生支援靈活的「思考」機制:面對簡單請求時,模型可關閉思考或採用低負擔模式(Low-effort Mode)以節省推理預算與時間;而面對複雜問題時,則會自動啟動完整的鏈式思維(Chain-of-Thought),於 <think>...</think> 標籤內進行逐步推理後再輸出答案。
然而,不同尺寸間最核心的差異並非思考機制,而是「代理能力(Agentic Capability)」。全系列中僅有 8B 和 30B 模型 在 post-training 中經歷了專門的「代理強化學習(Agentic RL)」階段,使其能夠在真實的沙盒環境中編輯程式碼、操作終端機以及進行網頁搜尋;而 3B 模型則屬於強大的基礎推理模型,並未包含此代理 RL 模組。
架構設計
Granite 4.2 採用了高效能 Transformer 架構的先進配置,以確保訓練與推理的極致效率:
- 注意力機制:全系列採用分組查詢注意力(Grouped Query Attention, GQA)。3B 模型配置 40 個注意力頭與 8 個 KV 頭;而 8B 與 30B 模型則配置 32 個注意力頭與 8 個 KV 頭。此設計在維持模型表達能力的同時,顯著降低了推理時的顯存(VRAM)佔用。
- 位置編碼:採用旋轉位置編碼(Rotary Position Embedding, RoPE),並將 Base Theta ($\theta$) 設為極高的 10,000,000(一千萬),以穩健支援超長序列資訊。
- 激活函數:使用 SwiGLU 提升前饋網路(FFN)的表達能力。
- 歸一化:採用 RMSNorm($\epsilon = 1\times 10^{-5}$)。
- 數值精度:全系列採用 bfloat16,確保萬億級 Token 訓練與部署時的數值穩定性。

從 15 兆 token 開始:預訓練策略
模型能力的底蘊源自龐大的預訓練資料。Granite 4.2 基於先前的 Granite 4.1 Base 模型進行構建。在預訓練階段,IBM 採用了五階段策略,從基礎資料吸收開始,並在第三與第四階段引入資料退火(Annealing)技術精煉內容,累計訓練高達 15 兆(15T)Token。
在前四階段中,模型原生支援 128K(131,072)的序列長度;而在最後的第五階段,IBM 專注於長上下文訓練,將上下文視窗成功擴展至 512K Token。這讓模型能一次性輕鬆處理極長的文件、歷史對話或完整的程式碼庫,這對於需要綜觀專案全貌的代理任務至關重要。
監督式微調(SFT)的品質控管
在 SFT 階段,IBM 使用了約 100B Token 的高品質微調資料(共 720 萬個樣本),其中約 65B Token 為可訓練資料。該語料庫包含 31.6% 的代理行為軌跡(涵蓋 69% 的軟體工程、12.1% 的工具調用、8.0% 的終端操作等)與 68.4% 的非代理多學科任務。
為了最大程度減少幻覺並確保微調品質,IBM 實施了嚴格的控管措施:
- 裁判模型審核(LLM-as-a-Judge):引入大型語言模型 GPT-OSS-120B 與 Gemma 4 作為裁判,自動評估並剔除低評分、包含幻覺/虛假資訊、或包含無效工具調用的樣本。
- 標準化格式:將不同來源與框架(如 OpenHands、SWE-agent)的資料統一 reformat 為一致的 OpenAI Chat 對話格式,使對話結構與工具互動保持一致。
- 全域去重:針對工具定義(Tools)與訊息欄位(Messages)計算 SHA-256 哈希值,實施跨資料夾與內部的全域去重,避免重複樣本導致模型產生偏見。
特別針對旗艦級的 30B 模型,IBM 還進行了第二階段的 SFT 微調,針對性地對代理、軟體工程(SWE)與程式碼資料進行上採樣(Upsampling),在保留原有通用能力的同時,進一步榨乾模型在代理開發上的潛力。
多階段強化學習:學會「做事」
Granite 4.2 最核心的技術突破在於 SFT 之後的多階段、多環境強化學習(Staged RL Pipeline)。IBM 並非採用單次 RL 訓練,而是針對數學、程式碼、工具使用等不同領域,設計了一連串暖啟動(Warm-start)的 RL 鏈結。
其關鍵技術亮點包括:
- 非同步 GRPO 演算法:訓練全面採用非同步的群體相對策略優化(Group Relative Policy Optimization, GRPO)演算法。在 NeMo-RL 訓練端與 NeMo-Gym 環境端之間,生成器與訓練器分屬不同 GPU 池且互不阻塞。即使生成器在 rollout 途中接收到引數更新,也能無縫複用 KV 快取(KV Cache),大幅提升了大規模訓練效率。
- 留一法(Leave-one-out)基準:GRPO 的優勢函數計算採用「留一法」基準,將每個樣本的獎勵與同一個 Prompt 下其他生成樣本的平均獎勵進行對比,從而完全省去了傳統 RLHF 中極耗顯存的獨立價值網路(Value Network)。
- 真實沙盒環境實踐(僅限 8B 與 30B):在 SFT 後的代理 RL 模組中,8B 與 30B 模型會在真實的沙盒環境中與工具互動:
- SWE 代理(軟體工程):在獨立的 Docker 容器中,利用 OpenHands 框架讀取程式碼、編輯檔案並執行測試套件,根據「隱藏單元測試是否通過」給予客觀、可驗證的獎勵。
- 終端代理(系統操作):在 live shell 環境中透過 Terminus-2 框架執行系統指令、觀察輸出並從錯誤中自我修復,其 rollout 可長達 64 步。
- 搜尋代理(深度研究):在瀏覽器代理中執行多跳(Multi-hop)網頁搜尋、彙整證據,最終答案由 LLM 裁判進行評分。
- 對齊與長度懲罰(RLHF):全系列模型在最後皆會進行一輪 RLHF 以確保人機偏好與安全性。此階段除了使用生成式獎勵模型(GenRM)與安全過濾器外,還引入了「推理長度懲罰」,以抑制模型在前期訓練中學到的過度冗長、囉唆的推理習慣。
常見問題
Q:推理模式(Thinking Mode)會影響速度嗎?
A:會。啟用思考模式時,模型會先生成鏈式思維步驟(CoT),這會增加首字輸出延遲(TTFA)並產生額外的 Token 生成時間,但這對於確保複雜任務的準確性是必要的。對於不需要深度思考的簡單請求,建議將 enable_thinking 設為 False 以追求極速回應,或啟用 low_effort=True 的低負擔思考模式。
Q:在部署與調用 Granite 4.2 時,有哪些關鍵的超參數設定?
A:非常重要! 官方強烈建議,不論是在進行一般對話、複雜推理還是工具呼叫,在所有服務後端(如 vLLM、SGLang)均須將 Temperature 設為 1.0,且 Top-p 設為 0.95。此外,若啟用了 Thinking 模式,建議將 max_new_tokens 提高至 8192;若為 Non-thinking 模式,則設為 2048 即可。
Q:模型支援工具呼叫(Tool Calling)嗎?
A:支援。Granite 4.2 原生支援符合 OpenAI 函式呼叫標準(Function Calling Schema)的工具調用。在進行工具調用時,模型會將其內建的推理機制與工具結合,先「思考」為何需要調用該工具,再精準輸出 <tool_call> 標籤,與現有的代理框架(如 vLLM 中的 qwen3_coder 解析器)完美相容。
Q:模型授權方式為何?商業應用安全嗎? A:全系列 Granite 4.2 模型(3B, 8B, 30B)均採用極為友好的 Apache 2.0 授權。IBM 對預訓練資料進行了嚴格的合規與安全篩選,學術研究與商業應用皆可完全自由、無限制地免費使用。
Q:如何開始使用與部署? A:
- 模型下載:您可以前往 Hugging Face 上的 Granite 4.2 收藏集 獲取官方權重與 GGUF 等量化版本。
- 極速服務部署:
- vLLM 部署:推薦使用 vLLM (v0.20+) 並搭配自帶的
granite_thinking_parser推理內容解析器,以及qwen3_coder工具調用解析器。 - SGLang 部署:SGLang (v0.5.18+) 亦提供了原生的高吞吐量服務支援,詳情可參考 SGLang Granite 4.2 食譜。
- vLLM 部署:推薦使用 vLLM (v0.20+) 並搭配自帶的



