LLM跑长上下文时,内存压力常卡脖子。很多人可能没意识到——这压力主要不是来自模型参数,是KV缓存。解码时每一层的KV状态都得存下来,上下文越长,这部分占内存的比例越高。
现在的压缩方案,大多踩了两个坑
之前解决KV缓存内存问题的思路,大多是挖层间缓存的相似性来压缩。但这套方案有两个硬伤:要么得改LLM的架构,适配新的压缩逻辑,这对已经上线的模型来说太折腾;要么压缩时带来大量额外开销,直接拖慢解码速度。试过的不少方案,要么改得模型结构认不出来,要么跑起来慢个10%以上,都不太实用。
VFold的核心:对称性感知的值缓存合并
arXiv上一篇cs.CL、cs.LG分类的新论文,给出了新解法——VFold,核心是用“对称性感知”的值缓存合并策略。它的妙处在于:不用改LLM本身的架构,压缩时也不会有额外的性能开销,既能减少内存占用,又不会让解码变卡。说白了,它精准抓到了值缓存里没被充分利用的容量,用简单的合并思路,解决了之前的两个痛点。
能和现有技术叠加,压缩比突破上限
更关键的是,VFold不是孤立的优化,它能和现有的缓存压缩技术搭配。比如和高比例量化、键缓存剪枝结合,两者叠加后的压缩比,是单独用任何一种都达不到的,而且额外成本还很低。这就相当于给内存优化开了外挂,不用牺牲任何性能,就能拿到更好的压缩效果。
我觉得这种“不碰模型核心,只优化缓存本身”的思路,落地门槛比改模型结构低太多。只是不知道,这类轻量级的缓存优化,会不会比那些大动干戈的模型改进,更早被用到实际的LLM产品里?
素材来源:arXiv (LLM/多模态新论文) · AI情报、大模型、科研前沿
查看报道原文

发表第一条评论吧