Beyond Linearity in Attention Projections: The Case for Nonlinear Queries¶
会议: ICLR 2026 Workshop (GRaM)
arXiv: 2603.13381
代码: GitHub
领域: 其他
关键词: nonlinear query, attention projection, identity prior, bottleneck MLP, transformer architecture
一句话总结¶
基于 \(W_Q\) 代数冗余性的理论发现,将线性 Query 投影替换为非线性残差形式 \(Q(X)=(X+f_\theta(X))/2\),在不增加参数的情况下超越 +12.5% 参数的基线模型。
研究背景与动机¶
代数冗余性发现:Karbevski & Mijoski (2024) 证明 Transformer 中存在重参数化不变性——对任意可逆矩阵 \(\Theta\),将 \((X, W_Q, W_K, W_V, W_O)\) 映射为 \((X\Theta, \Theta^{-1}W_Q, ...)\) 后 MHA 输出不变。取 \(\Theta = W_Q\) 可使 \(W_Q \to I\),表明 \(W_Q\) 的线性参数完全可被相邻层吸收——代数上冗余
实验验证:设置 \(W_Q = I\) 的模型与标准基线性能相当,且在 3× 更低 weight decay 下仍稳定,证明恒等映射是 query 路径的良好先验
核心推理:既然线性参数冗余(可被吸收),若要在 query 路径有效分配参数,就必须引入非线性——非线性是不可被吸收的
信息瓶颈视角:从单个 token \(x\) 生成 q/k/v/残差四个向量全为 \(x\) 的线性函数,构成信息瓶颈。非线性 query 部分解耦了这个瓶颈
为何选择 Query:GQA 共享 \(W_K/W_V\),只有 \(W_Q\) 可安全替换而不破坏共享结构
方法详解¶
整体框架¶
方法只动 Transformer 注意力里的 Query 路径一处:把原本的线性投影 \(Q=XW_Q\) 替换成非线性残差形式 \(Q(X)=(X+f_\theta(X))/2\),其中 \(f_\theta\) 是一个瓶颈 MLP(bottleneck MLP)。同一个 token 表示 \(X\) 在这里分两路走——一路进 \(f_\theta\) 算出非线性增量,另一路作为恒等项 \(X\) 直接相加,二者取平均后得到 Query;与此同时,Key、Value 仍走标准线性投影,两条路最后在多头注意力里汇合。这样既绕开了"线性 \(W_Q\) 代数上可被吸收"的冗余陷阱,又把新增的非线性容量约束在与原始 \(W_Q\) 同阶的参数预算内,做到参数中性。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400, 'subGraphTitleMargin': {'top': 8, 'bottom': 16}}}}%%
flowchart TD
X["输入 token X<br/>(上一 block 输出)"]
subgraph Q["非线性 Query 投影"]
direction TB
MLP["瓶颈 MLP f_θ<br/>RMSNorm→GELU<br/>先降维 d→d/2 再升回 d"]
RES["残差合成<br/>Q=(X+f_θ(X))/2"]
MLP --> RES
end
X -->|"增量项: 算 f_θ(X)"| MLP
X -->|"恒等项 X 直通"| RES
X -->|"标准线性投影"| KV["保留 K/V 线性<br/>K=XW_K, V=XW_V"]
RES --> ATT["多头注意力<br/>softmax(QKᵀ/√d_k)·V"]
KV --> ATT
ATT --> OUT["注意力层输出"]
关键设计¶
1. 非线性 Query 投影:把"可被吸收"的线性参数换成不可吸收的非线性
动机来自上文的代数冗余性——既然 \(W_Q\) 的线性部分总能被相邻层吸收,往这里堆线性参数就是浪费。于是把 Query 改成 \(Q(X)=(X+f_\theta(X))/2\),残差里的恒等项 \(X\) 把投影锚定在已被实验证明是良好先验的 \(W_Q=I\) 上,保证梯度直通、训练稳定;增量项 \(f_\theta(X)\) 则提供线性投影给不了的、无法被重参数化消去的有效容量。系数 \(1/2\) 沿用 Karbevski & Mijoski 的建议,把残差与增量的幅度压平,防止激活幅度膨胀。
2. 瓶颈 MLP 结构 \(f_\theta\):在参数预算内塞进非线性
增量项用一个先降维再升维的瓶颈 MLP 实现:\(f_\theta(X)=\text{LN}(\text{GELU}(\text{RMSNorm}(X)\cdot W_1)\cdot W_2)\),其中 \(W_1\in\mathbb{R}^{d\times r}\)、\(W_2\in\mathbb{R}^{r\times d}\),瓶颈维度取 \(r=d/2\)。这样两个矩阵的参数量合计 \(2dr=d^2\),恰好与被替换掉的原始 \(W_Q\) 同阶;外层的 RMSNorm 与 LN 只额外引入 \(O(d)\) 量级参数(占比 <0.1%),可忽略。中间的 GELU 是整条路径真正引入非线性的地方,也是参数得以"有效分配"的关键。
3. 只改 Query、保留 K/V 线性:兼容现代注意力变体
Key 与 Value 保持标准线性投影不动,这一限制并非偶然——在 GQA/MQA 中 \(W_K/W_V\) 是被多个 query head 共享的,若改成非线性会破坏共享结构,而 \(W_Q\) 是唯一可以安全替换的投影。正因为改动局限在 Query 一侧,该设计天然兼容 GQA/MQA、RoPE、MoE 等现代架构组件,可作为即插即用的替换。
实验关键数据¶
主实验(GPT-3 Small, ~124M, OpenWebText, 60k steps ≈ 29B tokens)¶
| 模型 | 非嵌入参数 | Val Loss (59k) | 相对提升 |
|---|---|---|---|
| Baseline | 85M | 2.956 | 0 |
| MLP 4.75(宽MLP, +12.5%参数) | 96M | 2.927 | 0.98% |
| MLP 4.75 (scaled LR) | 96M | 2.928 | 0.94% |
| Res. GELU (本文) | 85M | 2.919 | 1.24% |
| Res. GELU (最优超参) | 85M | 2.915 | 1.40% |
训练稳定性¶
| 配置 | 结果 | 说明 |
|---|---|---|
| Baseline, WD=0.05 | 20k步前发散 | 标准模型不稳定 |
| Res. GELU, WD=0.03, LR=3e-3 | 稳定到60k | 可承受5×更高LR |
关键发现¶
- 训练远超 Chinchilla 最优(29B tokens vs 2.5B optimal),确保改进不是因 token 不足产生的"水分"
- 所有模型在固定随机种子下看到完全相同的训练和验证数据,控制变量严格
- 非线性变体在 warmup 阶段增益最大,中期减小,末期最佳变体增益回升
- 作者明确表示 1.40% 可能是下界而非上界——超参搜索非常有限
亮点与洞察¶
- 理论驱动架构修改:从代数冗余性出发,逻辑链完整(\(W_Q\) 冗余→线性无用→引入非线性)
- 参数中性改进:不增加参数即超越 +12.5% 参数的模型——说明参数效率而非容量才是瓶颈
- 训练稳定性双赢:非线性版本不仅性能更好,还能在更激进的超参数(低 WD、高 LR)下保持稳定
- 代码和 checkpoint 完全开源
局限与展望¶
- 仅在 ~124M 单一规模验证,未测试大模型(是否在大模型上冗余性依然成立?)
- 未进行多种子实验(通过固定数据顺序和长时间训练缓解)
- 未测量推理速度——非线性引入串行依赖(瓶颈 MLP 必须先于注意力完成)
- 超参数搜索极不充分,各种归一化变体和激活函数未系统探索
- 未评估下游任务表现(仅报告预训练 val loss)
相关工作与启发¶
- Kernel Attention (Performer 等):在 \(Q=XW_Q\) 之后加非线性特征映射;本文直接替换 \(W_Q\)
- MLP-Attention (Zhang'24):用 MLP 替代 Q/K/V 所有投影,但增加 ~10% 参数且缺乏理论动机
- Nonlinear LoRA:面向微调场景;本文面向预训练架构设计
- Always Skip Attention (Ji et al.):揭示自注意力对 skip connection 的独特依赖,与本文的 identity anchor 呼应
评分¶
- 新颖性: ⭐⭐⭐⭐ 理论驱动的架构修改,方向新颖,但改动量较小
- 实验充分度: ⭐⭐⭐ 单一规模、单一数据集,但控制变量极为严谨
- 写作质量: ⭐⭐⭐⭐ Workshop 篇幅内逻辑清晰,数学简洁
- 价值: ⭐⭐⭐⭐ 如能在大规模模型上验证将有重要意义