语言模型可以控制自己的注意力

来自 arXiv · 期号 2026-09-02

摘要

大语言模型的大部分注意力只集中在上下文的很小一部分上,但生成每个 token 时仍需扫描整个 KV 缓存。 本文提出 Declarative Attention(DA),让模型在思维链中自己声明接下来需要关注的范围,分为三种模式:<global>(全文)、<focus>(特定区域)、<local>(仅最近输出)。推理引擎像解析工具调用一样处理这些声明,跳过大部分 KV 缓存读取。 在 15 个长上下文任务上的零样本评估中,DA 在 Gemma-4-31B 和 Qwen-3.6-27B 上分别减少了 52.0% 和 31.1% 的注意力 token 数,准确率仅下降 1.27 和 2.75 个百分点,且随模型规模扩大而缩小。 论文附了开源代码。

深读

导读 大语言模型生成每个 token 时都需要扫描整个 KV 缓存,但实际用到的注意力只集中在极少数 token 上。这篇论文提出一种让模型在思维链中自己声明关注范围的协议 Declarative Attention(DA),在 Gemma-4-31B 和 Qwen-3.6-27B 上分别减少了 52.0% 和 31.1% 的注意力 token 数,准确率仅下降 1.27 和 2.75 个百分点。如果这个方向成立,长上下文推理的成本结构可能被改写。 关键信息 - 现有长上下文推理中,即使模型只关注上下文的一小部分,全局注意力层仍需扫描整个 KV 缓存来生成每个 token,复杂度为 O(N) 每步。 - DA 将生成过程分为三种模式:<global>(全文)、<focus>(特定区域)、<local>(仅最近输出),模型在思维链中声明当前需要哪种模式,推理引擎像解析工具调用一样处理这些声明,跳过大部分 KV 缓存读取。 - 在 15 个长上下文任务的零样本评估中,Gemma-4-31B 和 Qwen-3.6-27B 的注意力 token 数分别减少 52.0% 和 31.1%,准确率下降分别为 1.27 和 2.75 个百分点,且随模型规模扩大而缩小。 逐节讲解 问题:注意力浪费与现有方案的局限 大语言模型的大部分注意力只集中在上下文的很小一部分上,但生成每个 token 时仍需读取整个 KV 缓存。例如在 100 万 token 的对话中,用户询问一个之前的细节,全局注意力层必须扫描全部上下文才能生成回复的每个 token。现有的一种主流缓解方法是通过轻量级代理分数预先选择相关 token,但这种外部评分仍然需要每步 O(N) 的复杂度。 方案:让模型自己声明关注范围 论文的核心观察是:模型自己已经知道上下文的哪些部分是相关的。基于此,作者提出 Declarative Attention(DA),让模型在思维链中声明它需要关注的范围,将生成分为三种模式:<global> 表示需要全文注意力,<focus> 表示只需要特定区域,<local> 表示只关注最近的输出。推理引擎像解析工具调用一样处理这些声明,从而跳过大部分 KV 缓存读取。 评估:零样本下的效率与准确率 在 15 个长上下文任务上对现成模型(Gemma-4-31B、Qwen-3.6-27B)进行零样本评估,DA 显著减少了解码过程中的总注意力 token 数(分别减少 52.0% 和 31.1%),准确率下降幅度较小(1.27 和 2.75 个百分点),且随模型规模扩大而缩小。论文指出 DA 开辟了稀疏注意力的一个新方向,未来结合基于训练的方法有进一步潜力。 值得注意 原文只有论文摘要,没有给出具体任务列表、准确率对比的完整表格、以及三种模式在推理引擎中的实现细节。DA 的声明机制依赖模型在思维…

读原文

本站只做摘要与索引,全部内容版权归原作者所有。