Diffusion‑based 多模态大语言模型(dMLLM)通过迭代去噪和双向注意力进行解码,这使得传统的自回归 KV 缓存无法使用。实际部署中常采用近似缓存,即在去噪步骤之间复用中间状态。该缓存会导致模型在相邻位置重复同一 token,破坏句子连贯性,本文称之为 重复诅咒。
从信息流角度追踪可发现三类中断:
- 步内中断——缓存分散了注意力,使得位置不再紧密锚定相邻上下文 token;
- 跨步中断——基于相似度的刷新不考虑陈旧程度,导致部分位置使用过时的 KV 状态进行解码;
- 跨层中断——深层的上下文熵未收敛,熵值高的层会产生重复。
为此提出 CoTA++,一个无需额外训练、即插即用的框架,针对每个中断在其根源处进行补救:
- Context‑Token Attention Re‑anchoring:在当前上下文上重新构建注意力路由,恢复步内锚定;
- Decode‑Aware Refresh:在刷新缓存时为即将提交的 token 保留部分刷新预算,避免使用陈旧 KV;
- Context‑Token Entropy‑Guided Voting:依据深层上下文熵对位置置信度进行折扣,并据此重新排序解码顺序。
这三者在解码步骤的不同阶段独立工作,可自由组合到现有 dMLLM 与缓存实现中。实验在三种 dMLLM 与两种缓存后端上验证:长回复的样本重复率从最高 99.6% 降至不超过 17.0%,在九个基准上恢复了大部分因缓存导致的精度损失,且额外开销保持在 15% 以下,使近似缓存在 dMLLM 中变得可靠。
点评:CoTA++ 通过信息流的细粒度干预,有效破解了迭代去噪缓存的固有缺陷,为大规模多模态生成提供了实用的可靠性提升方案。