mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4mobile wallpaper 5mobile wallpaper 6mobile wallpaper 7
4442 字
12 分钟
GLM-4.5:推理编程全焊死
2026-07-16

GLM-4.5 论文解读:全球第一个把推理、编程、Agent 三件事焊死在一起的开源模型#

论文:GLM-4.5: Agentic, Reasoning, and Coding (ARC) Foundation Models 作者:智谱AI(Zhipu AI) arXiv: 2508.06471 这篇是 2025 年 8 月的技术报告,也是智谱第一次把”ARC”这个概念喊出来——Agentic、Reasoning、Coding,三合一。355B 总参数、32B 激活的 MoE,MIT 协议直接扔出来,12 项基准综合全球前三,开源第一。最让我兴奋的不是分数,是它把推理、编程和 Agent 能力当成一个整体来训练这件事——以前没人这么干过。


一、先说背景:为什么”三合一”是个真问题#

过去两年的开源模型有个通病:推理强的不会写代码,写代码的不会调工具,会调工具的推理能力拉胯。你去看各家发布会,模型A在数学上登顶,模型B在编程上屠榜,模型C在Agent上称霸——但没有一个能同时把三件事做到顶级。

举个具体的例子。你想让一个模型帮你修一个 GitHub issue,它需要先推理出 bug 在哪(推理能力),然后写出修复代码(编程能力),接着跑测试验证(Agent 能力),发现没过还得分析错误信息重新修(又是推理+编程+Agent)。这是一条完整的链路,缺了哪一环都不行。

但以前的模型就是”偏科生”。o1 推理很强,但你让它调 API 它就犯迷糊;CodeLlama 写代码不错,但复杂推理一塌糊涂;早期的 function calling 模型工具调得很溜,但遇到需要多步推理的场景就歇菜。

原因很简单:这三种能力对模型的要求几乎是矛盾的。推理要模型”想得多”——花大量 token 在思维链上反复验证;Agent 要模型”动得快”——别废话直接调工具拿结果;编程要模型”写得准”——语法、逻辑、边界条件一个不能错。以前的做法是各练各的,最后拼起来,结果就是互相拖累。你往一个模型里硬塞三种训练目标,它们会打架。

GLM-4.5 的思路完全不同:从预训练阶段就把三种能力当成一个统一目标来优化。它给这个框架起了个名字叫 ARC——Agentic、Reasoning、Coding 的首字母缩写。不是三个独立任务拼在一起,是一个模型天生就为这三件事服务。数据配比、训练课程、奖励设计,全部围绕”ARC 一体化”来做。这在当时是独一份。

二、架构:MoE 但走的是”深而不宽”的路线#

基本规格#

先摆数字:

  • 总参数 355B,每 token 激活约 32B
  • 64 层,每层 160 个路由专家 + 1 个共享专家
  • 每 token 选 8 个路由专家激活
  • 隐藏层维度 5120,96 个注意力头8 个 KV 头(GQA)
  • 上下文长度 128K

对比一下 DeepSeek-V3 的 671B/37B,GLM-4.5 的总参数差不多是一半,但激活参数接近。这意味着什么?意味着 GLM-4.5 选择了”深而不宽”的策略——用更多层、每层更少的专家,而不是一层塞一堆专家。

论文做了消融实验证明这个选择:在相同参数预算下,更深的网络在推理任务上显著优于更宽的网络。这个结论其实有点反直觉——MoE 领域以前的主流是”往宽了堆”,DeepSeek 和 Mixtral 都是这个路子。GLM-4.5 说不对,推理需要的是深度。

无损平衡路由(Lossless Balanced Routing)#

MoE 的老大难问题:怎么让专家负载均衡?传统做法是加一个辅助损失函数(auxiliary loss)来强制均衡,但这是有代价的——损失函数本身会干扰主损失,相当于给模型加了个”紧箍咒”。

