Granite 4.1 LLMs:技术架构解析
摘要
本文详细介绍了 IBM Granite 4.1 大语言模型的技术架构与训练流程,涵盖预训练、SFT(监督微调)及 RL(强化学习)阶段。文章指出,该 8B 稠密模型在性能上超越了更大的 MoE(混合专家)模型,并提及模型以 Apache 2.0 许可证开源发布。
查看缓存全文
缓存时间: 2026/05/08 08:59
Granite 4.1 LLMs: 构建原理
来源:https://huggingface.co/blog/ibm-granite/granite-4-1
- 概述
- 模型架构
- 预训练
- SFT:数据准备与质量控制
- 强化学习:多阶段 RL 流水线
- 结果
- Granite 4.1 与领先开源模型的对比
- Granite 4.1-8B vs. Granite 4.0-H-Small(32B-A9B)
- Granite 4.1 模型家族对比
- FP8 量化
- 基础设施
- 快速开始
Granite 4.1 LLMs 的数据工程、预训练、监督微调和强化学习深度技术解析。
作者: Granite Team, IBM
TL;DR — Granite 4.1 是一系列稠密、仅解码器的 LLM(3B、8B 和 30B),使用约 15T tokens 通过多阶段预训练流水线训练,支持最长 512K tokens 的长上下文扩展。模型进一步通过约 4.1M 高质量精选样本的监督微调和 on-policy GRPO 配合 DAPO 损失(Yu et al., 2025)的强化学习进行优化。值得注意的是,8B 指令模型尽管采用更简单的稠密架构且参数量更少,却能匹配或超越此前的 Granite 4.0-H-Small(32B-A9B MoE)。所有 Granite 4.1 模型均以 Apache 2.0 许可证发布。
链接:
概述
构建高质量的小语言模型不仅仅是简单地扩展计算量——它需要在整个训练过程中进行严格的数据筛选。对于 Granite 4.1,我们优先考虑数据质量而非数量,在五个预训练阶段中逐步优化数据配比。我们还使用 LLM-as-Judge 框架精选监督微调数据,并应用多阶段强化学习流水线,系统性地提升数学、编程、指令遵循和通用对话等方面的性能。
模型架构
Granite 4.1 模型采用仅解码器的稠密 Transformer 架构。核心设计选择包括分组查询注意力(GQA)、旋转位置编码(RoPE)、SwiGLU 激活函数、RMSNorm 和共享输入/输出嵌入。
| 组件 | 3B 稠密 | 8B 稠密 | 30B 稠密 |
|---|---|---|---|
| 嵌入维度 | 2560 | 4096 | 4096 |
| 层数 | 40 | 40 | 64 |
| 注意力头维度 | 64 | 128 | 128 |
| 注意力头数量 | 40 | 32 | 32 |
| KV 头数量 | 8 | 8 | 8 |
| MLP 隐藏层维度 | 8192 | 12800 | 32768 |
| MLP 激活函数 | SwiGLU | SwiGLU | SwiGLU |
| 位置编码 | RoPE | RoPE | RoPE |
三种模型尺寸共享相同的训练流水线和数据策略,仅在架构维度上有所不同。
预训练
Granite 4.1 从头开始训练,使用约 15 万亿 tokens,采用五阶段训练策略。阶段 1-2 侧重于基础预训练,阶段 3-4 进行渐进式高质量数据退火的中期训练,阶段 5 引入长上下文训练,将上下文窗口扩展至 512K tokens。每个阶段采用不同的数据配比和学习率调度,逐步从广泛的网络规模数据转向更精选的领域特定内容。
图 2: 五阶段预训练流水线。阶段 1-2 为预训练,阶段 3-4 为中期训练(高质量数据退火),阶段 5 为长上下文训练(LCE)。
阶段 1:通用预训练(10T tokens)
第一阶段使用通用训练数据混合建立广泛的语言理解能力,采用幂律学习率调度和预热。
数据组成:
- CommonCrawl ~59% — 通用网络数据
- 代码 ~20% — 编程语言和代码仓库
- 数学 ~7% — 数学推理数据
- 技术 ~10.5% — 科学论文、技术文档和手册
- 多语言 ~2% — 非英语语言数据
- 领域特定 ~1.5% — 领域特定内容
阶段 2:数学/代码预训练(2T tokens)
第二阶段大幅提高代码和数学数据的比例,转向更强的推理能力,同时保持通用语言覆盖。
数据组成:
- 数学 ~35% — 较阶段 1 增加 5 倍
- 代码 ~30% — 较阶段 1 增加 1.5 倍
- CommonCrawl-HQ ~12% — 高质量 CommonCrawl 子集
- 合成数据 ~9% — 合成高质量数据
- 技术 ~10%
- 多语言 ~3%
- 领域 ~1%
阶段 3:高质量数据退火(2T tokens)
第三阶段进入中期训练,采用更均衡的高质量混合数据和指数衰减学习率调度。此时开始混入思维链和合成指令数据。
数据组成:
- CommonCrawl-HQ ~16.67%
- 数学 ~16.67%
- 代码 ~16.67%
- 合成数据 ~8.5%
- 技术 ~12.5%
- 多语言 ~4.5%
- 长思维链 ~12.5% — 推理轨迹
- 语言指令 ~7.5% — 指令微调数据
- 代码指令 ~4.5% — 指令微调数据
阶段 4:高质量数据退火——精炼(0.5T tokens)
第四阶段继续中期训练,采用线性学习率衰减至零,使模型聚焦于最高质量的数据。
数据组成:
- CommonCrawl-HQ ~40%
- 代码 ~20%
- 数学 ~20%
- 长思维链 ~6%
- 代码指令 ~5%
- 语言指令 ~9%
图 3: 预训练阶段数据配比的演变。注意从网络数据为主(阶段 1)到高质量数据为主并包含指令和推理数据(阶段 3-4)的渐进转变。
阶段 5:长上下文训练(LCE)
第五也是最后一个阶段,同样属于中期训练,通过分阶段长上下文扩展将上下文窗口从 4K 扩展至 512K:
- 32K 扩展 — 使用与阶段 4 相同的数据配比
- 128K 扩展 — 与阶段 4 相同的数据配比
- 512K 扩展 — 80% 书籍 + 20% 代码仓库数据(仅 8B 和 30B)
LCE 阶段使用指数学习率调度,从 1e-4 衰减至 0。为确保模型原生处理长序列而不损害短上下文性能,我们在每个 LCE 阶段后进行模型合并。
基础模型 RULER 基准测试:
| 模型名称 | 32K | 64K | 128K |
|---|---|---|---|
| granite-4.1-3b-base | 75.0 | 66.6 | 58.0 |
| granite-4.1-8b-base | 83.6 | 79.1 | 73.0 |
| granite-4.1-30b-base | 85.2 | 84.6 | 76.7 |
SFT:数据准备与质量控制
监督微调(SFT)是将基础模型转变为可靠的指令遵循助手的关键,因此数据质量至关重要——因为即使少量不正确或幻觉的样本也会植入不良行为。为此,我们应用严格的 LLM-as-Judge 框架和基于规则的过滤来精选高质量样本。该流水线自动从结构、语义和行为标准评估每个样本,尽可能修复问题并过滤掉不符合质量标准的样本。
图 4: SFT 数据质量流水线。原始对话数据通过 LLM-as-Judge 及其多维评分标准,产生通过/边缘/拒绝的裁决。硬性拒绝缺陷(幻觉、错误前提、错误计算)无论分数如何都会触发自动拒绝。
我们严格的 LLM-as-Judge 框架仅评估助手回复,将系统提示、用户输入、检索文档和工具输出严格视为上下文信息。这确保评判的是模型的输出内容,而非被要求执行的任务。在 RAG 场景中,未基于检索上下文生成的回复被标记为幻觉,而工具使用输出则根据允许的工具集合及其参数模式进行验证。
我们采用针对不同 SFT 数据类型定制的专用评判提示,包括多轮对话、RAG 增强回复、工具调用交互和多语言对话。每个回复在六个加权维度上进行评分——指令遵循、正确性、完整性、简洁性、自然度和校准(可选批判性思维检查)。样本根据确定性分数阈值被接受、标记为边缘或拒绝,硬性拒绝规则会覆盖严重缺陷(如幻觉、错误前提或错误计算)的分数。
为补充语义评估,我们应用确定性规则流水线,通过文本规范化、截断和长度过滤、模式验证和泄漏检测来强制结构完整性。最终的全局去重步骤确保数据集范围内的唯一性。所有过滤和修正操作均可完全审计。
SFT 训练细节
通过 LLM-as-Judge、基于规则的过滤和全局去重流水线后,我们在约 4.1 百万 高质量样本上微调基础模型。以下细节适用于三种模型变体:
训练配置:
| 参数 | 数值 |
|---|---|
| 计算资源 | 16 节点,每节点 4x GB200 |
| 轮数 | 3 |
| 学习率 | 5e-6(线性预热 3%,线性衰减约 25K 步) |
| 序列长度 | 16,384 tokens |
| 总样本数 | ~4.1M |
| 有效 batch size | 256 样本/迭代(~4.2M tokens/迭代) |
强化学习:多阶段 RL 流水线
SFT 之后,我们应用多阶段强化学习流水线,进一步提升模型在特定领域的能力。不同于单次 RL 训练,我们运行多个针对性的 RL 阶段,每个阶段优化不同的能力。
训练方法
我们使用 On-policy GRPO(分组相对策略优化)(Shao et al., 2024)配合 DAPO(解耦裁剪和动态采样策略优化)损失(Yu et al., 2025),相比标准 GRPO 提供更稳定的训练信号。然而,由于动态采样的计算密集型特性,我们在训练期间将其关闭。
RL 训练配置
| 参数 | 数值 |
|---|---|
| 算法 | On-policy GRPO with DAPO loss |
| 训练栈 | SkyRL(NovaSky-AI, 2025) |
| 每提示样本数 | 16 |
| 训练 batch size | 1024 |
| 上下文长度 | 8,192 |
RL 流水线
图 10 展示了 Granite 4.1 模型的强化学习流水线。通过对多种强化学习方案的大量实验,我们发现这一步骤序列能最小化灾难性遗忘,同时最大化跨领域性能。
图 10: Granite 4.1 强化学习流水线,包含四个顺序阶段:多领域 RL、RLHF、身份和知识校准 RL,以及数学 RL。
多领域 RL
在此阶段,模型在来自多个领域的统一数据混合上联合训练。因此,每次梯度更新都反映任务的完整多样性,防止灾难性遗忘,提升整体基准性能,并最小化任何单一任务的性能退化。
该阶段涵盖的不同领域包括:
| 领域 | 描述 |
|---|---|
| 数学 | 数学推理和计算 |
| 科学 | 科学知识和推理 |
| 逻辑推理 | 演绎和归纳逻辑 |
| 指令遵循(IF) | 遵循复杂指令 |
| 结构化输出 | 结构化数据输出 |
| Text2SQL | 数据库查询生成 |
| 时序推理 | 基于时间的逻辑和排序 |
| 通用对话 | 通用对话质量 |
| 上下文学习 | 从上下文示例中学习 |
在此阶段,我们使用 45,504 个独特提示训练模型(所有 Granite 4.1 模型的平均值),并 fo
相似文章
Granite 4.2 LLMs:构建原理
Granite 4.2是IBM推出的新型推理LLM系列,提供3B、8B和30B尺寸,具备思考模式、工具调用功能,并在Apache 2.0许可证下通过多阶段强化学习流水线进行训练。
IBM新款Granite 4.2模型乘势而上,引领本地大语言模型热潮
IBM发布了Granite 4.2,这是一系列开放权重大语言模型,提供高达300亿参数的版本,配备128,000个token的上下文窗口,并采用代理强化学习以增强能力。
基于 Granite 4.2 3B 构建的 3.66B 形式逻辑模型 · Hugging Face
webAI 发布了 TwIL LM3 Pro,一个基于 IBM Granite 4.2 3B、仅针对形式逻辑(如前提蕴含判断、规则归纳、Lean 证明批判)微调的 3.66B 模型,在逻辑复合基准上以不到一半的参数量追平 Qwen3-8B,并提供可在 CPU/4GB 显存上运行的 GGUF 量化版本。
模型:Granite4 Vision,作者 gabe-l-hart · 拉取请求 #23545 · ggml-org/llama.cpp
此拉取请求为 llama.cpp(一个开源 LLM 推理引擎)增加了对 Granite4 Vision 模型的支持。
Granite 4.0 3B Vision:面向企业文档的紧凑型多模态智能模型
IBM 发布 Granite 4.0 3B Vision,这是一款专为理解企业文档而设计的紧凑型视觉语言模型,具备表格提取、基于 ChartNet 的图表解读以及键值对 grounding 等专业能力。