Granite 4.2 LLMs:构建原理

Hugging Face Blog 模型

摘要

Granite 4.2是IBM推出的新型推理LLM系列,提供3B、8B和30B尺寸,具备思考模式、工具调用功能,并在Apache 2.0许可证下通过多阶段强化学习流水线进行训练。

暂无内容
查看原文
查看缓存全文

缓存时间: 2026/08/25 16:17

Granite 4.2 大语言模型:构建解析

来源:https://huggingface.co/blog/ibm-granite/granite-4-2
本文技术性解析我们如何构建 Granite 4.2 推理模型家族。
作者: Granite 团队,IBM


简要说明: Granite 4.2 是我们首个基于稠密架构、仅解码器的推理大语言模型家族,包含三种尺寸:3B、8B 和 30B。每个模型均从零开始在约 15 万亿 token 上进行预训练,采用五阶段策略将上下文窗口扩展至 512K token;随后在链式思维、推理及智能体轨迹数据上进行监督微调;最终通过多阶段强化学习流水线进行后训练。该流水线包含智能体强化学习,其中 8B 和 30B 模型在真实沙盒环境中学习使用工具执行操作。所有模型均具备思考/非思考切换功能、低耗能思考模式(对简单问题分配较短的推理预算)以及原生工具调用能力。所有 Granite 4.2 模型均采用 Apache 2.0 许可证发布。

