智谱自曝“降智”真相:Scaling Law的隐性代价与工程解法

2026/05/01 19:00阅读量 1

智谱在一篇技术博客中公开了GLM-5系列模型在Coding Agent大规模服务中出现的乱码、复读等异常现象,定位到PD分离架构下的KV Cache竞态和HiCache加载时序缺失两个底层Bug。团队通过投机采样指标建立在线监控,并引入显式同步机制将异常率降至万分之三以下,同时推出LayerSplit方案优化Prefill阶段,提升长上下文任务吞吐量达132%,揭示了大规模模型落地必须匹配系统性工程支撑。

事件概述

智谱近日发布了一篇名为“Scaling Pain”的技术博客,坦白自GLM-5系列模型发布以来,在为Coding Agent提供大规模推理服务时所遭遇的一系列“降智”现象。每天服务数亿次调用,用户反馈出现乱码输出、重复生成以及罕见字符三类异常,而这些异常在标准推理环境中完全无法复现。经过数周排查,团队最终将问题锁定在底层推理基础设施的状态管理缺陷上,并给出了具体的修复方案与工程优化。

核心问题定位

异常表现

  • 乱码输出:内容杂乱无意义;
  • 重复生成:模型陷入高置信度的重复循环;
  • 生僻字:输出异常字符。

在本地回放真实请求数百次均无法触发异常,进一步模拟高负载在线环境后,每万次请求中仅能复现3-5个异常输出,远低于用户反馈频率。这说明传统检测方法存在遗漏。

借助投机采样指标监控

团队发现投机采样(Speculative Decoding)的相关指标可以有效捕捉异常:

  • 乱码和生僻字场景中,目标模型与草稿模型的KV缓存高度不匹配,spec_accept_length极低;
  • 复读场景中,spec_accept_length异常偏高,表明受损的KV缓存导致注意力模式退化。

据此建立在线监控策略:若spec_accept_length持续低于1.4且生成长度超过128 token,或spec_accept_rate超过0.96,系统即主动终止当前生成,并将请求重新调度。

两大关键Bug及修复

1. PD分离架构下的KV Cache竞态

在PD(Prefill-Decode)分离架构中,请求生命周期与KV Cache回收、复用时序不一致,导致跨请求的KV Cache被污染。修复方案是在推理引擎中引入显式同步:解码阶段发出中止指令后,必须等待预填充阶段确认所有RDMA写入已完全完成,才允许回收并重用相应的KV Cache槽位。修复后,异常输出发生率从约万分之十以上降至万分之三以下。

2. HiCache加载时序缺失

当KV Cache换入操作与计算重叠时,系统可能在数据未完全加载的情况下便访问未就绪的KV Cache,引发计算错误。团队重构了HiCache读取流程,在启动Indexer算子前插入Load Stream同步点,确保相应缓存已完全加载后才开始计算。该修复消除了因执行时序不一致导致的同类异常。

Prefill阶段优化:LayerSplit

两个Bug均指向长上下文Coding Agent任务中的Prefill阶段已成为系统性能瓶颈。为缓解高并发下的内存与带宽压力,智谱设计了LayerSplit方案:每个GPU仅存储模型部分层的KV Cache,在执行Attention计算前将对应层的KV Cache广播给其他rank。为了隐藏通信延迟,KV Cache广播与Indexer计算进行重叠,额外的通信开销仅为Indexer Cache(大小为KV Cache的1/8),整体几乎无感。

结合GLM-5.1模型,当Cache命中率达90%、请求长度在40k至120k token区间时,系统吞吐量提升10%至132%,且上下文越长收益越大。

值得关注

这次公开的踩坑记录表明,当模型能力沿着Scaling Law持续增长,并被投入高并发、长上下文的Coding Agent等生产场景时,推理系统的工程复杂度会急剧上升。单纯依赖模型能力的扩展已不足以保证输出质量,必须同步建设监控、异常检测、资源调度与底层链路优化等系统工程能力。智谱的实战经验为业内提供了一套可参考的避坑指南:在线监控指标设计、KV Cache同步机制以及分层存储优化,都是大规模AI服务走向稳定可靠的关键环节。

准备好启动您的定制项目了吗?

现在咨询,即可获得免费的业务梳理与技术架构建议方案。