GLM-4.5 用了一个叫 Lossless Balanced Routing(无损平衡路由) 的方案,配合 Sigmoid 门控。具体来说:

  • 门控函数用 Sigmoid 而不是 Softmax。Softmax 天然是竞争性的——你分多了我就少了,这会导致路由不稳定。Sigmoid 是独立的——每个专家有自己的开关,互不干扰。
  • Top-8 选择:从 160 个专家里选 8 个最相关的。
  • 1 个共享专家(shared expert)永远在线,负责通用知识。
  • 负载均衡靠辅助损失,但因为 Sigmoid 的独立性,这个辅助损失的干扰比 Softmax 方案小得多。

论文叫它”无损”,意思是:在保证均衡的前提下,对主任务性能的影响几乎可以忽略。

QK-Norm:给注意力装稳定器#

64 层深网络有个经典问题:注意力 logits 随深度爆炸。层数越多,Q 和 K 的点积越大,softmax 就越接近 one-hot,梯度就消失了。

GLM-4.5 的解法很朴素但很有效:对 Query 和 Key 向量做 LayerNorm,也就是 QK-Norm。消融实验显示,去掉 QK-Norm 后训练不稳定,数学性能也掉了。

Partial RoPE:只给一半维度上旋转#

位置编码用的是 Partial RoPE——旋转位置编码只应用于注意力头维度的一半。这是 GLM 系列的传统艺能了,好处是长上下文外推更稳定,因为不是所有维度都被位置信息绑架持。

MTP:多 Token 预测,训练提速 5-10%#

预训练不是一步预测一个 token,而是加了 MTP(Multi-Token Prediction)模块,一次预测两个未来 token。这个模块有自己独立的路由,但共享专家池。

效果:训练效率提升约 5-10%,同时对代码生成有轻微提升。更重要的是,MTP 模块可以直接当**推测解码(Speculative Decoding)**的草稿模型用——配合 EAGLE 方法,推理速度能加速 2-3 倍。

一个设计,训练和推理两头都占便宜,很划算。

三、训练:三阶段课程学习,15T + 8T 的暴力美学#

预训练:15T 通用 + 8T 高价值数据#

总预训练语料 23T tokens,其中:

  • 15T:通用网页、书籍、对话等
  • 8T:高价值代码、数学、科学、推理数据

数据处理流程:

  1. 质量加权采样:用 fastText 风格的分类器给数据打分,高质量数据被更频繁采样
  2. 语义去重:基于 embedding 聚类做语义级去重,不只是精确字符串匹配
  3. 规则和模型过滤:双重过滤
  4. 领域配比动态调整:训练过程中不同阶段的数据配比会变

消融数据:质量上采样让知识类任务涨了 2-3 个点;语义去重比精确去重多降了一些困惑度,下游任务也更好。

优化器用的是 Muon(Newton-Schulz 步数 5,动量系数 0.95),学习率 cosine decay,batch size 从 16M warm up 到 64M tokens。

代码数据还专门用了 Fill-in-the-Middle(FIM,中间填充) 训练——不只是从左到右生成,还要能补中间。消融显示 FIM 让 HumanEval+ 涨了超过 10 个点。

中期训练:从 4K 到 128K 的渐进式扩展#

上下文长度不是一步到位的,而是分阶段从 4K → 128K 逐步扩展。方法是提升 RoPE 基频 + 加入长文档、长代码和书籍。

结果:128K 长度下的困惑度跟短上下文差不多。

仓库级代码训练是另一个亮点:把相关文件按依赖关系拼接,加文件边界标记,还加入了 pull request、issue、commit、diff 数据。消融显示这直接让 SWE-bench 涨了约 12 个点。

另外还加入了早期强模型生成的合成思维链数据,覆盖数学、科学和逻辑。

后训练:三个专家模型 + 交叉蒸馏#

后训练的思路很有意思:不是一个模型从头训到尾,而是先训三个领域专家,再合在一起

三个专家分别是:

  1. 推理专家:专攻数学、逻辑、竞赛编程
  2. Agent/工具专家:专攻工具调用、搜索、代码解释器、API、数据库查询、文件操作
  3. 通用对话专家:日常问答、写作、指令遵循

每个专家独立训练,然后把三个专家的输出混合蒸馏进最终模型。还用了交叉蒸馏——专家之间互相学习。