链接:

  • Granite 4.2 HF 合集 (https://huggingface.co/collections/ibm-granite/granite-42-language-models)
  • GitHub 仓库 (https://github.com/ibm-granite/granite-4.2-language-models)
  • Granite 文档 (https://www.ibm.com/granite/docs/)

概述

Granite 4.2 是 Granite 语言模型家族中侧重推理能力的版本。早期 Granite 版本是强大的指令遵循助手;Granite 4.2 新增了显式推理能力。每个模型均可在生成答案前产生链式思维,并能根据任务需要的思考量在思考或非思考模式间切换。介于两者之间的低耗能模式会对简单问题分配较短的推理预算。三种尺寸(3B、8B 和 30B)共享相同的架构设计并遵循相同的训练流程(从零预训练、监督微调、多阶段强化学习),各自在相应规模上进行。所有模型都是强大的推理者和指令遵循者。

最显著的能力差异体现在后训练阶段。8B 和 30B 模型额外经历智能体强化学习模块,该模块训练它们作为智能体运行:在真实环境中调用工具、编辑和运行代码、操作终端以及进行网络搜索。所有模型均支持原生工具调用。通过 OpenAI 兼容端点(例如使用 vLLM)提供服务时,模型会以 OpenAI 函数调用格式输出工具调用,并能无缝集成到智能体框架中。

Granite 4.2 也受到 SGLang 支持,参见 SGLang 实践手册 (https://docs.sglang.io/cookbook/autoregressive/IBM/Granite-4.2) 获取即用配方。

本文其余部分将逐步解析构建过程:架构、预训练、监督微调、多阶段强化学习流水线及最终成果。


模型架构

Granite 4.2 模型基于仅解码器稠密 Transformer 架构构建,核心组件包括:

  • 注意力机制: 分组查询注意力 (GQA),40 个注意力头,8 个 KV 头
  • 位置嵌入: 旋转位置嵌入 (RoPE),θ = 10,000,000
  • 前馈网络: 采用 SwiGLU 激活函数的 MLP
  • 归一化层: RMSNorm(ε = 1e-5)
  • 嵌入层: 输入/输出嵌入分离(非绑定)
  • 精度: bfloat16
组件3B 稠密模型8B 稠密模型30B 稠密模型
嵌入维度256040964096
层数404064
注意力头维度64128128
注意力头数量403232
KV 头数量888
MLP 隐层维度81921280032768
MLP 激活函数SwiGLUSwiGLUSwiGLU
序列长度131072131072131072
位置嵌入RoPERoPERoPE
参数量3B8B30B

预训练

Granite 4.2 在约 15 万亿 token 上从零开始训练,采用五阶段训练策略。阶段 1-2 专注于基础预训练,阶段 3-4 进行中期训练,使用质量逐步提升的数据进行退火,阶段 5 引入长上下文训练,将上下文窗口扩展至 512K token。每个阶段使用不同的数据混合配方和学习率调度,逐渐从广泛的网络规模数据转向更精选的高质量数据源。

预训练配方沿袭上一代;关于数据混合、阶段调度和长上下文扩展的详细说明,请参阅 Granite 4.1 博客 (https://huggingface.co/blog/ibm-granite/granite-4-1)。


监督微调:数据准备与质量控制

监督微调 (SFT) 将基础模型转变为可靠的指令遵循、推理和工具使用助手。SFT 数据混合包含智能体数据(31.6%)和非智能体数据(68.4%),总计约 720 万样本,约 1000 亿 token,其中约 650 亿 token 可用于训练。

智能体语料库涵盖广泛领域,包括软件工程(SWE,69%)、工具调用(12.1%)、终端使用(8.0%)、数学(3.5%)、搜索(0.8%)和动作(0.2%)。这些样本和轨迹使用多种智能体框架和工具生成,包括 OpenHands、OpenCode、Terminus-2、SWE-agent、OpenResearcher、MiniSWE、OpenSeeker、EnvScaler、Gemini CLI、Hermes、Codex 和 Goose。智能体数据结合了开源数据集样本和我们自身合成的强化学习环境数据,涵盖多种智能体与框架的组合。

非智能体语料库主要包括以下类别:指令遵循(18.8%)、编程(18.8%)、数学(14.6%)、多语言(7.0%)、科学(5.4%)、推理(3.0%)和安全(0.8%)。

数据质量控制

在样本进入最终 SFT 混合前,我们实施多阶段质量控制。首先,不同来源的数据被标准化并重新格式化为统一的 OpenAI Chat 格式,使对话结构和工具交互在不同数据集和框架间保持一致。然后,我们使用 GPT-OSS-120B 和 Gemma 4 作为大语言模型评判器评估样本质量。低分样本被移除,包含幻觉或虚构信息、无效工具交互,或调用相应工具列表中未定义函数的样本也会被移除。在适当时,我们还会应用多个针对特定数据集的启发式规则,以进一步提高质量并消除已知噪声来源。最后,我们进行局部和全局去重。去重基于对 tools 和 messages 字段组合计算的 SHA-256 哈希值,移除单个数据源内及整个 SFT 混合中的重复样本。

监督微调训练细节

完整语料库首先进行全局打乱以减少排序效应,确保不同领域的样本在训练中充分混合。打乱后的语料库被划分为大小相等的 .parquet 分片,使用模型的分词器和聊天模板进行分词,并为大规模分布式训练做好准备。在启动最终大规模运行之前,我们在代表性配置上调整超参数,搜索学习率调度、初始学习率和预热比例,以找到能在不同模型规模间稳定训练的设置。最终训练配置总结如下:

参数值
计算资源32–128 个节点(取决于模型规模),每个节点 4× Grace/GB200
序列长度(打包后)131,072 (128K)
全局批大小128
学习率1.0e-5(预热后保持不变);阶段 2 使用 3.0e-6
学习率预热train_iters 的 2.5%
训练时长约 2 个 epoch
并行策略TP=2, PP=1, CP=4 或 CP=2

30B 模型的第二阶段监督微调

对于 30B 模型,我们额外执行第二阶段监督微调,专门聚焦于智能体编程。在此阶段,智能体、SWE 和编程数据被过采样以增加其在训练分布中的有效贡献,同时约 16% 的混合数据保留为原始 SFT 语料库的重放数据。然后,30B 模型以较低的学习率 3.0e-6 再微调约一个 epoch。这个针对性的第二阶段增加了模型对智能体编程轨迹的接触,而不会丢弃在初始 SFT 阶段获得的能力。


强化学习:多阶段、多环境流水线

完成监督微调后,我们应用多阶段、多环境强化学习流水线。我们不是单次强化学习,而是运行一系列链式专注阶段,涵盖多种环境:数学、编程、科学、指令遵循、工具使用和结构化输出,然后是软件工程、终端使用和网络搜索。每个阶段是独立的强化学习运行,针对一项能力,并从上一阶段的检查点进行热启动。

训练方法

每个阶段使用异步 GRPO(组相对策略优化)进行训练,因此生成器和训练器循环的两部分永远不会相互阻塞。一组生成工作器持续采样响应并将完成的轨迹放入共享缓冲区;一旦缓冲区积累了完整一步的数据量,训练器会取出该批次,执行优化器步骤,并将更新的参数流式传回生成工作器,而不会暂停它们。刷新可能发生在生成中途,导致单个轨迹由两个相邻策略版本拼接而成。我们允许这种情况发生,而不是付出代价去阻止:工作器复用其现有的 KV 缓存,而不是在每次刷新后重建。唯一的护栏是限制工作器落后训练器不超过一次更新,以约束样本可能偏离策略的程度。超过此限制的任何不匹配通过截断重要性采样在目标函数中处理,该方法将训练与生成的对数概率比限制在固定上限,使得少量过时 token 无法主导一次更新。

优势值使用留一法基线进行组相对计算:每个响应根据为相同提示抽取的其他样本的平均奖励进行评判,从而无需单独的价值网络。具体来说,以 RLVR(第一个也是运行时间最长的阶段)为例:每一步将 256 个提示与每个提示 16 个采样响应配对,形成一个 4,096 个样本的批次,训练器在下一个生成开始前通过单个优化器步骤处理该批次。后续阶段保持此机制不变,仅调整每个阶段的形状(如下所示)。

强化学习训练配置

流水线在所有阶段保持一组共同的超参数主干,使课程更易于运行和比较。一些旋钮在各处固定:

参数值(各阶段共享)
算法GRPO(无价值网络;组相对优势值)
训练栈NeMo-RL (Megatron-Core + vLLM),配合 NeMo-Gym 环境
比率裁剪 (最小/最大)0.2 / 0.28
微批大小1
并行策略张量并行 2–4;无流水线并行或上下文并行

各阶段之间变化的是每次运行的形状:每一步的提示数和生成数、上下文长度、智能体循环是否运行,以及我们多大力度地拉回参考策略。下表给出了 30B 模型链各阶段的具体设置:

阶段提示数/步生成数/提示最大序列长度生成轮次KL 系数
RLVR (×3)2561664K105e-7
IF 增强器2561664K105e-7
代码增强器641664K100.05
SWE 16416128K100.01
SWE 23216128K1280
终端83264K640.01
搜索3216128K640.01
RLHF1281648K100.05

所示参数适用于 30B 模型。全局批大小 = 提示数/步 × 生成数/提示(例如 RLVR 的 256 × 16 = 4096)。3B 和 8B 模型使用相同的配方和超参数,但阶段较少*(参见“三种尺寸的差异”);变化的是阶段列表,而非旋钮设置。*

KL 调度遵循奖励类型:在奖励客观且可验证的地方自由探索(RLVR 和 SWE 2 运行时 KL 为 0),在目标是偏好、安全或窄技能嫁接的地方贴近参考策略(RLHF 和代码增强器使用 KL 0.05)。生成轮次列计算 GRPO 在每次生成中看到的环境交互次数。在所有情况下,模型都在完整的真实环境轨迹上进行训练。

分阶段课程

每个阶段是独立的强化学习运行,具有单一目标和自己的奖励信号。当它完成时,其策略被导出为 Hugging Face 格式,并成为下一阶段的基础模型,因此流水线是一系列热启动:

SFT ─▶ RLVR ─▶ 技能增强器 ─▶ SWE 智能体 ─▶ 终端 ─▶ 搜索 ─▶ RLHF
└──────── 基础强化学习 ────────┘ └──────── 智能体强化学习 (8B / 30B) ────────┘

8B 和 30B 模型遵循完整的阶梯路径。3B 模型采用缩短路径:基础强化学习和对齐,不包含智能体模块。

奖励信号

一个阶段主要由如何获得奖励来定义。整个流水线有三种奖励类型,单个阶段可以使用多种:

奖励类型衡量内容使用阶段
可验证奖励精确匹配、单元测试、格式检查器、基于真实值的规则检查器RLVR · 增强器 · SWE
奖励模型 / LLM 裁判开放式质量、偏好、安全性、答案正确性RLVR · 搜索 · RLHF
智能体结果模型是否在真实环境中实际解决了任务?SWE · 终端 · 搜索

可验证奖励是客观且难以作弊的,因此流水线将其前置。基于裁判和偏好的奖励处理开放式质量。智能体结果奖励最稀疏:通常是在长工具使用轨迹结束时的一个比特位。

基础强化学习:构建技能

RLVR:可验证奖励强化学习

RLVR 是基础阶段,也是流水线中最广泛的数据混合:一个跨越多个可验证领域的单一混合数据集。

  • 数学: 带框答案检查的链式思维,以及 Lean 中的形式化证明
  • 竞赛编程: 在沙盒中使用隐藏测试用例检查解决方案
  • STEM / 研究生级科学 MCQA 和通用知识
  • 指令遵循: 结构化输出和逆向指令任务
  • 工具 / 函数调用: 单步工具使用
  • 推理谜题 和拒绝回答(知道何时拒绝)

每种任务类型都有其自己的验证器,因此奖励是针对每个样本确定的。RLVR 在 3B 上运行两轮

相似文章

Granite 4.1 LLMs:技术架构解析

Hugging Face Blog

本文详细介绍了 IBM Granite 4.1 大语言模型的技术架构与训练流程,涵盖预训练、SFT(监督微调)及 RL(强化学习)阶段。文章指出,该 8B 稠密模型在性能上超越了更大的 MoE(混合专家)模型,并提及模型以 Apache 2.0 许可证开源发布。

基于 Granite 4.2 3B 构建的 3.66B 形式逻辑模型 · Hugging Face

Reddit r/LocalLLaMA

webAI 发布了 TwIL LM3 Pro,一个基于 IBM Granite 4.2 3B、仅针对形式逻辑(如前提蕴含判断、规则归纳、Lean 证明批判)微调的 3.66B 模型,在逻辑复合基准上以不到一半的参数量追平 Qwen3-8B,并提供可在 CPU/4GB 显存上运行的 GGUF 量化版本。