- Published on
GLM-5.2 技术报告速览:IndexShare 与 critic-based PPO
- Authors

- Name
- Jason Huang
- @zesenhhh
Table of Contents

GLM-5.2 是智谱的开源旗舰,主打长程任务(744B MoE,约 40B 激活,MIT)。目前公开材料主要是官方博客、模型卡与相关子技术论文,还不是一篇完整的独立技术报告。本文讲三件事:
- IndexShare(论文中称为 IndexCache,实为同一机制),让 sparse attention 里「挑重点」的开销跨层复用;
- 长程 RL 中从 GRPO 转向 critic-based PPO 的取舍;
- coding agent RL 里针对 reward hacking 的在线拦截。
背景
当模型大量用于长篇推理、多步 agent、超长文档检索时,注意力的二次复杂度(文本长一倍、计算量涨四倍)成了推理速度和服务成本的主瓶颈。
Sparse attention 是当前主流解法:与其让每个词都看全文,不如只挑最相关的一小撮来算。其中 DeepSeek 的 DSA 工程化最彻底,上一代的 GLM-5 用的就是它:它把核心注意力从 降到 ( 是序列长度, 是每个 query 实际保留的 key 数),但负责挑 token 的 indexer 本身仍是 ,而且每层都要独立重算。IndexShare 解决的就是这个被遗留下来的开销。
IndexShare
indexer 的开销没省掉
DSA 每层拆成「挑重点」和「读重点」两步。挑重点由一个轻量旁路 lightning indexer 完成:它有自己一套独立、低维的投影 (不复用主注意力的 Q/K),对 query 位置 和每个合法 key 位置 ()算一个标量索引分:
直观理解:这是 indexer 给「位置 该不该关注位置 」打的相关性分。 是低维的 indexer query/key(维度远小于主注意力头), 是 indexer 头数(很少), 是每头门控权重。用 而非 softmax 是为了快、对 FP8 友好。算完取 top-k(),主注意力只在这 个 token 上算,于是降到 。
问题在于:indexer 单次打分虽便宜一个量级,但它要对所有 都打,仍是 ,跨 层累计成 。在百万级上下文下,这个省不掉的 indexer 反而成了主导项——profiling 显示它在 prefill 阶段的延迟占比随上下文长度急剧上升。
少数层挑,其余层复用
IndexShare 的立足点是一个实证观察:相邻层 indexer 选出的 top-k 高度重合。论文对一个 47 层模型逐对计算重合率,相邻层达 0.7–1.0,且呈现明显的功能块聚类。既然下游几层选的几乎是同一批 token,每层重算就是浪费。

做法是把层分成两类:Full 层保留 indexer、正常挑,行为与标准 DSA 一致;Shared 层没有 indexer,直接继承最近一个 Full 层的索引集。GLM-5.2 博客用的是每 4 层一组、1 Full + 3 Shared。要点是:复用的是「挑哪些 token」这份索引,不是读出来的结果——Shared 层省掉的只是算索引这一步,每层的 sparse attention 仍各算各的。所以省的是 indexer 的 ,不是 attention 的 。
直接隔层复用会掉点,因为每个 indexer 原本只为自己那层训练。解法是训练时让保留的 indexer 去拟合它所服务那组层注意力分布的平均,而非只拟合自己那层:
其中 是第 层主注意力各头平均后的真实分布, 是该 Full 层服务的 Shared 层数, 是这组层的「质心」分布。让 indexer 用 KL 去对齐这个质心,它挑出的 top-k 才对整组层都够用。消融显示去掉这个目标后 Long Avg 从 51.6 掉到 49.8、AA-LCR 从 49.8 掉到 44.0——让硬复用可行的不是复用本身,而是这个把 indexer 训成组代表的目标。
效果
在 744B 的 GLM-5 上,保留一半 indexer 的 IndexShare 在长上下文和推理任务上与原始 DSA 基本持平。提速方面,30B 模型在 200K 上下文下 prefill 提速 、decode ;744B 的 GLM-5 在 100K 以上也有至少 。
需注意口径:博客宣称的 是 1M 上下文下 per-token FLOPs 降幅,IndexCache 论文给的 是 30B 模型 200K 下的端到端推理提速,两者不是一回事。

