当前位置: 首页 > news >正文

智谱公布“降智”的秘密:Scaling不可避免的痛

鹭羽 发自 凹非寺
量子位 | 公众号 QbitAI

Scaling即正义?智谱挠了挠头——

很痛苦,而且压力山大……

智谱最新发布的一篇技术博客,画风稍微有点不一样:

没有过去的硬核技术输出,反而大倒苦水从GLM-5以来的各种花式踩坑,官方称之为「Scaling Pain」

我们的推理基础设施正承受着前所未有的压力,每天都要服务数亿次Coding Agent调用。

过去几周,一些用户在使用GLM-5系列模型执行复杂Coding Agent任务时,遭遇多种异常,比如乱码、复读和罕见字符生成。

而且这些问题在标准推理环境中压根复现不出来!!!

排查数周,团队终于揪出真凶,彻底戳破Scaling Laws路上的隐形Bug。

不仅详细总结了自身遭遇的昂贵教训,还给出了一套极具实操性的避坑指南。

简单来说,如果屏幕前的你正打算给自己的Agent加码,那么这篇来自一线实战的经验总结,建议先反复阅读背诵~

定位关键Bug

事情是酱紫的——

自从GLM-5发布以来,智谱通过观察用户的大规模Coding Agent推理过程,发现了三类异常现象:

  • 乱码输出:内容杂乱无意义;
  • 重复生成:模型不断重复输出相同内容;
  • 生僻字:出现异常字符。

这引起了团队工程师的警觉,于是说干就干,先是通过本地回放用户反馈,重复运行相同请求数百次,结果始终无法触发异常。

换言之,模型本身并非根本原因。

在进一步模拟在线环境后,团队尝试调整PD分离比例并持续提高系统负载,异常现象终于得以复现,在每10000个请求中大约能复现出3-5个异常输出。

这说明,异常现象很有可能出自高负载下的推理状态管理,指向底层推理链路。

但同时也引出了另一个问题,线下的复现率仍低于用户线上反馈的频率,这就意味着现有的检测方法存在遗漏或触发条件尚未完全覆盖。

于是智谱团队继续对异常输出的检测方法进行优化。他们发现投机采样(Speculative Decoding)指标可作为异常检测的重要参考。

投机采样原本用于提升模型推理性能,它先由小模型生成草稿(draft tokens),再由大模型验证是否接受这些token,最终能够在不改变输出分布的情况下提升decode效率。

而在GLM-5的三类异常中,乱码和生僻字的spec_accept_length非常低,也就是说目标模型的KV缓存状态与草稿模型之间存在明显不匹配。

复读则拥有过高的spec_accept_length,表明损坏的KV缓存可能导致注意力模式退化,将生成过程推向高置信度的重复循环。

基于以上观察,智谱总结出了一套在线异常监控策略

当spec_accept_length持续低于1.4且生成长度超过128 token,或者spec_accept_rate超过0.96,系统就会主动中止当前生成,并将请求重新交回给负载均衡器。

紧接着,智谱开始进一步解析异常原因:

PD分离架构下的KV Cache竞态

团队通过分析请求生命周期和推理引擎中的PD分离执行时序,将问题归因于请求生命周期与KV Cache回收与复用时序之间的不一致,从而引发的KV Cache复用冲突。

为了消除这类竞态情况,研究人员在推理引擎中引入了更为严格的时序约束,会在请求终止和KV Cache写入完成之间建立显式同步

具体来说,在发出中止指令后,解码阶段会向预填充阶段发送通知。预填充阶段只有在满足以下任一条件时才会返回安全回收信号:未启动任何RDMA写入,或所有先前发出的写入操作已完全完成。而解码阶段只有在收到此确认后才会回收并重用相应的 KV Cache槽位。

该机制将确保KV Cache写入不会跨越内存复用边界,从而避免跨请求的KV Cache损坏。

最终修复该bug后,异常输出的发生率从约万分之十几下降至万分之三以下。

HiCache加载时序缺失

此外,当KV Cache换入与计算重叠时,当前实现未能保证数据在使用前已完成加载,导致可能出现未就绪KV Cache被访问的情况。

为解决这一问题,团队重构了HiCache读取流程,同时引入数据加载与计算之间的显式同步约束。

在启动Indexer算子之前,先插入一个Load Stream同步点,确保相应级别的Indexer缓存已完全加载。Forward Stream只有在数据准备就绪后才会进行计算,从而消除了read-before-ready的问题。

应用此修复后,在相同的工作负载条件下,由执行时序不一致引起的异常被消除,系统终于得以稳定。

Prefill侧优化

事实上,这两种Bug都指向了同一个常见的系统瓶颈:

