低秩注意力残差
摘要
本文介绍了一种用于大语言模型(LLMs)的低秩注意力残差(LR-AttnRes),该方法通过使用低维键进行深度注意力,将路由与表示解耦,在减少FLOPs的同时提升了性能。
查看缓存全文
缓存时间: 2026/07/14 04:13
# 低秩注意力残差
Source: https://arxiv.org/html/2607.09694
###### 摘要
注意力残差(Attention Residuals, AttnRes)用对先前子层输出的深度方向注意力替代了固定的残差求和,但在大型语言模型(LLMs)中,它将每个输出同时作为全维度的键和值。这导致路由与表示耦合,并使深度路由得分随隐藏宽度 d 缩放。我们提出了*低秩注意力残差*(Low-Rank Attention Residuals, LR-AttnRes),它保留全维度的残差值,同时使用 r 维(r≪d)键进行路由。*投影式 LR-AttnRes*(Projected LR-AttnRes, P-LR-AttnRes)从现有的输出投影中发出学习到的低秩键,将路由与残差内容解耦,并在测试的变体中取得了最佳验证损失。*切片式 LR-AttnRes*(Sliced LR-AttnRes, S-LR-AttnRes)将每个值的最后 r 个维度用作路由键,移除了辅助的键投影路径,减少了总的残差侧 FLOPs,同时仍能提升性能。综合扫参结果表明,深度方向路由在维度远小于模型宽度时也能有效工作。我们发布了代码 (https://github.com/jon123boss/LR-AttnRes) 和模型,以促进未来的研究。
参见标题图 1:在 10B 标记上训练的约 0.5B 参数模型上,基线、AttnRes 和低秩 AttnRes 变体相对于非嵌入 Transformer 核心的验证损失与增加的 FLOPs 百分比对比。对于投影式低秩变体,绘制的 FLOPs 包括辅助的键投影路径;对于标准 AttnRes 和切片式低秩变体,则是深度方向残差核的 FLOPs。
## 1 引言
残差连接是深度网络优化的核心 (He et al., 2016)。这在基于 Transformer 的大型语言模型中尤其如此 (Vaswani et al., 2017),其中残差流允许信息跨深度积累,并作为梯度高速公路进行优化。在 PreNorm 解码器 (Xiong et al., 2020) 中,每个注意力或前馈子层读取当前流的归一化版本,并将输出写回其中。这种固定的加法规则简单稳定,但它给每个先前的输出赋予固定的单位系数。模型可以学习每个子层写入什么,却无法直接选择在构建下一个隐藏状态时应强调哪些先前的写入。
注意力残差(AttnRes)通过用跨深度的注意力替代固定累积来解决了这一限制 (Team et al., 2026)。在每个残差位置,隐藏状态由之前子层输出的学习加权组合形成。这类似于 token 注意力,但这里的“token”是之前的子层输出。完整版本关注所有先前的子层输出,而 Block AttnRes 则将多个输出分组为块摘要,以减少存储和通信。
标准的 AttnRes 设计使子层输出 o_i ∈ R^d 同时扮演两个角色。它是混合到残差流中的值,并且在归一化后也是用于决定该源应被多强选择的键。这些角色不需要相同的表示。残差输出应该保持全容量的信息载体,供下游层使用。路由键只需要在深度源之间进行区分。因此,将 o_i 同时用作值和键会造成表示上的张力,并且还使得得分计算随隐藏维度 d 缩放,尽管深度注意力仅从数十个子层源中选择,而不是从远比这更大的 token 轴(高维比较在此更自然)中选择。
我们引入了低秩注意力残差(Low-Rank Attention Residuals, LR-AttnRes),其中混合到残差流中的值保持全维度,但深度路由得分在更小的 r 维空间中计算。我们区分了两种获得这种低秩键的方式。第一种是投影式低秩注意力残差(Projected Low-Rank Attention Residuals, P-LR-AttnRes)。P-LR-AttnRes 将子层输出投影从维度 d 扩展到 d+r,并将结果拆分为完整的输出和一个学习到的路由键。这解耦了路由与表示,并在测试的变体中给出了最强的验证性能。
第二种是切片式低秩注意力残差(Sliced Low-Rank Attention Residuals, S-LR-AttnRes)。S-LR-AttnRes 没有添加学习到的键投影,而是简单地将完整残差值的最后 r 个维度用作路由键。这部分复用了值的表示,因此其表达能力不如 P-LR-AttnRes,但它完全移除了辅助的键投影路径。结果,低秩得分计算成为了增加的 FLOPs 的净减少,而不仅仅是深度方向注意力核的减少。经验上,S-LR-AttnRes 在保持无投影路由路径的同时改善了验证损失。
核心经验结果是,低秩路由同时改善了验证损失和路由行为。具有 8 个块和 r=32 的 Block P-LR-AttnRes 取得了最佳损失 2.9477。具有 8 个块和 r=64 的 Block S-LR-AttnRes 取得了 2.9480,同时相对于非嵌入 Transformer 核心仅增加了 0.093% 的 FLOPs。与此设置下最强的标准 AttnRes 结果相比,这个切片变体将损失改善了 0.0193,并且使用的计算量减少了 3.25 倍。与最好的投影模型相比,其验证损失相差 0.0003,而使用的计算量减少了 11.3 倍。
我们的贡献如下:
- 我们提出了 LR-AttnRes,这是一个低秩深度路由系列,保留残差值的全维度,同时将路由键宽度从 d 减小到 r。
- 我们提出了 P-LR-AttnRes,它从现有输出投影中发出学习到的低秩路由键,并将源选择与残差内容解耦。
- 我们提出了 S-LR-AttnRes,它将最后的 r 个值维度用作路由键,不添加键投影参数,并减少了总的残差侧 FLOPs。
## 2 相关工作
#### 跨层连接。
广泛的研究工作修改了残差路径。DenseNet 拼接早期的输出,而 DenseFormer 将层输出与学习到的静态深度方向权重结合 (Huang et al., 2017; Pagliardini et al., 2024)。其他方法引入了更具表现力的跨层访问,包括回顾式层注意力、学习到的增强残差层、多流或超连接机制,以及输入相关的深度混合 (Li and Huang, 2025; Menghani et al., 2025; Zhu et al., 2025; Xie et al., 2025; Xiao et al., 2025)。
AttnRes 是我们工作最直接的前身 (Team et al., 2026)。然而,在标准 AttnRes 中,相同的全维度张量同时用作残差值和路由键。LR-AttnRes 保持了跨层路由框架,但隔离了一个更具体的设计轴:用于评分深度源的表示和维度。我们没有将全宽度值即键路由视为默认设置,而是展示了低维路由键可以改善验证损失与 FLOPs 的权衡。
#### 注意力残差中的源表示。
最近的工作表明,被路由的源表示的选择强烈影响深度方向的注意力。Delta Attention Residuals 认为累积的隐藏状态可能是冗余的,并导致低对比度的深度路由。因此,它们对每个子层或块级别的增量而非累积状态进行路由 (Luo et al., 2026a)。OASIS 研究了 AttnRes 风格模型的不同失败模式,重点关注注意力汇、激活异常值以及双重 token/深度归一化的影响。它引入了空感知路由以减少汇主导的行为并提高鲁棒性 (Luo et al., 2026b)。LR-AttnRes 是互补的:它保持残差值路径的全维度,而更改用于源选择的描述符。
## 3 方法
### 3.1 深度残差符号表示
考虑一个仅解码器的 Transformer,具有 L 个块和 M=2L 个残差写入子层:每个块包含一个注意子层和一个前馈子层。为清晰起见,方程中省略了批次和序列维度。令 o_i ∈ R^d 表示子层 i 写入的输出,令 o_0 ∈ R^d 表示 token 嵌入。我们将残差读取位置索引为 t ∈ {1, ..., M+1},其中位置 t 从该位置之前写入的源中读取。标准残差流提供固定和:
h_t = o_0 + ∑_{i=1}^{t-1} o_i (1)
给残差位置 t。
AttnRes 用跨深度的学习注意力替代了这种固定累积。在残差位置 t,隐藏状态由源集 S_t ⊆ {0, ..., t-1} 上的加权混合形成:
α_{t,i} = softmax_{i∈S_t} (q_t^T RMSNorm(o_i)), (2)
h_t = ∑_{i∈S_t} α_{t,i} o_i. (3)
这里 q_t ∈ R^d 是一个与残差读取位置 t 关联的学习到的伪查询。因此,与标准残差流不同,模型可以学习从哪些先前的子层输出中读取,而不是总是同等求和所有先前的输出。在此公式中,相同的张量 o_i 在方程 (3) 中用作值,并且在归一化后用作方程 (2) 中的键。
#### 完整 AttnRes。
完整版本关注每一个先前的残差写入源:
S_t^{full} = {0,1,...,t-1}. (4)
完整 AttnRes 提供了最大的深度路由灵活性,因为每个残差位置可以直接从嵌入以及所有更早的注意和前馈输出中选择。代价是所有先前的全维度输出必须作为注意源保留。
#### 块 AttnRes。
块 AttnRes 通过将连续的子层输出分组为块摘要来减少存储源的数量。在残差位置 t,模型关注嵌入、所有已完成的块摘要,以及如果存在的话,当前的局部块。局部块包含自最近完成的块边界以来已写入但尚未累积足够输出以形成完成块的输出。
令 B 是一个包含 c=|B| 个子层输出的已完成块。块摘要为:
b_B^{sum} = ∑_{i∈B} o_i. (5)
现在考虑一个位于未完成块内部的残差位置 t。令 P_t ⊆ {1,...,t-1} 表示当前局部块:最后一个已完成块边界之后、位置 t 之前的残差写入子层集合。如果 P_t 非空,其局部摘要为:
b_{P_t}^{sum} = ∑_{i∈P_t} o_i. (6)
### 3.2 具有全维度值的低秩路由
LR-AttnRes 保持与 AttnRes 相同的全维度值路径,但在一个更小的键空间中计算深度路由得分。每个源表示为:
源 i: (o_i, k_i), o_i ∈ R^d, k_i ∈ R^r, r ≪ d. (7)
值 o_i 仍然是通常的全维度子层输出。键 k_i 是一个 r 维的路由描述符,仅用于在深度源之间进行选择。在残差位置 t,一个学习到的静态查询 q_t ∈ R^r 对归一化后的键进行评分:
k̄_i = RMSNorm(k_i), (8)
α_{t,i} = softmax_{i∈S_t} (q_t^T k̄_i), (9)
h_t = ∑_{i∈S_t} α_{t,i} o_i. (10)
方程 (8) 中的键归一化是默认操作。
这仅改变了路由描述符。混合到残差流中的输出仍然是完整的 d 维 o_i,因此 LR-AttnRes 没有对残差值施加低秩瓶颈。下面的两种变体仅在于如何获得 k_i。
### 3.3 投影式低秩键
P-LR-AttnRes 使用一个学习到的低秩键,该键从产生残差值的相同输出投影中发出。令 a_i ∈ R^{m_i} 是传递给残差写入子层 i 的输出投影的激活。对于注意子层,这是传递给注意输出投影的激活,因此通常 m_i = d。对于 SwiGLU 前馈子层,这是传递给 FFN 的第二/输出投影的激活,因此 m_i 是 SwiGLU 的隐藏宽度。如果普通的输出投影是 W_i^O ∈ R^{d×m_i},则标准残差贡献为:
o_i = W_i^O a_i. (11)
P-LR-AttnRes 添加了一个低秩键投影,并一起计算输出和键:
⎡ o_i ⎤ ⎡ W_i^O ⎤
⎣ k_i^P ⎦ = ⎣ W_i^K ⎦ a_i, W_i^O ∈ R^{d×m_i}, W_i^K ∈ R^{r×m_i}, o_i ∈ R^d, k_i^P ∈ R^r, (12)
在注意子层中,融合矩阵增广了注意输出投影。在 SwiGLU 前馈子层中,它增广了将门控隐藏激活映射回模型维度的第二/输出投影。
嵌入源没有子层输出投影。因此,默认的 P-LR-AttnRes 嵌入键由一个小的低秩投影产生:
o_0 = Embed(x), k_0^P = W_0^K o_0, k̄_0^P = RMSNorm(k_0^P), W_0^K ∈ R^{r×d}. (13)
P-LR-AttnRes 是面向准确率的变体。由于键有其自己的学习投影,模型可以相似文章
通过注意力头重加权实现大语言模型的数据高效适配
介绍了一种数据高效方法——注意力头重加权(AHR),通过为每个注意力头学习单个标量来适配大语言模型至文本分类任务,大幅减少可训练参数,同时在有限数据场景下优于LoRA。
DLR: 零推理成本的隐式残差用于低秩预训练
引入重复隐式残差(DLR),这是一种仅训练、无参数的插件,用于低秩预训练,可提升从60M到7B参数的LLaMA模型的困惑度,并且训练后可折叠到模型中,推理成本为零。
Delta Attention Residuals
Delta Attention Residuals 通过关注特征变化(增量)而非累积隐藏状态,改进了Transformer模型中的逐层路由,在220M到7.6B参数的规模上实现了1.7-8.2%的验证困惑度提升。
Queryable LoRA: 基于指令正则化的共享低秩更新原子路由
介绍了一种数据自适应的高效微调方法——Queryable LoRA,它利用共享的低秩更新原子记忆,结合基于注意力的路由和指令正则化,实现动态、上下文敏感的参数更新,同时保持可扩展性。
MatryoshkaLoRA: Learning Accurate Hierarchical Low-Rank Representations for LLM Fine-Tuning
# Paper page - MatryoshkaLoRA: Learning Accurate Hierarchical Low-Rank Representations for LLM Fine-Tuning Source: [https://huggingface.co/papers/2605.07850](https://huggingface.co/papers/2605.07850) We propose**MatryoshkaLoRA**, a general, Matryoshka\-inspired training framework for LoRA that learns accurate hierarchical low\-rank representations by inserting a fixed, carefully crafted diagonal matrix**P**between the existing LoRA adapters to scale their sub\-ranks accordingly\. By introducing