长上下文模型的一个现实问题是,真正影响当前输出的往往只是上下文中的少数片段,但模型仍需读取完整 KV cache,才能找到这些相关 token。对于百万 token 级别的对话,如果用户追问很早之前的细节,全局注意力层在生成回复的每一个 token 时,都可能扫描整个上下文。这使长上下文能力的成本不仅来自输入长度,也来自持续解码过程中的重复读取。
把注意力选择交给模型
论文提出 Declarative Attention(DA),核心思路是让模型在自己的生成过程中声明接下来需要关注的位置。它将生成划分为三种模式:<global> 表示读取完整上下文,<focus> 表示关注特定区域,<local> 表示只读取最近生成的输出。推理引擎会像解析工具调用一样解析这些声明,并据此跳过大部分 KV cache 的读取。
这与先用轻量代理分数筛选相关 token 的方法不同。后者依赖模型外部的打分机制,每一步仍需付出 O(N) 的计算来判断上下文相关性。DA 采用的是一种内在式选择:既然模型最终需要决定关注什么,是否可以直接让它表达这一决定。论文将其视为稀疏注意力的新方向,而不是对现有代理评分流程的简单加速。
效率与精度的交换
在 15 个长上下文任务上的零样本评测中,DA 被应用于现成的 Gemma-4-31B 和 Qwen-3.6-27B。两者在解码期间实际关注的 token 总量分别减少 52.0% 和 31.1%,同时准确率下降 1.27 个百分点和 2.75 个百分点。材料显示,随着模型规模增大,精度损失会收窄。需要注意的是,这些结果来自零样本设置,且指标描述的是注意 token 数量与准确率,并不等同于所有硬件或部署环境下的端到端延迟收益。
我的判断
DA 的价值在于把“模型需要看什么”从推理引擎的外部估计,转成模型生成协议的一部分。对于上下文很长、问题只涉及局部历史的任务,这种机制具有明确的适用性,也为 KV cache 读取优化提供了新的接口思路。但它依赖模型声明足够可靠;一旦相关区域判断错误,减少读取就可能直接带来信息缺失。当前结果也存在精度回退,评测规模和模型范围仍有限。因此,DA 更像是值得继续验证的推理优化方向,距离可无条件替代全局注意力还有距离。