同样的「复用」思路还被 GLM-5.2 博客延伸到了投机解码:它把 IndexShare 与 KVShare 接进 MTP(multi-token prediction,投机解码的草稿层),让草稿模型直接复用主模型已经算好的索引和 KV 结构上下文,把平均接受长度提到 5.10 token,再叠加验证阶段的 rejection sampling 提到 5.29,相比改进前接受长度提升最多约 20%。
critic-based PPO
从 GRPO 到 critic-PPO
近年 coding RL 主流是 GRPO 那类 group-relative 优势估计:同一 prompt 采 条 rollout,优势直接在组内标准化。
是第 条轨迹的奖励,用同组均值当 baseline、标准差归一。好处是不需要 value network,但隐含前提是:组内 条 rollout 是同质、可比的单条轨迹。
GLM-5.2 的长程 trace 极长,超窗就要压缩历史、把一条超长轨迹切成多段。后果是同一 prompt 的不同 rollout 切出的子轨迹数量不同、长度悬殊,组里装的不再是同质单元,对它们做 本身就不稳定。
解法是改用 critic-based PPO:训一个 value 函数 ,优势改用单条轨迹自身的 token 级 GAE 估计。
是单步 TD 残差(依赖 critic ), 折扣、 是 GAE 的偏差-方差权衡系数。关键在于这个估计只依赖单条 rollout,不需同组比较,于是一个 prompt 产出多少条、多长的子轨迹都无所谓。配套地用 token 级 loss 抵消长度不均:序列级平均会按 稀释长轨迹里每个 token,改成全局 token 级归一化让每个 token 等权。值得注意的是这条边界:当轨迹结构不再同质时,group-relative 的免 critic 红利会失效——这对判断哪类 RL 技巧在 agentic 长程场景下会失灵有参考价值。
针对 reward hacking 的在线拦截
长程 coding RL 的另一现实问题是 reward hacking。代码任务常用可验证的 pass/fail 奖励,模型越强越可能学会绕过评测:读取受保护的评测文件、复制参考答案、从上游仓库或 GitHub raw 链接直接取目标实现。这些行为抬高 rollout reward,却污染训练信号。
GLM-5.2 的处理是在线拦截而非整条作废:先用规则模块高召回地标记可疑 tool call,再交给 LLM judge 判断意图;确认是 hack 就阻断该工具调用、返回 dummy 信息,让 rollout 继续。价值不在规则多新,而在于它承认 agentic RL 的奖励信号会被工具环境反向塑形,因此必须把反作弊放进训练闭环,而不是只在离线评测后清洗。
模型评估
重点在长程编码。在 FrontierSWE、PostTrainBench、SWE-Marathon 三个长程 coding benchmark 上,GLM-5.2 是排名最高的开源模型:FrontierSWE 落后 Opus 4.8 约 1%、略胜 GPT-5.5;按 GLM-5.2 博客发布时的口径,PostTrainBench 超过 Opus 4.7 和 GPT-5.5、仅次于 Opus 4.8,但第三方榜单后续更新后已把 GLM-5.2 列到榜首;SWE-Marathon 这种超长程任务还有差距,落后 Opus 4.8 约 13%。

常规 coding benchmark 上,Terminal-Bench 2.1 从 GLM-5.1 的 63.5 提到 81.0,逼近 Opus 4.8 的 85.0,领先 Gemini 3.1 Pro;SWE-bench Pro 62.1 对 58.4。

effort level 控制方面,相同 token 预算下 GLM-5.2 的 agentic coding 大致落在 Opus 4.7 与 4.8 之间,Max 档允许在难任务上追加算力进一步拉高上限。

几点需要留意:完整 benchmark 表里仍有明显短板,SWE-Marathon 只有 13.0(Opus 4.8 是 26.0),NL2Repo、Tool-Decathlon 与闭源前沿差距可见。评测口径上,HLE 等用 GPT-5.5 当 judge,而三个长程 benchmark 由第三方机构(Proximal、PostTrainBench、Abundant AI)评测,后者相对更可信。
小结
1M context、effort levels、MTP 与投机解码优化这些更多是把现有路子打磨到位——属于扎实的增量工程。相对有意思的是三点:IndexShare 把「跨层索引高度冗余」这个先验工程化,对做长上下文检索和服务有借鉴;「能力上升伴随 reward hacking 上升」这一实证信号及其在线拦截设计;critic-PPO 适配 compaction 子轨迹这个被工程约束逼出来的取舍。这三点更接近方法层面的边界探索,而非范式突破。开源、可自托管、服务成本更低、coding 接近 Opus,则更多体现在产品和成本上。
我不是模型训练的专家,对强化学习也不算很了解,本文章纯粹出于兴趣,追踪前沿开源模型的发展进展,如有差错请不吝指出。
欢迎关注微信公众号👏

欢迎微信扫码加入我的付费知识星球👏
