@ethantsliu: LLMs能够为长上下文自主控制注意力!在文本生成过程中,LLMs通常读取完整的KV缓存……

X AI KOLs Timeline 论文

摘要

该论文介绍了声明式注意力技术,LLMs明确声明需要关注哪些上下文段,从而将令牌使用量最多减少52%,同时准确率下降极小。

LLMs能够为长上下文自主控制注意力! 在文本生成过程中,LLMs通常在每一步读取完整的KV缓存(导致每步O(N)内存使用)。尽管注意力自然集中于上下文的一小部分,但预先识别哪些令牌重要仍具挑战性。 现有方法依赖于代理分数或静态启发式方法,这些方法仍然每步产生O(N)开销或降低性能。 作者提出了声明式注意力(DA),促使模型在其思维链(CoT)中明确声明需要关注上下文的哪些部分。DA将推理过程分为三种不同的注意力模式: 1) 关注所有上下文段(默认) 2) 关注特定区域(例如,<focus magic_chunks="2">)。用于对特定信息进行推理 3) 仅关注模型自身的最近输出。用于从先前提取的值中合成最终答案。 为启用针对性注意力,长输入上下文被预处理为可寻址段: 1. 每2048个令牌一段(在自然边界处分割,如换行符、句子等) 2. 魔法块(将段呈现为模拟工具使用转录),并利用模型从后训练中已识别的边界标记(用户、助手、工具标签)。 作者甚至制作了一个DA状态机,通过vLLM中的自定义钩子实现!它在生成时解析模式标签,并在块粒度上更新注意力掩码,使其与flashattention兼容(允许内核跳过读取丢弃的块)。 在15个长上下文任务上测试,该方法将Gemma4-31B的解码过程中关注的令牌减少了52.0%,Qwen3.6-27B减少了31.1%,将预计时钟周期成本降至原始解码的约0.7倍,同时准确率下降极小!
查看原文
查看缓存全文

缓存时间: 2026/09/12 14:56

LLM可以自我控制长上下文注意力!在文本生成过程中,LLM通常在每一步都会读取完整的键值缓存(每步导致O(N)内存消耗)。虽然注意力机制天然会聚焦于上下文的一小部分,但提前识别哪些token至关重要却极具挑战。现有方法依赖代理评分或静态启发式算法,这些方法要么每步仍需O(N)开销,要么会降低性能。作者提出声明式注意力(Declarative Attention, DA),通过提示模型在思维链中明确声明需要关注的上下文部分。DA将推理过程划分为三种不同的注意力模式:1)关注所有上下文片段(默认模式)2)关注特定区域(例如<|region|>),用于特定信息的推理 3)仅关注模型自身近期输出,用于从先前提取的值合成最终答案。为实现定向注意力,长输入上下文被预处理为可寻址片段:每2048 token为一个片段(在换行符、句子等自然边界处划分),并通过魔术块(将片段呈现为模拟工具使用记录)呈现,同时利用模型在后训练中已识别的边界标记(用户、助手、工具标签)。作者甚至构建了DA状态机,通过vLLM中的自定义钩子实现!该状态机在生成过程中解析模式标签,并以块粒度更新注意力掩码,从而与FlashAttention兼容(允许内核跳过未选中的块)。在15项长上下文任务的测试中,该方法在解码过程中使Gemma4-31B的注意力token数量减少52.0%,Qwen3.6-27B减少31.1%,将理论时间成本降至原始解码的约0.7倍,且精度损失极小!

相似文章

语言模型能够控制自身的注意力

Hugging Face Daily Papers

本文介绍了一种名为Declarative Attention的方法,该方法使语言模型能够在推理时声明相关上下文区域,从而显著减少键值缓存的读取次数,在长上下文任务中仅带来轻微的精度损失。

内存

Reddit r/artificial

解释了为什么由于KV缓存随上下文长度和并发用户数扩展,LLM推理越来越受内存带宽限制,以及像vLLM和PagedAttention这样的系统如何提高内存利用率。

不要轻信大上下文窗口

Hacker News Top

分析表明,LLM 声称的大上下文窗口具有误导性,因为有效注意力在约 10 万 token 时会下降。为开发者提供实用建议:通过使用工件(artifacts)和切换(handoffs)将会话保持在“智能区”。