训练循环包括:RL → 采样成功轨迹 → 替换 SFT 数据 → 重新训练。

推理 RL:难度课程学习(先简单后难),64K 上下文训练。消融显示课程学习让 AIME 涨了约 4 个点。

Agent RL:在沙盒环境里用搜索、代码解释器、API、数据库查询、文件系统操作。工具调用格式错误直接给零分终止。消融显示 Agent RL 让 BFCL 从 ~85 涨到 90.6,TAU-Bench 涨了超过 15 个点。

工具调用格式用 XML 风格字段,减少转义负担。训练数据里还混入了噪声注入——比如超时、错误的工具输出——逼模型学会容错。

RL 框架:用的是智谱自研的 Slime,支持 PPO 和 GRPO。奖励来源包括规则、代码执行结果、API 返回、检索校验、人类偏好和模型评判。

Thinking/Non-thinking 双模式#

模型支持两种模式:

  • Thinking 模式:显式思维链,先推理再回答
  • Non-thinking 模式:直接回答,不输出推理过程

训练数据混合了两种模式,模型可以按需切换。简单问题用 Non-thinking 省 token,复杂推理用 Thinking 保质量。

四、性能:12 项测试综合全球前三,开源第一#

关键数字摆出来:

基准分数
TAU-Bench(Agent)70.1%
BFCL-v3(函数调用)90.6%
SWE-bench Verified(软件工程)64.2%
AIME 2024(数学竞赛)91.0%
MATH-50097.8%
LiveCodeBench(编程)62.3%

12 项测试综合全球第三开源第一。编码和 Agent 能力接近 Claude-4 Sonnet。Air 版(106B/12B)在部分指标上超过了 Gemini 2.5 Flash 和 Qwen-3 235B。

几个数字值得单独拎出来说:

BFCL-v3 的 90.6% 是什么概念?这是函数调用的成功率——给模型一个自然语言请求和一组可用函数,它要正确选择函数、正确填参数、正确处理返回值。90.6% 意味着 10 次调用里只有不到 1 次出错。这个水平已经可以在生产环境里当 Agent 用了。

AIME 2024 的 91.0% 更夸张。美国数学邀请赛是竞赛级数学,人类选手平均分大概在 30-40%。GLM-4.5 拿 91%,基本是”碾压人类选手”的水平。

TAU-Bench 70.1% 看着不高,但这个基准是测”多轮复杂 Agent 交互”的——不是一次工具调用,是连续十几轮的工具使用+推理+决策。70% 在当时已经是开源模型的天花板了。

这个成绩在 2025 年 8 月的时间节点上,对开源模型来说是碾压级的。更重要的是,它不是靠”偏科”拿到的——不是在某一两个基准上刷到极高然后其他拉胯,是全面均衡地强。这才是 ARC 三合一训练的真正价值。

五、开源与定价:MIT 协议 + 白菜价 API#

MIT 协议开源——这是最宽松的开源协议,商用无限制,不需要开放衍生作品的源码。

API 定价:输入 ¥0.8/百万 token,输出 ¥2/百万 token。这个价格放在 355B MoE 这个体量上,基本是成本价了。

收尾:我的一点看法#

这篇论文让我最兴奋的不是某个单点技术突破,是**“三合一”这个设计哲学的胜利**。

过去开源社区做模型,基本是”偏科生”思路——数学强就猛练数学,代码强就猛练代码。GLM-4.5 证明了一条不同的路:推理、编程、Agent 这三种能力不是互相排斥的,是互相促进的。推理帮编程想清楚再动手,编程帮 Agent 精确执行,Agent 帮推理验证假设。当你在预训练阶段就把三者当统一目标来优化,效果是 1+1+1>3 的。

第二个让我佩服的点是架构上的”反主流”。当所有人都在堆宽 MoE 的时候,GLM-4.5 选了”深而不宽”——64 层、每层 160 个专家、只激活 8 个。消融实验证明这个选择在推理上有实打实的优势。这种”大家都往东我往西,而且证明我是对的”的做法,需要勇气也需要实力。

