Skip to content

GLM 系列

📅 发表于 2025/09/24
🔄 更新于 2025/09/24
👁️ -- 次访问
📝 0 字
0 分钟
mainllm
#glm4.5
#moe
#pretrain
#midtrain
#posttrain
#agentic sft
#reasoning rl
#Agentic RL
#WebSearcj
#SWE RL
#GeneralRL
#HolisticRL
#InstructionFollowing RL
#FunctionCall RL
#Pathology RL

(2512) GLM-4.7

(2512) GLM-4.6V

(2508) GLM-4.5

🌺 论文摘要

论文摘要
  • paper, 技术报告
  • MoE架构,深而窄。2阶段预训练+Mid-Training
  • PostTraining
    • SFT:2阶段SFT,自动AgenticSFT数据构造
    • Reasoning RL (数学+代码+科学):2阶段难度课程学习动态采样温度等。
    • Agentic RL (WebSearch + SWE RL):数据收集自蒸馏迭代优化
    • General RL (综合+指令跟随+函数调用+问题RL):Rule+RLHF+RLAIF 3种反馈信号。

问题背景

❓问题背景

问题背景
  • LLM变化:通用问答 -> 问题解决者
  • 闭源模型在数学和代码修复领域有效果,开源模型有差距,难以解决复杂真实问题。
  • 缺乏在Agentic(使用外部工具和世界交互), Reasoning(多步推理), Coding(真实软件工程) 同时优秀的开源模型。

模型架构

模型架构
  • MoE 架构
    • loss-free balance routing:无需辅助loss,来平衡路由。
    • sigmoid gates:sigmoid决定token给哪些专家,传统是Softmax Topk
  • 更深而窄层数变多hidden_dim变小
    • 实验发现:深度推理能力很重要
    • 对比DeepSeek-V3, Kimi-K2:由宽变窄由浅变深
  • GQA + partial RoPE.
  • 注意力头更多: 5120隐藏层维度 + 96个head,一般是64个
    • 没降低训练loss,但提升了MMLU和BBH的分数
  • 稳定性:采用QK-Norm稳定attention logits的数值范围防止训练不稳定
  • 参数:355B-A32B, 106B-A12B

预训练

📕核心方法

预训练数据

预训练数据
  • Web数据中英文web网页(爬取的)。
    • 同Nemotron-CC,对网页按质量打分分桶
    • 丢弃低质量上采样高质量buckets,贡献3.2个epoch训练,覆盖推理高频知识
    • 使用SemDedup去掉自动模板生成的网页。
  • 多语言:爬取网页、Fineweb-2。做质量分类,对高质量进行上采样。
  • 代码
    • Github+各种代码平台数据
      • 初步规则过滤按语言做质量分类:高质、中等、低质量。
      • 上采样高质量去掉低质量代码所有源码数据应用FIM任务
    • Code相关 Web数据
      • stage1:HTML Code标签FastText检索代码内容
      • stage2:做质量评估(高、中、低),同源代码一样采样过滤。
      • stage3:使用细粒度解析器,重新解析选择的网页,更好保留代码格式内容
  • 数学和科学
    • 来源:web、书籍、论文等。
    • 使用LLM,根据数学和科学内容比例对文档进行评分,并训练小分类器来预测分数。
    • 上采样高分数据
2阶段预训练
  • 阶段1:通用数据,做训练
  • 阶段2:上采样代码/数学/科学等数据,做训练

Mid-Training

Mid-Training

背景

  • 增强特定领域能力:使用特定领域数据(包括指令数据),量少但质量高,注入结构化知识长逻辑
  • 为后续SFT和RL打下基础。

Repo-Level Code训练

  • 学习跨文件依赖关系拼接多个代码文件,
  • 提高SWE能力:学习代码如何被修改的。学习diff上下文(Issue+PR+Code)
  • 4k -> 32k

合成推理数据 训练

  • 使用强推理模型,合成数学/科学/代码推理过程
  • 32k, 500B

长上下文和agent 训练

  • 上采样长文档大规模合成agent轨迹
    • 尽量把完整文档塞进一个Batch,避免截断关键逻辑。Best-fit Packing
  • 32k -> 128k, 100B

超参

预训练超参

Muon 优化器

  • 特点:基于Newton-Schulz迭代,具有二阶优化器的特性
    • 收敛快:比AdamW更快降低loss;大batch友好:承受极大batchsize,64M tokens。
  • 优化embedding, bias 和RMSNorm之外的所有参数
  • 超参:迭代步数N=5,动量μ=0.95,缩放的rms=0.2

学习率

  • 放弃Warmup-Stable-Decay,回归Cosine Decay

  • 学习率:0,预热到2.5e-4,衰减到2.5e-5,直到mid-train结束

Batch Size

  • 前500B token,16M token,后期 64M token 保持不变。

序列长度

  • 序列长度:最初 4k,mid-train 32k -> 128k
  • RoPE:base 由1w -> 100w,扩展上下文

