V4 里的 Tail buffer 是什么?

← 返回 CSA/HCA 一句话 · §4 异构 KV · KV Layout §State · 磁盘 Prefix §可落盘对象 · 答疑目录


一句话

Tail buffer 是流式 decode 时 尚未凑满一块 的 token 尾(CSA 缺 4、HCA 缺 128):在 State cache 里以 未压缩 K/V 暂存,凑满后 才压成 entry append 进 Classical 池——是压缩算法的 块对齐缓冲,不是第四种 attention 机制。


1. 为何需要 tail

块压缩要求 连续 $m$ 个 token 才能输出一条 entry:

路径块大小 $m$Tail 含义
CSA$m{=}4$当前序列长度 $\bmod 4 \neq 0$ 的 1~3 个尾 token
HCA$m'{=}128$不足 128 的 未压缩尾

若强行写入 Classical 池会破坏 $\mathrm{lcm}(4,128)$ 对齐KV layout §Classical),故 tail 单独挂在 State 池,与 SWA 同属 「仍在形成中」 的状态。


2. 生命周期

阶段TailClassical 池
Prefill / 流式 append新 token 先 进 tail已满块 写入
Tail 达到 $m$触发压缩 → 一条新 entryappend 不可变 entry
Prefix 共享Tail 随请求推进变化已满块可 共享 / 落盘

因此 磁盘 Prefix Cache 对 tail 的结论是:通常随请求走 State 池,不像 CSA/HCA 压缩块那样 直接 immutable 落盘


3. 与 SWA 同池、分工不同

Tail bufferSWA
内容等待压缩 的原始 token K/V窗口内精确局部 K/V
是否可变每来一 token 可能变长/清空滑动更新 窗口
算法角色块对齐工程缓冲注意力精度 保障

二者都在 State cache,但 eviction、prefix 策略 各自独立


4. 读图提示

异构 KV 图 下半 State / tail 区:token 流在进 CSA 4:1 / HCA 128:1 之前,末尾不足一块的部分 不会 出现在 Classical 条带里。


5. 相关阅读

文档内容
V4 KV LayoutClassical vs State 分工
CSA / HCA 混合压缩注意力§4五类对象对照表