自 3 月起,我们在 GLM-5 的线上监控和用户反馈中观察到三类异常现象:
乱码(garbled output)、复读(repetition),以及生僻字(rare character)。
大家常称之为 “降智”。
但由于我们并没有上线任何降低模型精度的优化,
所以问题变得扑朔迷离了起来。
我们需要明确:异常究竟源于模型本身,还是源于推理链路?
这个问题经过数周的推演、排查与压测,
最终定位并修复了几个相互独立的底层竞态 Bug,
并对其中所反映的系统瓶颈进行了针对性优化,
显著提高了推理系统的稳定性和效率。
问题的发现和解决依托于社区开发者的互动,
我们向开发者有奖征集了一百余个case,用于前期定位问题,
也就是文档中的第一步:
排查初期,我们先对用户反馈的 bad cases 做本地回放,并将同一批请求重复推理数百次,但始终未能复现异常,说明大概率不是模型本身的问题。
而后又进行了逐步深入的排查和尝试,问题解决过程长达一个月。
最终仅用3行代码解决,
但问题很深,几乎已经接近CUDA核心,
这也是问题棘手的原因。
具体排查过程可以参考 公众号文章,在此就不赘述了。https://mp.weixin.qq.com/s/P2b5yivqEKP4vB4M633XTA
站内也已有帖子,可以直接看:
https://linux.do/t/topic/2085285
整个排查过程用时较久,感谢广大用户和社区开发者的积极贡献!
我们始终希望给大家带来更好、更智能的模型体验,
有时遇到问题,确实会需要一些时间和精力,
感谢大家的耐心,让GLM有不断变好的机会!
11 个帖子 - 10 位参与者