AB
AiBoss站
百科

什么是双块注意力(Dual Chunk Attention)?一种免训练扩展大模型上下文窗口的注意力机制

双块注意力(Dual Chunk Attention,DCA)是论文《Training-Free Long-Context Scaling of Large Language Models》提出的一种免训练长上下文扩展方法。它把长序列的注意力计算拆成块内与块间两类模块,分别刻画同一块内与跨块 token 的相对位置信息,并可与 Flash Attention 结合。论文称该方法使 Llama2 70B 在不做持续训练的情况下支持超过 100k token 的上下文窗口。

双块注意力(Dual Chunk Attention,DCA)是一种用于扩展大语言模型(Large Language Model,LLM)上下文窗口的注意力计算方法。按提出该方法的论文所述,它把长序列的注意力计算分解为若干基于块的模块,分别建模同一块内(Intra-Chunk)与不同块之间(Inter-Chunk)token 的相对位置信息,从而在不做持续训练的前提下让模型处理远超预训练长度的输入。它要解决的问题是:当输入 token 数超过模型的预训练长度时,模型处理与生成连贯文本的能力会明显下降,而用更长序列微调大模型的成本又很高。

为什么重要

大语言模型的上下文窗口通常由预训练阶段的序列长度决定。论文指出,一旦输入 token 数超过这个预训练长度,模型处理和生成连贯文本的能力就会显著减弱。要让模型「看得更长」,最直接的做法是用长序列继续训练或微调,但对大规模模型而言,这类训练的开销很高,需要大量长文本数据与算力。

因此出现了一类「免训练」的扩展思路:不改动模型权重,只在推理阶段调整注意力计算,让模型在原有参数上外推到更长的输入。双块注意力属于这一类。论文给出的具体主张是:借助 DCA,Llama2 70B 可以在不做持续训练(continual training)的情况下支持超过 100k token 的上下文窗口。这为长上下文能力提供了一条不必重新训练大模型的路径,对推理与部署环节尤其有意义——部署方可以在已有开源权重上直接获得更长的可用上下文。

工作机制

按论文的描述,DCA 的核心做法是把长序列的注意力计算拆解成基于块的模块,而不是对整段长序列套用原本按预训练长度设计的相对位置编码。可以分几个要点理解:

  • 分块处理:把长序列切分为若干块(chunk),注意力计算在这些块的结构上组织,而不是把整段序列当作一个整体处理。
  • 块内相对位置(Intra-Chunk):对落在同一块内的 token,DCA 负责有效捕捉它们之间的相对位置信息。这一部分对应模型在预训练长度内已经熟悉的近距离位置关系。
  • 块间相对位置(Inter-Chunk):对不同块之间的 token,DCA 另行建模其相对位置信息。跨块关系是超出预训练长度后新出现的情形,需要单独处理,而不能沿用块内的位置假设。
  • 与 Flash Attention 结合:论文称 DCA 可以与 Flash Attention 无缝集成,即这种分块注意力结构不排斥已有的高效注意力实现。

从机制上看,DCA 的关键在于「分解」:把原本单一的位置关系拆成块内与块间两类分别刻画,使模型在输入长度超出预训练范围时仍能获得有意义的位置信号。论文将其定位为一种免训练(training-free)的上下文扩展方法,即不通过继续训练改变模型参数,而是在推理时改变注意力的组织方式。

典型例子

论文中给出的主要实例是 Llama2 70B。按论文摘要的表述:

  • 借助 DCA,Llama2 70B 在不做持续训练的情况下支持超过 100k token 的上下文窗口。
  • 除外推能力外,论文称 DCA 在实际长上下文任务上的表现与经过微调的模型相当,甚至更好。
  • 与闭源模型对比时,论文称其免训练的 70B 模型达到了 gpt-3.5-16k 性能的 94%,并据此认为它是一个可行的开源替代方案。

需要说明的是,上述数字与比较结论均出自该论文自身的实验设定与评测口径,属于作者主张,并非独立复现的结论。论文同时表示,工作中使用的全部代码与数据均已公开。

边界与常见误解

首先,DCA 是一种免训练的推理期方法,这并不意味着它等价于用长序列重新训练模型。论文的主张是「不做持续训练即可扩展窗口」,其效果以论文报告的长上下文任务评测为依据;它是否在所有任务类型、所有模型规模上都成立,论文并未给出普遍性保证。

其次,容易把「支持超过 100k token 的上下文窗口」误解为「在 100k 长度上性能不下降」。论文的表述是模型能够支持这一长度的窗口,并在实际长上下文任务上取得与微调模型相当或更好的表现,这两者是不同的说法,不应混为一谈。

第三,DCA 与 Flash Attention 的关系是「可以结合」,而不是「依赖」或「替代」。论文称二者可无缝集成,但并未主张 DCA 是 Flash Attention 的替代品。

第四,关于与闭源模型的比较,论文给出的是「达到 gpt-3.5-16k 性能的 94%」这一相对数字,比较对象、评测集合与打分方式都由论文设定,引用时应保留这一限定,不宜简化为「接近或超过闭源模型」。

最后,DCA 针对的是注意力中的相对位置信息建模,属于上下文长度扩展这一类问题;它并不改变模型的知识、推理能力或训练数据覆盖范围,也不解决长上下文带来的显存与计算开销问题本身——论文强调的是免训练,而非免成本。

参考资料