mHC 与 Single-Pass mHC

mHC 把一条残差主干扩成 4 条并行的残差流,并把流间的混合矩阵约束成双随机矩阵;V4.1 沿用它,只把混合系数错后一层,让整个残差更新能在一次读写里做完。

作者 David更新于 8 篇(共 21 篇)

沿用,并做了改进。 V4 引入了 mHC(Manifold-Constrained Hyper-Connections,流形约束超连接)来强化残差连接;V4.1 报告的说法是把原有的 mHC “升级为 Single-Pass mHC”,配套一个部署用的 Mega-mHC kernel [1][2]。超参数没变:4 条残差流,Sinkhorn-Knopp 迭代 20 次 [1][2][3]。

这一章先讲 mHC 本身,再讲 V4.1 改了什么。

先回顾:残差连接只有一条主干

标准 Transformer 的每个子层都是这个形状:

输出 = 输入 + 子层(归一化(输入))

那个“+ 输入”就是残差连接,它给梯度开了一条直通的高速公路,深层网络才训得动。这个设计从 2015 年的 ResNet 沿用至今 [6]。它的结构性限制是:整个模型只有一条残差主干,所有子层的输出都往同一条河里汇,浅层写进去的东西会被后面几十层反复读写。

超连接:一条变四条

Hyper-Connections(超连接,HC)把残差流的宽度扩成 nn 倍,也就是 nn 条并行的残差流 [5]。每一层引入三个映射 [2]:

  • 输入映射 AA:把 nn 条流混成这一层真正的输入;
  • 残差变换 BB:一个 n×nn \times n 的矩阵,决定 nn 条流之间怎么互相混合、传到下一层;
  • 输出映射 CC:把这一层的输出写回 nn 条流。
Xl+1=BlXl+ClFl(AlXl)X_{l+1} = B_l X_l + C_l \, \mathcal{F}_l(A_l X_l)

Fl\mathcal{F}_l 是这一层本身(例如 MoE 层),它的输入输出仍是原来的宽度,所以扩宽残差流不影响层内部的设计。V4 系列取 n=4n=4 [2]。

问题在训练稳定性:V4 论文说,HC 叠很多层时频繁出现数值不稳定 [2];mHC 论文把原因归结为 HC 破坏了残差连接最本质的“恒等映射”性质 [4]。

“流形约束”约束的是什么

mHC 的核心是把残差变换 BB 限制在双随机矩阵的集合里(也叫 Birkhoff 多胞形)[2][4]:

  • 所有元素非负;
  • 每一行的和是 1,每一列的和也是 1

白话说:信号在 4 条流之间只能被重新分配,不能被放大,也不会凭空消失。数学上这保证了 BB 的谱范数不超过 1,残差变换是“不扩张”的,前向和反向传播都更稳;而且双随机矩阵相乘还是双随机矩阵,几十层叠起来也不会失控 [2]。输入映射和输出映射则用 Sigmoid 限制成非负、有界,避免信号互相抵消 [2]。

怎么保证 BB 是双随机的?先对原始参数取指数得到正矩阵,再交替做行归一化和列归一化,这就是 Sinkhorn-Knopp 算法;V4 取 20 次迭代 [2]。三个映射的参数还分成“随输入变化的动态部分”和“固定的静态部分”,由当前的残差状态预测出来 [2]。

一处更正:本专栏初版把“流形约束”解释成“把连接权重限制在一个学习到的低维流形上”,还说官方没有公开具体形式。两处都不对:V4 论文第 2.2 节写明了约束的对象是双随机矩阵构成的 Birkhoff 多胞形,用 Sinkhorn-Knopp 投影,流的条数是 4、迭代 20 次 [2]。这一节已按论文重写。

Single-Pass mHC:把依赖错开一层

V4.1 的改动不在数学性质上,而在内存访问上 [1]。

每个块之间的残差更新要做三件事:更新残差(用上一块的输出)、根据新的残差预测三个映射的系数、用输入映射把残差混成下一块的输入。问题是第三步依赖第二步——系数要等对整个隐藏维度做完归约才能算出来,于是 V4 的实现要分几个 kernel 顺序执行、多次读写激活。报告算过:连同预归一化在内,原实现的激活读写量是理论下界的两倍 [1]。

Single-Pass mHC 的办法很简单:每一块用上一块预测出的输入混合系数,而不是等自己这块的系数算完 [1]。依赖一旦错开,残差的每个分块读进来就能同时用于“混合出输入”和“累积下一块系数所需的统计量”,不用等整行归约。

  • 部署时,残差更新、输入混合和系数预测被融合进一个 kernel(Mega-mHC),连同预归一化和 FP8 转换一起做;残差只读一次、写一次,达到理论下界,激活读写量比原来的实现减半 [1]。
  • 预训练时仍用原来的多 kernel 实现,因为这个改动只改变“每一块用哪一组系数”,数学上两者都能表达 [1]。
  • 效果上,报告称这个错位带来的性能损失“可以忽略”(官方口径)[1]。

为什么这个方向值得关注

残差连接是过去十年最稳定的一块设计,前沿实验室专门花力气改它,说明它在某个规模上真的成了瓶颈。同期的 Kimi K3 用 AttnRes 补的是同一个问题:K3 是“加一条专线”,DeepSeek 是“把主干改成四条、再约束它们怎么混”。而 V4.1 这次说明了另一件事:一个结构能不能长期留下来,很大程度看它能不能被高效地实现。mHC 的数学没动,改的是 kernel 能不能一次读写做完。

下一章讲 V4.1 新加的两个组件。👉 Engram 与 DSpark

参考文献

  • [1] DeepSeek-AI. “DeepSeek-V4.1-Flash: Pushing the Limits of KV Cache Compression.” 2026-09. arXiv:2609.19969 —— 第 2.4.1 节(Single-Pass mHC、激活读写量分析、Mega-mHC)、第 4.2.1 节(扩展因子 4、Sinkhorn-Knopp 20 次)。
  • [2] DeepSeek-AI. “DeepSeek-V4: Towards Highly Efficient Million-Token Context Intelligence.” 2026-04. arXiv:2606.19348 —— 第 2.2 节:HC 的三个映射、双随机约束与谱范数、Sigmoid 约束、动态参数化、Sinkhorn-Knopp 投影。
  • [3] Hugging Face:deepseek-ai/DeepSeek-V4.1-Flash 的 config.json —— hc_mult: 4hc_sinkhorn_iters: 20
  • [4] Xie et al. “mHC: Manifold-Constrained Hyper-Connections.” 2025-12. arXiv:2512.24880 —— mHC 的原始论文:恒等映射性质与训练不稳定的关系。
  • [5] Zhu et al. “Hyper-Connections.” 2024-09. arXiv:2409.19606 —— 超连接这一族方法的原始工作。
  • [6] He et al. “Deep Residual Learning for Image Recognition.” 2015-12. arXiv:1512.03385

本页目录