在实时交互模型中,如 Moshi、MiniCPM-o 和 Qwen-Omni,服务转变为周期性实时任务:每帧会话接收流音频并必须在固定的墙钟截止时间内响应,同时其 KV 缓存单调增长并在整个对话中保持固定。这种机制隐藏了一个危险的失败模式。
在真正的全双工栈中,持续负载不会优雅地降低服务质量:它会突然跌落,从每帧几毫秒直接跳到停止状态,因为累积的会话状态耗尽了 KV 池。这种崩溃是亚稳态的——相同的五分钟运行在不同运行间的变化下可能崩溃或存活,并且是无声的:延迟和截止时间未达到的指标在整个过程中看起来都正常。
我们展示了一个解决方案:限制每个会话的常驻状态,延迟开始真实反映情况。Metronome 的内部 KV 窗口消除了崩溃(在两个批次中分别为 0/20 和 14/20 的成功运行),并将每帧延迟转化为单调负载信号,通过这个信号在线接纳控制器可以发现可调度的并发性;如果没有这个窗口,相同的控制器会过度接纳,从而导致崩溃。
一个一阶模型可以在几个百分点内预测崩溃时间,并且质量探测通过消融验证了边界设计:仅凭窗口在回合制解码中是无质量的,其少量固定的注意力沉淀标记才使得自由运行的生成保持健康。所有测量均在真实音频上进行,涵盖四种交互模型,使用一台 GPU 进行计算。
博主点评: Metronome 通过限制 KV 缓存的使用,解决了实时交互模型服务中的潜在崩溃问题,展现了极高的稳定性和可观测性。该技术不仅提升了系统的可靠性,还为实时处理提供了有效的解决方案,值得关注和学习。