和 AI 语音通话时,最怕的不是它慢一点,而是前一秒还顺,后一秒突然安静。Metronome 关注的正是这个工程问题:Moshi、MiniCPM-o、Qwen-Omni 这类实时交互模型,要一边听一边回,每隔一小段时间处理一帧音频。它们不像普通聊天机器人那样“问一次、答一次、清场”,而是把整段对话的中间记忆一直留在 GPU 上。论文把这种服务形态称为周期性实时任务:每一帧都要赶上固定截止时间。问题在于,这块记忆会越长越大,直到把 KV 池——多场会话共用的模型记忆空间——占满。作者在真实全双工栈上观察到,系统不会逐渐变慢,而是从每帧几毫秒直接跳到停摆;更麻烦的是,延迟和超时指标在崩溃前看起来还很健康。
Metronome 的做法很克制:给每个会话的常驻 KV 设上限,只保留最近一段上下文,再固定保留少量 attention sink tokens——可以理解成帮助模型维持生成稳定性的“锚点”。这样一来,内存不再无界增长,延迟也重新变成有用信号:负载越高,延迟会更平滑地上升,而不是一直正常到突然断崖。论文作者自述,在四个交互模型、真实音频和单 GPU 设置下,这个窗口机制消除了崩溃,并让在线准入控制器能找到可承载的并发量;没有窗口时,同一个控制器会继续放人,直到撞上内存墙。摘要未披露完整数值细节,但这篇工作的要点已经很清楚:实时语音 AI 不只需要更快的模型,也需要一个能守住节拍的服务层。