打开网易新闻 查看精彩图片

GitHub上有个叫Attention Residuals的项目,两周攒了2500星。它不是新模型,而是给Transformer做了个小手术——把用了7年的残差连接(Residual Connection)换成了注意力机制。这事儿听着像学术炫技,但MoonshotAI放出来的数据挺硬:同样算力下,模型能更深、训练更稳。

残差连接是什么?简单说就是每层输出都"叠"到总账上,权重固定为1。层数一多,早期信号就被稀释成噪声。这是PreNorm架构的老毛病,业内叫"隐藏状态爆炸"。

AttnRes的解法很直接:每层不再被动累加,而是主动"看"前面所有层,用softmax决定采信谁。公式就一行,但改的是Transformer最底层的加法逻辑。

正方:为什么该换

标准残差的问题,做过大模型训练的人都懂。

层数堆到96层、128层之后,梯度传播路径太长。早期层的特征被后期层反复覆盖,模型其实是在"遗忘"而非"积累"。MoonshotAI的论文里有个实验:在同等深度下,AttnRes的验证损失曲线更平滑,后期不抖——这说明每层确实在有效利用前面信息,而不是被噪声淹没。

更关键的是内存可控。Full AttnRes需要O(Ld)内存存所有层输出,显然跑不了大模型。Block AttnRes把层分成N个块,块内正常残差,块间才做注意力。8个块就能追回大部分收益, overhead可以忽略。

打开网易新闻 查看精彩图片

代码里这个block_attn_res函数,核心就6行:把块表示堆成向量、归一化、算logits、softmax加权。伪查询(pseudo-query)每个层学一个,不增加推理时的KV缓存压力。

从工程角度,这是典型的"算力换效率"——用一点额外的矩阵运算,换掉固定加法的结构性缺陷。对正在卷长上下文、卷多模态的团队来说,多一个可控的 depth-wise 注意力通道,意味着特征融合更灵活。

反方:为什么不该动

但动残差连接,等于动Transformer的承重墙。

2017年ResNet和Transformer几乎同时证明:深层网络能训,全靠这条捷径(skip connection)。它保证了梯度恒为1的流动路径,这是优化稳定性的数学基础。现在把固定权重改成学习的注意力,理论保证没了,训练会不会更敏感?

论文里的实验规模有限。2.5k星的项目,放出来的结果主要在语言建模(language modeling)和图像分类,最大模型到多大、在真正的大集群上表现如何,数据还没看到。Block AttnRes的"8个块"是调出来的经验值,换任务、换深度要不要重调?没给迁移指南。

更实际的顾虑是生态成本。残差连接是硬件和框架的假设前提。CUDA kernel、编译器优化、量化方案,都默认了这个计算图结构。改成动态注意力,算子融合(operator fusion)会不会 broken?TPU/GPU 上的实际吞吐是升是降?论文没测。

打开网易新闻 查看精彩图片

还有一层怀疑:这个"选择性聚合"的需求,是不是已经被别的机制满足了?MoE(混合专家模型)在层内做路由,RWKV、Mamba 这些架构在改整个序列建模方式。AttnRes卡在中间层做 depth-wise attention,增量价值到底有多少?

判断:什么时候值得试

我的看法分三层。

第一层,学术价值确定。它把"深度方向的注意力"这个思路做成了可插拔的模块,证明了残差不是唯一选择。这对架构创新有启发——Transformer的每个组件都值得被重新审视,哪怕用了七年。

第二层,工程落地要谨慎。小团队、新模型,可以把它当 ablation 选项测一测。但已有的大模型训练栈,换这个的成本远高于收益。除非你的场景恰好卡在"深度够了但特征融合不够"的瓶颈,否则不建议硬上。

第三层,长期值得关注。大模型正在从"堆参数"转向"堆效率"。任何能在不增参、不增显存的前提下提升特征利用率的改动,都可能被集成进下一代架构。AttnRes的Block版本是个务实的折中,如果后续能在多模态、长视频、具身智能这些对时序敏感的任务上证明优势,会成为标准组件。

GitHub仓库里有个细节:README的Citation部分还是空的,论文刚挂arXiv。2.5k星里有多少是"mark一下等成熟",有多少真会去改forward函数?这个数字本身说明,社区对"修底层"的创新有饥渴,但也清楚知道,从代码到生产,中间隔着几十个未知的bug。

如果你正在训一个32层以上的模型,且观察到后期层loss震荡或特征退化,可以把Block AttnRes放进消融列表。官方给的伪代码足够清晰,半天能搭起来。但记得测完收敛曲线后,再跑一遍端到端吞吐——有些优化,纸上快不代表墙上快。