在长上下文的Coding Agent Serving任务中,Prefill阶段已经成为影响系统性能的主要因素。

于是为了缓解Prefill阶段在高并发下的内存和带宽压力,团队另外设计了KV Cache分层存储方案——LayerSplit

在该方案中,每个GPU只存储部分层的KV Cache,显著降低了每个GPU的内存占用。然后在执行Attention计算前,将对应层的KV Cache广播给其他相关rank。

为了降低通信开销,还进一步设计有KV Cache广播与indexer计算的重叠机制,将通信延迟隐藏在计算过程中。这样唯一的额外通信开销就来自Indexer Cache的广播,其大小仅为KV Cache的八分之一,整体通信成本可以忽略不计。

团队将LayerSplit和GLM-5.1结合发现,在Cache命中率达到90%、请求长度在40k到120k区间内时,系统吞吐量提高了10%到132%,且随着上下文长度的增加,收益也随之增长。

总体而言,该优化显著提升了系统在Coding Agent场景下的处理能力。

同时智谱也认为,当智能真正进入高并发、长上下文的Coding Agent场景后,维护推理基础设施的输出质量变得至关重要。未来大规模AI需要的不仅是Scaling Law推动的能力增长,还必须有等量级的系统工程支撑。

参考链接:
[1]https://z.ai/blog/scaling-pain
[2]https://www.zhipuai.cn/zh/research/159

欢迎AI产品从业者共建

📚「AI产品知识库」是量子位智库基于长期产品库追踪和用户行为数据推出的飞书知识库,旨在成为AI行业从业者、投资者、研究者的核心信息枢纽与决策支持平台。

一键关注 👇 点亮星标

http://www.jsqmd.com/news/737590/

相关文章:

  • SkyWalking整合Elasticsearch踩坑记:搞定‘JAVA_HOME is deprecated’警告的三种姿势
  • 深入理解Qt的UI编译机制:从.ui到.h,再到moc,你的代码到底经历了什么?
  • 马斯克为何一定要干掉 OpenAI?这不只是恩怨,而是一场 AI 时代的产权之战
  • 从振动琴弦到数字信号:Fourier分析如何成为现代工程师的“听诊器”?
  • 让旧Mac重获新生:OpenCore Legacy Patcher终极指南
  • PostGIS实战:用这5个函数搞定90%的空间数据处理(附避坑指南)
  • Hotkey Detective:Windows热键冲突检测的终极指南与解决方案
  • OpenCore Legacy Patcher:为旧Mac续命的系统重生工具
  • GPT Image 2研究科学家陈博远:我在OpenAI修中文
  • 毕业不焦虑:百考通AI双管齐下,轻松搞定查重与AIGC率
  • 【2026信创攻坚关键一步】:VSCode国产化适配的5大技术卡点——从字体渲染崩溃到GPU加速失效,全部源自某部委真实压测报告
  • 告别编译恐惧:用Meson+Ninja从零构建Mesa 22.x的完整指南(附常见错误排查)
  • Oura 5 月 6 日推生殖健康新功能,考虑激素避孕因素助力经期女性健康管理
  • PotatoNV终极指南:免费解锁华为设备Bootloader的完整教程
  • 网络排障必备技能:手把手教你用Wireshark分析ARP欺骗与IP冲突(附真实数据包解读)
  • 毕业季终极助手:百考通AI如何用“查重+AIGC检测”双引擎,为你的论文保驾护航
  • 2026年AI搜索生成式引擎GEO优化行业主流服务商3强竞争力深度分析报告 - 商业小白条
  • Win10更新后桌面黑屏别慌!教你用任务管理器+注册表三步修复Explorer进程
  • 避坑!SEED-XDS560V2PLUS仿真器安全模式退出失败?你可能缺了这几个关键DLL文件
  • NSC_BUILDER终极指南:Nintendo Switch文件处理的完整解决方案
  • Windows系统丢失D3DCompiler_47.dll文件无法启动程序解决
  • MediaPipe TouchDesigner插件完整解决方案:从安装到性能优化的专业指南
  • 终极指南:如何使用2048 AI实现游戏自动求解与智能决策
  • 从龙芯3A3000手册到实战:聊聊DCDC电源纹波超标如何让CPU‘罢工’
  • 基于LLM Agent的自主交易系统TradeClaw:从架构到实战部署
  • DEEPTRACEREWARD数据集与AI视频伪造检测技术解析
  • 3步搞定:roop-unleashed开源AI换脸工具让你的创意表达翻倍
  • DownKyi完全指南:三步搞定B站8K视频下载与高效管理
  • 5步掌握ColorControl:跨设备显示控制与电视协同终极指南
  • 怎样高效使用Python脚本:3步完成京东商品自动化抢购