MoE 路由

  • loss-free balance routing
    • 前15T token,有偏置更新,偏差更新率设为0.0001,强制负载均衡。
    • 其余:设为0。模型专家分工形成后,停止人为干预偏置。
  • 辅助的序列级loss:极小权重0.0001,保底防止极端情况的负载崩塌

MTP loss

  • 前15T token,λ=0.3,其余token λ=0.1

PostTraining

PostTraining
  • 阶段1Expert Training, 构建3个领域专家模型推理agent通用聊天
  • 阶段2统一训练,采取自蒸馏技术 整合多个专家,最终交付一个综合模型

SFT (多阶段/自动数据构造等)

SFT

SFT 目的

  • 阶段1(专家训练):冷启动,后期被RL进一步提升。
  • 阶段2(统一训练):蒸馏各专家模型,到一个混合通用模型。

冷启动SFT

  • 少量CoT数据做SFT,确保每个专家在RL之前 有足够的基础能力

综合SFT

  • 数据:推理任务、通用聊天、agent任务、长上下文理解任务。答案从各专家模型蒸馏而来。
  • 模型:base model,长度:128k
  • 混合推理模式:混合思考直接回答的两种数据。难题做思考简单任务直接回答
一些关键点

XML 工具调用模板

  • 由json改成XLM,避免太多转义字符,降低模型负担,更好支持agentic能力。

拒绝采样

  • 从专家模型采样,采取多阶段过滤机制
    • 过滤重复、超短、截断、不符合推理格式的。
    • 客观验证:过滤数学/代码 答案不正确的。
    • 主观过滤:使用RM过滤主观低分答案的样本。
    • 工具过滤:工具调用要格式正确、真正解决问题。

Prompt选择和ResponseScaling

  • 过滤困难prompt + 过滤滤回复长度太短的prompt,约过滤50%
  • 仅用50%数据训练,但在数学和科学任务山给提升2%-4%

自动 Agentic SFT 数据构造

  • Agent框架和收集工具
    • 收集一套agent框架真实APIMCP Server,以及使用LLM 自动构建工具
  • 合成任务:基于框架和工具,来合成单步或多步任务
    • 对于成熟框架:使用LLM理解功能,自动生成query或任务。
    • 对于零散工具:选择一个工具子集,使用LLM构建关于该子集的任务。
  • 轨迹生成:对每个合成任务
    • 使用LLM生成工具调用轨迹LLM模拟用户
    • 使用多个judge-agent评估任务是否完成仅保留成功轨迹

Reasoning RL (数学+代码+科学)

Reasoning RL

背景

  • 专注于数学/代码/科学等领域,有明确奖励信号
  • 算法:GRPO + 去掉KL Loss。
  • 核心解决:训练效率、样本多样性和数据质量等问题。

基于难度的2阶段课程学习

  • 背景:太简单或太难,会导致梯度为0,无优势。
  • 阶段1:中等难度数据rollout=16
  • 阶段2:高难度数据rollout=512,严格具有正确答案的样本。
    • AIME24:81.8 -> 83.4

直接使用最大长度64K

  • 不用多阶段扩展长度,因为SFT已经学过长输出了,限制逐渐扩展反而效果不好。

动态采样温度

  • 温度低:缺乏探索;温度高:引入低质量噪声样本,影响训练效率。
  • 动态调整温度维持探索和利用平衡
    • 平均奖励稳定提升采样温度鼓励探索
    • 基于质量选择高温:在性能不下降1%的情况下,所能选的最大温度。

代码RL

  • Token-level Loss:梯度信号更稳定,收敛更快,解决长度偏差问题。

科学RL

  • 数据质量和类型很重要:仅使用专家验证的多选题训练,效果比混合质量数据好。

Agentic RL (WebSearch + SWE RL)

AgenticRL

任务

  • web-search, 代码生成 ,答案可验证。

数据收集合成

  • web搜索:需要搜索零散信息,数据合成pipeline
    • 知识图谱法(多条推理):利用知识图谱,找到较远的实体,生成问A和D关系的问题,必须A->B->C->D
    • 捉迷藏方法:人工选择网页,把关键信息抹掉,模型必须依赖这些信息才能回答问题
  • 软件工程
    • 收集Github PR + Issue,构建prompt + 单元测试
    • 加固沙箱:不会搞坏宿主机

算法优化

  • GRPO:LLM-response才计算,环境返回被mask掉。
  • 奖励信号
    • 搜索-最终结果ACC;SWE-单元测试通过率
    • 过程格式惩罚:在轨迹生成过程中,只要工具格式错误,就立即停止并给0分
  • 自蒸馏迭代优化:SFT -> RL -> SFT -> RL ...
    • 使用RL模型预测结果,替换冷启动数据,得到更强SFT模型再进行RL,如此迭代。
  • 效果
    • 搜索 + SWE RL提升,会使其他工具调用/Terminal-Bench也提升。
    • 环境交互次数增加,效果也会增加

General RL (综合+指令跟随+函数调用+问题RL)

General RL

背景

  • 提升模型整体性能,修复一些问题,加强关键能力。
  • 3种反馈信号Rule-based, RLHF, RLAIF
    • 更鲁棒的训练信号,更好使用每一种数据。
