SMem:可精确复用与删除上下文的语言模型架构
Memory as a cache: Exact context reuse and deletion by construction
摘要
转换器的 KV 缓存将每个标记的表示与其整个前缀纠缠在一起:编码一次的段落不能在不同的前缀下重用,也不能在不重新计算其后的所有内容的情况下删除,因此精确的缓存重用仅限于共享前缀。我们提出了 SMem,一种架构,其上下文表示是构造的缓存。块本地编码器将每个块独立于其他块映射到内存行,并且读取器通过交叉注意来调节它们的并集生成。对于每个参数设置,内存精确地在固定的块索引处组成,删除块是 $b$ 词元块的精确 $O(b)$ 更新,并且内存状态独立于编辑路径。在 $4\times$ 的训练环境下,在共享配方下,SMem 检索超出任何训练长度窗口的种植针(在 31 和 63 块的距离处精确匹配 0.14-0.28),其中学习位置、RoPE 和块注意力式Transformer的得分最多为 0.02。完全缓存的上下文是通过以接近恒定的 3.1-6.2 毫秒的速度单独计算一个块来提供的,而冷预填充则随着上下文的增长而增长;批量解码存储的 KV 行数减少了 34-38%,并且在带宽受限时运行速度提高了 1.4-1.7$\times$;删除在 512 个区块上比后缀重新计算快 8.5$\times$,在 4096 个区块上比后缀重新计算快 452$\times$(32-256$\times$ 训练长度,探测成本模型而不是服务机制)。与具有相同位置方案的参数匹配Transformer相比,其复杂度差距为 -4.7% 到 +2.8%(负面有利于 SMem),在 FineWeb-Edu 上跨两个配方和学习率搜索为 160M-1.5B。 SMem 还与 RoPE 组合:在 160M 和 410M 时,复合材料匹配或领先匹配的Transformer,并缩小了 SMem 与 RoPE Transformer的 29-59% 的差距。因此,删除前缀纠缠可以保持困惑度,同时使缓存完全可组合和可编辑。