Zhipu GLM-5 Scaling Pain
来源:<a href="/wiki/raw/to-learn/智谱公布"降智"的秘密:scaling不可避免的痛" class="wikilink">量子位 — 智谱公布"降智"的秘密:Scaling 不可避免的痛, 2026-05-01
智谱在 GLM-5 系列发布后,发现用户报告了乱码、复读、生僻字三类异常,但本地标准推理环境压根复现不出来。排查数周,定位到的不是模型本身,而是 PD 分离架构下的 KV Cache 时序竞态——只有在高负载、长上下文、Coding Agent 这类极端场景才会暴露。
智谱把这一类问题统称为 Scaling Pain:模型能力可以靠 Scaling Law 推上去,但匹配的推理基础设施工程必须等量级跟上。
三类异常与发现路径
| 异常 | 表现 | 复现条件 |
|---|---|---|
| 乱码输出 | 内容杂乱无意义 | 高负载 + PD 分离 |
| 重复生成 | 模型不断重复相同内容 | 同上 |
| 生僻字 | 出现异常字符 | 同上 |
本地重复运行相同请求数百次始终无法触发,说明模型权重不是根本原因。当团队调整 PD 分离比例并持续提高系统负载,每 10000 个请求中可以复现 3-5 个异常输出。问题指向高负载下的推理状态管理。
spec_accept_length 作为异常检测信号
投机采样(Speculative Decoding)的 spec_accept_length 指标可以作为异常检测的代理信号:
| 异常 | spec_accept_length 表现 | 含义 |
|---|---|---|
| 乱码、生僻字 | 异常低 | 目标模型 KV Cache 与草稿模型存在不匹配 |
| 复读 | 异常高 | 损坏的 KV Cache 推动注意力退化为高置信度循环 |
在线异常监控策略:
spec_accept_length持续低于 1.4 且生成长度超过 128 token → 主动中止spec_accept_rate超过 0.96 → 主动中止- 中止后将请求重新交回负载均衡器
这是一个把投机采样的副产品(draft 接受率)变成了生产异常的免费哨兵——不需要额外的检测模型,复用现有推理优化指标即可。
Bug 1:PD 分离下的 KV Cache 竞态
PD 分离(Prefill-Decode disaggregation)把 prefill 和 decode 拆到不同 GPU 节点,靠 RDMA 写 KV Cache 实现转手。竞态发生在:请求生命周期与 KV Cache 回收/复用时序不一致——decode 阶段已经触发回收,prefill 阶段的 RDMA 写入还没完成,KV Cache 槽位被复用,跨请求污染。
修复:在请求中止与 KV Cache 写入完成之间建立显式同步。
发出中止指令后:
- Decode 阶段向 Prefill 阶段发送通知
- Prefill 阶段返回安全回收信号的条件:
- 未启动任何 RDMA 写入,或
- 所有先前发出的写入操作已完全完成
- Decode 阶段只有在收到此确认后才回收并重用 KV Cache 槽位
修复后异常发生率从约万分之十几降到万分之三以下。
Bug 2:HiCache 加载时序缺失
KV Cache 换入与计算重叠时,当前实现未保证数据在使用前已完成加载,可能出现 read-before-ready——还没加载好的 KV Cache 被访问。
修复:重构 HiCache 读取流程,引入数据加载与计算之间的显式同步约束。
- Indexer 算子启动前先插入 Load Stream 同步点
- Forward Stream 只有在数据准备就绪后才进行计算
应用此修复后,由执行时序不一致引起的异常被消除。
Prefill 侧瓶颈与 LayerSplit
两个 bug 指向同一个系统瓶颈:长上下文 Coding Agent serving 任务中,Prefill 阶段已是性能主导因素。
LayerSplit 设计:
- 每个 GPU 只存储部分层的 KV Cache,显著降低单 GPU 内存占用
- 在执行 Attention 计算前,将对应层的 KV Cache 广播给其他相关 rank
- 通过 KV Cache 广播与 indexer 计算重叠隐藏通信延迟
- 唯一额外通信开销来自 Indexer Cache 广播,大小仅为 KV Cache 的 1/8
LayerSplit + GLM-5.1:在 Cache 命中率 90%、请求长度 40k-120k 区间,系统吞吐量提高 10-132%,且收益随上下文长度增加。
教训
智谱的总结非常坦率:
当智能真正进入高并发、长上下文的 Coding Agent 场景后,维护推理基础设施的输出质量变得至关重要。未来大规模 AI 需要的不仅是 Scaling Law 推动的能力增长,还必须有等量级的系统工程支撑。
这与 Agentic Software is Systems Engineering 完全一致——Coding Agent 流量级别上来后,每个请求都是一次潜在的并发事故,传统模型推理的"无状态"假设全部失效。
相关
- DeepSeek V4 —— 同期另一个 China lab 在 batch invariance、CSA/HCA 上的工程突破
- Agentic Software is Systems Engineering —— Agent 系统是分布式系统问题
- Coding Agent 推理基础设施 —— Coding Agent 流量对推理系统的全新要求