第三个值得说的是训练管线的工程化程度。三个专家模型分别训练再蒸馏合并、Slime 异步 RL 框架、难度课程学习、噪声注入——这些不是论文里画大饼的 idea,是实打实跑出来的工程。特别是 Agent RL 那部分,在沙盒里用真实工具训练、格式错误直接零分——这种”不给活路”的训练方式才能逼出真正可靠的 Agent 行为。

当然也有不足。128K 上下文在 2025 年下半年已经不算长了,DeepSeek-V3.2 和 Gemini 都在往 1M 走。SWE-bench 64.2% 虽然不错但离顶级闭源还有距离。而且 355B 总参数对私有化部署来说门槛还是高了——虽然有 Air 版,但 Air 版的 Agent 能力明显弱于完整版。

但瑕不掩瑜。GLM-4.5 是 2025 年开源模型的一个里程碑:它证明了开源模型可以在推理+编程+Agent 三个维度同时达到准顶级水平,而且用 MIT 协议毫无保留地开放了。这个信号比任何单一跑分都重要。


附:核心数据速查#

模型规格

指标数值
总参数355B
激活参数~32B
架构MoE,64 层,160 专家/层,Top-8 + 1 共享
上下文128K
注意力头96 Q / 8 KV(GQA)
隐藏维度5120
协议MIT

GLM-4.5-Air 规格

指标数值
总参数106B
激活参数~12B
层数48
专家128/层,Top-8 + 1 共享
隐藏维度3584

训练数据

阶段数据量内容
预训练通用15T tokens网页、书籍、对话
预训练高价值8T tokens代码、数学、科学、推理
中期训练4K→128K 渐进扩展长文档、仓库级代码、合成 CoT
后训练三专家蒸馏 + RL推理/Agent/通用

关键消融数据

消融项效果
深 > 宽(同参数预算)推理显著提升
QK-Norm去掉后训练不稳、数学掉分
MTP 多 token 预测训练效率 +5-10%,代码微涨
FIM 中间填充HumanEval+ 涨 10+ 点
仓库级数据SWE-bench 涨 ~12 点
课程推理 RLAIME 涨 ~4 点
Agent RLBFCL ~85→90.6,TAU-Bench +15
质量上采样知识任务 +2-3 点

性能成绩

基准GLM-4.5备注
AIME 202491.0%数学竞赛
MATH-50097.8%
LiveCodeBench62.3%
SWE-bench Verified64.2%
BFCL-v390.6%函数调用
TAU-Bench70.1%Agent
综合排名全球第3,开源第112 项基准

API 定价

方向价格
输入¥0.8/百万 token
输出¥2/百万 token

关键概念清单

  • ARC = Agentic, Reasoning, Coding(智能体、推理、编程三合一)
  • MoE = Mixture of Experts(混合专家模型)
  • Lossless Balanced Routing = 无损平衡路由(Sigmoid 门控 + Top-8 选择)
  • Sigmoid 门控 = 独立开关式路由,非竞争性
  • QK-Norm = 对 Query/Key 做 LayerNorm 稳定注意力
  • Partial RoPE = 只对一半头维度做旋转位置编码
  • MTP = Multi-Token Prediction(多 token 预测)
  • EAGLE = 推测解码方法(配合 MTP 实现 2-3x 加速)
  • GQA = Grouped Query Attention(分组查询注意力)
  • FIM = Fill-in-the-Middle(中间填充训练)
  • Slime = 智谱自研异步 RL 框架(支持 PPO/GRPO)
  • Thinking/Non-thinking = 双模式(显式推理/直接回答)
  • SWE-bench = 软件工程基准(修复 GitHub issue)
  • TAU-Bench = Agent 任务基准
  • BFCL = Berkeley Function Calling Leaderboard(函数调用排行)
  • AIME = 美国数学邀请赛
  • 课程学习 = Curriculum Learning(先易后难的训练策略)
  • 交叉蒸馏 = Cross-distillation(专家间互学)
分享

如果这篇文章对你有帮助,欢迎分享给更多人!

GLM-4.5:推理编程全焊死
https://mizuki-eaf.pages.dev/posts/glm/glm-45推理编程全焊死/
作者
无名之子
发布于
2026-07-16
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时

目录