循环 Transformer 像让同一位编辑反复修改一篇稿子:参数可以重复用,但每轮留下的“草稿”仍会越积越多。这里的草稿就是 KV 缓存——模型生成文字时保存的历史中间结果。LoopVQ 和 LoopKV 都瞄准了这些循环之间的重复信息,试图把长文本推理的内存负担降下来。
LoopVQ 的关键做法,是把多个循环中彼此相似的数据一起编码,共用索引;再针对不同循环对误差的敏感程度调整“码本”,也就是压缩时使用的共享对照表。作者称,它在 Ouro 和 Huginn 模型上把缓存压到平均每元素 0.5 比特,仍优于面向普通大模型的既有向量量化方法;结合 TaSQ 后,甚至可到 0.25 比特。低于 1 比特并非把单个数字切成半个比特,而是许多元素共同分摊索引和码本成本。
另一项工作 LoopKV 则先离线测量每个“循环×层”对压缩的敏感度,再分别选择 4 比特、2 比特或复用最后一轮缓存。作者报告,在 Ouro-1.4B、单张 RTX PRO 6000 和最长 16K Token 的设置下,它比统一 4 比特方案少用 35% KV 存储,并在延迟约束下达到 1.7—2.2 倍有效吞吐;这些效果均来自论文作者实验,尚未独立核查。