Browse this library

Chinese source article

1.2 · 固定与混合连接

从静态稀疏图、局部全局混合到有限状态层,建立动态路由之前的结构基线

View original Markdown ↗

动态选择并不是长上下文效率的唯一入口。更早也更稳定的一条路线,是在读到内容以前就确定连接结构:每个 token 访问固定窗口,少数位置承担全局通信,随机或扩张边缩短图距离,若干全局层周期性恢复完整交互。它们不需要在线 indexer,访问地址能够提前编排,因而也是判断动态稀疏是否值得的基线。若一个任务依赖主要落在局部范围内,规则窗口已经足够;动态路由只有在远程证据确实重要、静态边无法覆盖且索引成本可控时才获得优势。

把一层注意力看成有向图。位置 ii 的邻接集合为 Nℓ(i)N_\ell(i),表示第 ℓ\ell 层 query 可以读取的 key。稠密因果注意力取所有 j≤ij\le i;窗口注意力只取最近 ww 个位置;全局 token 与所有位置相连;随机边或 dilation 在局部图上增加长跳。这个写法把两个常被混在一起的问题分开:一层计算多少条边,以及信息需要经过多少层才能从 jj 到达 ii。边数少不代表长程路径一定断裂,但传播层数增加会带来表示压缩、优化难度和延迟。

静态图怎样覆盖远程依赖

纯滑动窗口每层只有 O(nw)O(nw) 条边,规则、连续,最容易映射到 kernel。它的有效感受野随层数扩大;在最简单的单向模型中,经过 LL 层最多跨过约 LwLw 的距离。这个上界说明局部传播能够覆盖长距离,却不保证具体事实在多次非线性变换后仍被准确保存。需要跨文档聚合、变量追踪或远程复制的任务,通常比局部语言建模更依赖直接长边。

Longformer 用窗口、dilation 和任务指定的 global token 组合路径。BigBird 用局部、随机和全局边构造稀疏图,并在特定条件下讨论表达能力。两者的共同点是拓扑不随输入内容变化,差别在于全局位置如何指定、远程边如何覆盖以及原始任务多为编码器还是因果生成。把编码器结果迁到自回归 Decode 时,还要重新处理因果方向、KV cache 和逐 token 服务成本。

全局节点把许多位置之间的路径缩短为两跳,但它也是热点:每层都要读写全局状态,数量增大后会重新引入明显成本。随机边能够用少量连接改善图直径,却无法保证某个关键证据恰好被当前 query 直接访问。静态拓扑的优点是边界清楚,可以画图、手算路径并预先编译;它的缺点也是边界固定,无法根据内容把预算集中到当前样本真正需要的位置。

沿层轴混合,而非让每层都承担一切

还可以在局部层之间插入全局层。设全局层集合为 GG,其余层采用窗口 ww。总成本由 ∣G∣|G| 个平方级层与 L−∣G∣L-|G| 个窗口层组成。局部层维持大部分计算效率,全局层周期性同步远程信息。全局层间隔、不同层保存的 cache 范围,以及全局信息进入局部层后能维持多久,共同决定这种混合是否有效。

Hybrid SWA 与 attention sink 经常同时出现,作用并不相同。全局层沿深度轴恢复远程内容访问;sink token 沿时间轴保留少数开头 KV,让滑动窗口截断后 softmax 仍有稳定的概率承接位置。sink 无法找回已经驱逐的正文,全局层也不会自动让局部层的 cache 容量封顶。设计 streaming cache 时,需要分别画出层类型与时间槽位,才能知道哪些层保留完整历史、哪些层只有窗口加 sink。

混合结构还可以把 softmax 层与有限状态层交替。线性注意力把历史写入固定大小状态 StS_t,解码成本不随 token 数线性增长,却会让不同历史信息竞争有限容量。少数 softmax 或 MLA 层保留按地址精确回看,有限状态层负责大部分序列处理。此时误差不再只是某条边有没有被选中,还包括状态更新中的覆盖、遗忘与干扰。

KDA 放在这条路线中的位置

KDA 从 delta rule 一类递归状态出发,用更细粒度的遗忘门控制矩阵状态更新。它和 NSA、DSA 等 token 选择方法追求相似的长上下文效率,却改变了问题本身:选择器在显式 KV 地址中挑候选,KDA 将历史折叠进固定状态,输出无法再追溯到一组完整 token 地址。前者主要关心召回与索引,后者主要关心状态容量、写入冲突和递归计算的并行化。

混合线性注意力保留少数完整注意力层,目的正是弥补有限状态对精确回看的不足。比较这种模型与稀疏 softmax 模型时,既要看缓存字节与 Decode 带宽,也要看模型是否从头按该结构训练、完整层占比、状态维度和训练数据长度。把一个全 softmax checkpoint 直接替换成递归层,并不能等价复现原生混合模型。

静态、混合与动态的分界

固定连接的候选集合只依赖位置、层号或预先配置;动态路由还依赖当前 query、key 或中间表示。混合层并不天然属于动态稀疏:周期性全局层仍是静态排布,KDA 的门值虽依赖内容,但它更新的是固定状态,而不是从显式 KV 地址中检索 top-kk。用“候选地址是否存在、地址如何产生”来分类,比把所有低于 full attention 成本的方案都塞进一个桶更清楚。

静态基线也承担验证作用。任何动态方法都可以与相同窗口和相同物理预算的静态方案比较。如果动态方法只在逻辑 FLOPs 上占优,却因索引和随机读取更慢,规则基线更适合部署;如果任务质量需要少量输入相关远程边,动态路由才显示出机制收益。进一步加入 oracle 候选,可以区分选择器没找到证据与稀疏预算本身不够。

静态拓扑详细推导窗口、全局与随机连接的边数和图路径,混合拓扑沿层轴和时间轴分析 Hybrid SWA 与 sink cache,KDA 与混合线性注意力则进入固定大小状态及其并行训练。三篇共同建立动态路由之前的参照:先用可预测结构解决能解决的问题,再判断内容相关选择究竟补上了哪条缺失路径。

传播能力怎样单独验证

静态图的连通性可以严格分析,模型是否学会沿路径传递内容仍要靠实验。一个图在若干层后理论上全局连通,只证明消息存在通路;每次经过 attention、残差和非线性,关键信息都可能与其他内容混合。验证时可以构造不同距离的复制、变量绑定和多段聚合任务,并保持输入长度不变,只移动证据位置。若准确率随着最短路径层数增加而下降,瓶颈更接近传播;若加入直接长边后恢复,则能支持这一判断。

全局节点还需要检查拥塞。大量普通位置都把信息写入少数全局槽时,这些槽既承担跨区交换,也承担任务输出,表示容量可能先于边数成为限制。增加全局 token 数能够缓解容量,却同步增加每层成本。随机边则应跨多个图种子评测,否则一次有利采样可能被误认为稳定机制。

对混合层,最有用的对照是固定总成本后改变全局层位置与间隔。把四个全局层集中在模型底部、均匀分布或集中在顶部,分别测试信息早期汇聚、周期刷新和输出前整合。对有限状态混合,还可固定总参数和缓存预算,扫描递归层与 softmax 层比例。这样得到的曲线能说明精确回看需要多高频率,而不只是某个现成配方在一个规模上有效。