IBM Granite 4.1 大模型:以数据为中心的训练与强化学习
Hugging Face Blog··作者 Hugging Face Blog
关键信息
模型从头训练约 15 万亿个 token,共五个阶段,第五阶段将上下文窗口扩展至 512K;监督微调使用 LLM-as-Judge 框架,强化学习则针对推理和指令遵循等特定能力进行优化。
资讯摘要
IBM 的 Granite 4.1 大模型采用严谨的五阶段预训练策略,强调数据质量而非数量。训练从广泛的网络数据开始,逐步转向精心筛选的领域内容,包括代码、数学和合成指令数据。架构选择包括 GQA、RoPE、SwiGLU、RMSNorm 和共享嵌入。
关键创新在于使用 LLM-as-Judge 框架来筛选微调数据,并通过多阶段强化学习提升推理、编程和指令遵循能力。最终阶段通过分阶段长上下文训练将上下文窗口扩展到 512K,确保在不损害短上下文性能的前提下具备强大的长序列处理能力。
资讯正文
构建高质量的小型语言模型不仅仅是简单地扩大计算规模,还需要在整个训练过程中严格的数据筛选。对于Granite 4.1,我们优先考虑数据质量而非数量,在五个预训练阶段中逐步优化数据组合。我们还使用LLM-as-Judge框架对监督微调数据进行了进一步筛选,并应用多阶段强化学习管道,系统性地提升模型在数学、编程、指令遵循和通用对话方面的性能。
Granite 4.1模型采用仅解码器的密集Transformer架构。核心设计选择包括分组查询注意力(GQA)、旋转位置嵌入(RoPE)、SwiGLU激活函数、RMSNorm归一化以及共享输入/输出嵌入。
三个不同尺寸的模型共享相同的训练流程和数据策略,仅在架构维度上有所差异。
Granite 4.1从零开始训练,使用约15万亿个标记,采用五阶段训练策略。第1–2阶段专注于基础预训练,第3–4阶段进行中期训练,逐步引入更高品质的数据,第5阶段则引入长上下文训练,将上下文窗口扩展至512K个标记。每个阶段都采用不同的数据组合和学习率调度,逐渐从广泛的网络级数据转向更精心筛选的领域特定内容。
图2:五阶段预训练流程。第1–2阶段为预训练,第3–4阶段为中期训练(高质量数据退火),第5阶段为长上下文训练(LCE)。
第一阶段使用通用训练数据混合来建立广泛的语言理解能力,采用幂次学习率调度和预热机制。
数据构成如下:
- CommonCrawl约占59% —— 通用网络数据
- 编程代码约占20% —— 编程语言及代码仓库
- 数学数据约占7% —— 数学推理数据
- 技术文档约占10.5% —— 科学论文、技术文档和手册
- 多语言数据约占2% —— 非英语语种数据
- 领域特定内容约占1.5% —— 领域相关数据
第二阶段显著增加了代码和数学数据的比例,转向更强的推理能力,同时仍保持对通用语言的理解。
- 数学数据增至35% —— 是第一阶段的5倍
- 编程代码增至30% —— 是第一阶段的1.5倍
- High-Quality CommonCrawl约占12% —— 高质量CommonCrawl子集
- 合成数据约占9% —— 高质量合成数据
- 技术文档占10%
- 多语言数据占3%
- 领域特定内容占1%
第三阶段进入中期训练,使用更加平衡且高质量的数据混合,并采用指数衰减的学习率调度。此时我们开始引入思维链(chain-of-thought)和合成指令数据。
- High-Quality CommonCrawl约占16.67%
- 数学数据约占16.67%
- 编程代码约占16.67%
- 合成数据约占8.5%
- 技术文档约占12.5%
- 多语言数据约占4.5%
- 长思维链数据约占12.5% —— 推理轨迹
- 语言指令数据约占7.5% —— 指令微调数据
- 编程指令数据约占4.5% —— 指令微调数据
第四阶段继续中期训练,采用线性学习率衰减至零的方式,使模型聚焦于当前可用的最高质量数据。
- High-Quality CommonCrawl约占40%
- 编程代码约占20%
- 数学数据约占20%
- 长思维链数据约占6%
- 编程指令数据约占5%
图3:数据混合在预训练阶段中的演变过程。注意从以网络数据为主(第1阶段)逐步转向以高质量指令和推理数据为主的转变(第3–4阶段)。
第五个也是最后一个阶段是中期训练的一部分,通过分阶段的长上下文扩展过程将上下文窗口从4K扩展到512K:
- 32K扩展 — 使用与第4阶段相同的数据混合
- 128K扩展 — 使用与第4阶段相同的数据混合
- 512K扩展 — 80%书籍 + 20%代码库数据(仅限8B和30B模型)
长上下文扩展(LCE)阶段采用指数衰减的学习率调度策略,起始学习率为1e-4,最终衰减至0。
为确保模型原生支持长序列处理而不影响短上下文性能,我们在每个LCE阶段后执行一次模型合并。
基础模型的RULER基准测试结果如下:
监督微调(SFT)是将基础模型转化为可靠指令跟随助手的关键步骤,因此数据质量至关重要——即使少量错误或幻觉样本也可能引发不良行为。为解决这一问题,我们结合使用LLM作为裁判框架和基于规则的过滤机制来筛选高质量样本。该流程自动对每个样本进行结构、语义和行为维度的评估,发现问题时会尝试修复,不符合质量标准的样本则被过滤掉。
图4:SFT数据质量流水线。原始对话数据经过LLM作为裁判的多维评分体系处理,得出接受、边缘或拒绝的判断。对于严重缺陷(如幻觉、错误前提、计算错误),无论得分如何都会触发自动拒绝。
我们严格的LLM作为裁判框架仅评估助手回复内容,系统提示、用户输入、检索文档和工具输出均被视为上下文信息。这确保裁判关注的是模型说了什么,而不是它被要求做什么。在RAG场景中,未基于检索上下文的回答会被标记为幻觉;工具调用输出则根据允许的工具及其参数模式进行验证。
我们针对不同类型的SFT数据设计了专用裁判提示词,包括多轮对话、RAG增强回复、工具调用交互以及多语言对话。每条回复在六个加权维度上评分:指令遵循度、正确性、完整性、简洁性、自然度和校准度(可选批判性思维检查)。根据确定性的分数阈值,样本被接受、标记为边缘或拒绝,其中严重缺陷(如幻觉、错误前提或计算错误)的硬性拒绝规则优先于分数判定。
为了补充语义评估,我们还应用了一个确定性的基于规则的流水线,通过文本规范化、截断和长度过滤、模式验证和泄露检测来保证结构完整性。最后一步全局去重确保整个数据集的独特性。所有过滤和修正操作均可审计。
在通过LLM作为裁判、基于规则的过滤和全局去重流程后,我们使用大约410万个高质量样本对基础模型进行微调。以下细节适用于所有三种模型变体。
训练配置:
在监督微调(SFT)之后,我们应用多阶段强化学习流程,进一步提升模型在特定领域的性能。与单一强化学习步骤不同,我们运行多个有针对性的强化学习阶段,每个阶段优化不同的能力。
我们使用基于策略的GRPO(Group Relative Policy Optimization)(Shao等,2024年),并结合DAPO(Decoupled Clip and Dynamic sAmpling Policy Optimization)损失函数(Yu等,2025年),相比标准GRPO提供了更稳定的训练信号。但由于动态采样的计算复杂性较高,我们在训练过程中关闭了该功能。
图10展示了Granite 4.1模型的强化学习训练流程。通过大量实验对比多种强化学习方案,我们发现这一系列步骤能够在最小化灾难性遗忘的同时,最大化跨多个领域的性能表现。
图10:Granite 4.1强化学习流程包含四个连续阶段:多领域强化学习(Multi-domain RL)、RLHF、身份与知识校准强化学习(Identity and Knowledge-calibration RL),以及数学强化学习(Math RL)。
在此阶段,模型联合训练于来自多个领域的统一数据混合集。因此,每次梯度更新都反映了任务的全部多样性,从而防止灾难性遗忘,提升整体基准性能,并减少任何单个任务上的退化。
本阶段涵盖的不同领域包括:
在此阶段,我们在45,504个唯一提示上训练模型(针对所有Granite 4.1模型取平均值),发现学习率为5e⁻⁷、KL损失系数(β)为0.05时,在多领域强化学习中表现最佳。
为了进一步提升模型的帮助性和对话能力,我们使用多语言标量奖励模型,在通用对话提示上训练模型。在此阶段,我们观察到Alpaca-Eval得分平均提升了约18.9分(针对三个Granite 4.1模型取平均值),相较于SFT检查点。
为了减轻模型因先前学到的知识而产生的策略漂移,我们在本阶段采用保守的学习率3e⁻⁷和更高的KL损失系数β=0.09。我们在RLHF阶段平均使用17,920个唯一提示。
在此阶段,我们对身份与知识校准提示进行少量训练(约40步训练)。我们观察到,这个小规模训练阶段显著提升了模型的自我识别能力。
与RLHF阶段类似,我们使用学习率3e⁻⁷和KL损失系数β=0.09,并在该阶段使用1728个唯一提示。
在强化学习(RL)训练过程中,我们发现RLHF阶段会导致数学基准测试分数下降(例如GSM8K、DeepMind-Math)。而数学强化学习(Math RL)阶段使模型能够从这一下降中恢复,并在数学基准测试上超越原始SFT(监督微调)性能:GSM8K平均提升约3.8分,DeepMind-Math平均提升约23.48分。该阶段我们使用了平均13,504个独特的提示,并且与多领域RL阶段类似,采用了5e-7的学习率和KL散度损失系数β为0.05。
支持的语言包括英语、德语、西班牙语、法语、日语、葡萄牙语、阿拉伯语、捷克语、意大利语、韩语、荷兰语和中文。
Granite 4.1在不依赖长链推理的情况下,提供了具有竞争力的指令遵循能力和工具调用能力。通过避免冗长的推理过程,它实现了可预测的延迟、稳定的token使用量以及更低的运营成本,使其成为企业工作负载中一个生产就绪的开源选择,尤其适用于对效率、可靠性和成本控制至关重要的场景。
一个显著的结果是:Granite 4.1-8B稠密模型始终匹配甚至优于前一代的Granite 4.0-H-Small(320亿参数的专家混合模型,激活参数为90亿)。
图13:Granite 4.1-8B(深蓝色)与Granite 4.0-H-Small 32B-A9B(浅蓝色)在各项基准上的对比。8B稠密模型在IFEval、AlpacaEval、MMLU-Pro、BBH、GSM8K、DeepMind-Math、Evalplus、ArenaHard、BFCL V3和MBPP(+)等多个任务上达到或超过更大规模的MoE模型表现。
图14:Granite 4.1系列模型(30B、8B和3B)之间的比较。得分随模型规模呈可预测的上升趋势,其中30B模型在所有基准测试中均领先。
我们还发布了针对推理优化的fp8量化版本的Granite 4.1模型,适用于vLLM推理引擎。精度从16位降至8位,使得磁盘占用空间和GPU内存使用量大约减少50%。量化仅应用于Transformer块中线性运算符的权重和激活值,其他所有层仍保持原始精度,由LLM Compressor完成。
Granite 4.1语言模型是在CoreWeave托管的NVIDIA GB200 NVL72集群上训练的:
- 机架内通信:72张GPU组成的NVLink域
- 机架间通信:无阻塞、全Fat-Tree结构的NDR 400 Gb/s InfiniBand网络
- 扩展规模:整个集群包含数千张GPU
该基础设施提供了高效分布式训练所需的高带宽互联能力,以满足预训练阶段所需的大规模Token处理(仅预训练阶段就超过15万亿Token)。
Granite 4.1模型采用Apache 2.0许可证发布。以下是使用30B指令模型并附带工具调用示例的入门方法:
pip install torch torchvision torchaudio
pip install accelerate
pip install transformers
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
device = "cuda"
model_path = "ibm-granite/granite-4.1-30b"
tokenizer = AutoTokenizer.from_pretrained(model_path)
# 如果在CPU上运行,请移除device_map
model = AutoModelForCausalLM.from_pretrained(model_path, device_map=device)
model.eval()
tools = [
{
"type": "function",
"function": {
Granite 4.1大语言模型:它们是如何构建的
Granite 4.1标志着高质量开源语言模型的重要进展。通过在每个阶段——从预训练数据筛选到监督微调和多阶段强化学习——始终优先考虑数据质量和严谨性,我们实现了显著改进的后训练流程。结果是更强的指令遵循能力、工具使用能力和对话性能,证明经过精心训练的密集型8B模型可以媲美更大规模的混合专家(MoE)架构。我们非常期待社区如何采用并在此基础上进一步开发这些模型。
来源与参考
收录于 2026-04-30