Holistic RL

Holistic RL

  • 目标:泛领域效果提升
  • 数据集:5000prompt,覆盖7个一级、33个二级、139个三级分类。
  • 2种反馈信号:更可靠效果更好
    • 人类反馈信号:在偏好数据训练RewardModel,基于指令遵循安全性事实正确性等多维度评估。
    • AI反馈信号:设计评分准则
Instruction Following RL

指令跟随 RL

  • 目标:复杂指令。
  • 数据集:专门构建的有挑战数据集,覆盖7类和151个细分类别。
  • 3种反馈信号:非常鲁棒,避免RewardHacking,带来效果提升。
    • 规则验证
    • 奖励模型
    • Critic模型
Function Calling RL

Step-Wise Rule RL

  • 固定流程任务,标注每一轮的GT工具调用
  • 奖励信号:完全匹配GT结果,才得1;其余为0。

端到端 多轮 RL

  • 开放性任务
    • 单轮多步任务:多步工具调用。
      • 数据:基于MCP合成的数据+ 有运行环境的开源agent数据 (AgentGym等)
    • 多轮多步任务
      • 多步工具执行 + 多轮用户交互LLM模拟用户
  • 奖励信号:格式正确任务完成,才为1;其余为0.
Pathology RL

背景

  • 后期存在语言混合过度重复格式错误等问题。
  • 通用RL难以解决:发生概率<1%,样本效率低

方法

  • 识别高危prompt构建专有数据集
  • 再跑一轮RL,使用极大负奖励做惩罚,降低错误。

算法实验

实验设置

✍️实验设置

实验设置

基础模型

  • GLM-4.5 (355B Total / 32B Active)
  • GLM-4.5-Air (106B Total / 12B Active)

训练任务/数据

  • 预训练:23T tokens,包含网页、书籍、论文、GitHub 代码。
  • Mid训练:32K 到 128K 上下文扩展,Repo 级代码,合成推理数据。
  • 后训练:SFT(冷启动+专家蒸馏),RL(GRPO 算法,针对推理、Agent、通用任务的不同策略)。

评测任务/数据

  • ARC 基准 (12个):Agentic (TAU-Bench, BFCL V3, BrowseComp), Reasoning (MMLU-Pro, AIME 24, MATH-500, SciCode, GPQA, HLE, LCB), Coding (SWE-Bench Verified, Terminal-Bench)。
  • 通用基准:MMLU, SimpleQA, IFEval, SysBench。
  • 人工评测:SafetyBench, CC-Bench (基于 Claude Code 的编码 Agent 评测), 翻译能力评测。

算法/策略

  • 2阶段预训练通用数据 + 上采样高质量数据训练
  • MidTrain仓库级 + 合成推理数据 + 长上下文,上采样+逐步扩展长度
  • 多阶段SFT冷启动+统一训练,混合推理模式。
  • 多种RL训练:ReasonRL 难度课程学习;Agentic RL:自蒸馏迭代优化;General RL:3种反馈信号

超参

  • 优化器:Muon
  • 学习率调度:Cosine decay (而非 WSD)
  • 最大序列长度:128K (Post-training)

关键结果

🍑关键结果

关键结果
  • 总体排名:在 ARC 任务上,GLM-4.5 总体排名第 3,GLM-4.5-Air 排名第 6。GLM-4.5 在 Agentic 任务上排名第 2(仅次于 OpenAI o3),在 Coding 任务上排名第 3(接近 Claude Sonnet 4)。
  • 参数效率:GLM-4.5 在 SWE-bench Verified 上位于帕累托前沿,以 DeepSeek-R1 一半的参数量实现了与之相当甚至更好的性能。
  • Agent 能力:在 TAU-Bench 上得分 70.1%,在 BFCL v3 上得分 77.8%,与 Claude Sonnet 4 持平。在 Web 浏览任务 BrowseComp 上明显优于 Claude Opus 4。
  • 推理能力:AIME 24 得分 91.0%(优于 o3),MATH-500 得分 98.2%。
  • 编码能力:SWE-bench Verified 得分 64.2%,Terminal-Bench 得分 37.5%,优于 GPT-4.1 和 Gemini-2.5-Pro。
  • 工具调用可靠性:在 CC-Bench 实测中,工具调用成功率高达 90.6%,高于 Claude Sonnet 4 (89.5%) 和 Kimi K2 (86.2%)。

预训练评估

后训练评估

Agent 评估

SWE 评估

安全评估

未来方向

⛳ 未来方向

未来方向
  • 解决偏见:虽然安全性得分高(Ethics, Safety),但不公平与偏见(Unfairness & Bias)仍有改进空间。
  • 统一能力的深化:把Agent+Reasoning+Coding能力更深层次地融合到一个统一模型,不依赖分离的专家。
  • 开源生态:释放模型权重和 glm-simple-evals 评测工具,推动复杂推理和Agent方面的研究。
总访客数:   ·   总访问量:
PLM's Blog @ 2016 - 2026