通过概率语言尝试进行顺序 KV 缓存压缩:超越每向量香农限制
Sequential KV Cache Compression via Probabilistic Language Tries: Beyond the Per-Vector Shannon Limit
摘要
最近关于 KV 缓存量化的工作(最终在 TurboQuant 中达到顶峰)已经接近 Transformer 键值缓存的每向量压缩的香农熵极限。我们观察到,这一限制适用于一个比实际问题更弱的问题:将 KV 缓存压缩为一个序列。存储在 KV 缓存中的标记不是任意的浮点数据——它们是来自模型训练所用的确切形式语言的样本,并且该模型是通过构造该语言的近乎最优的预测器而实现的。我们引入了顺序 KV 压缩,这是一种利用这种结构的两层架构。第一层是概率前缀重复数据删除,使用概率语言尝试 (PLT) 中的 trie 度量 d_T(s, s') = -log_2 P_M(s ^ s') 来识别跨会话的语义等效共享前缀。第二层,预测增量编码,仅存储模型自身预测的每个新 KV 向量的残差,实现每个词元的熵界限 H(KV_{i+1} | KV_{<=i}) <= H(token_{i+1} | token_{<=i})。我们证明,在典型的语言模型困惑度(流利的英语文本大约为 10-20)下,这个边界平均每个标记位置为 3.3-4.3 位,而 TurboQuant 的每个向量分量为 3 位(典型的注意力头有 64-128 个分量)。 TurboQuant 的理论压缩比在香农极限下约为 914,000 倍。即使比熵下限高 1000 倍(故意悲观的最坏情况开销,比实际源编码器的典型 2-5 倍高出两个数量级),该比率仍然比 TurboQuant 高出约 914 倍,随着上下文长度的增长,压缩率会提高而不是降低。这两层是正交的,并与包括 TurboQuant 在内的现有每向量量化方法组合。