跳到主要内容

mHC

用 Birkhoff 流形约束把单流残差扩展为四路并行残差流

核心要点

  • Seesaw 困境:Pre-LN 单残差权重偏 identity → 表征退化;偏子层 → 梯度消失
  • HC 思路:把残差从 $\mathbb{R}^d$ 扩到 $\mathbb{R}^{n_{hc} \times d}$,多路并行承担不同深度行为
  • HC 实测不稳:60 层 27B 上 composite mapping 的 Amax 峰值 ~3000(论文 Fig. 3b),训练 loss 比 mHC 高约 0.007 且持续不收敛
  • mHC 流形约束$\mathcal{H}_l^{\text{res}}$ 投影到 Birkhoff 多面体 (双随机矩阵凸包),保证 non-expansive + 多层闭包,composite Amax 压到 ~1.6(3 个数量级下降)
  • Sinkhorn-Knopp:交替行 / 列归一化 $t_{\max}=20$ 步,初始 $\exp(\tilde{\mathcal{H}}^{\text{res}})$ 起步,投影未约束矩阵到双随机
  • 关键超参$n_{hc}=4$$\alpha$ 初始化 $0.01$,Layer Norm $\epsilon=10^{-20}$
  • 工程代价:激活 4×;TileLang 3-kernel 融合 + Sinkhorn 反向重算 + 选择性 recomputation(块大小 $L_r^* \approx \sqrt{nL/(n+2)}$)+ DualPipe 三 stream → wall-time overhead 6.7%

mHC 是 DeepSeek V4 替代标准残差连接的核心机制 — 把单流残差 $x' = x + f(x)$ 扩展为 4 路平行残差流,并通过把混合矩阵约束在 Birkhoff 多面体 (双随机矩阵的凸包) 上来保证训练稳定。

从标准 Pre-LN 残差到 HC 再到 mHC 的演进:HC 把单流扩展为 n_{hc}=4 路并加可学的 Pre / Res / Post 三个混合矩阵;mHC 进一步用 Sinkhorn-Knopp 投影把 Res 约束在 Birkhoff 多面体,保证 non-expansive 与多层堆叠稳定 (mHC 论文 Fig. 1)@fig-dsv4-mhc-comparison

标准残差出了什么问题

核心问题:Pre-LN Transformer 的单残差为什么深层 scale 不上去?

Pre-LN Transformer 普遍采用形如

$$\begin{equation} x_{l+1} = x_l + \mathcal{F}_l(\mathrm{LN}(x_l)) \label{eq:dsv4-mhc-residual} \end{equation}$$

的单残差路径。这种设计存在长期被观察到的两难 — Seesaw Effect (Zhu et al., 2024[1]):

  • 残差权重偏向 $x_l$ (identity 路径强) → 解决梯度消失,但深层信息无法充分聚合,表征退化 (representation collapse)
  • 残差权重偏向 $\mathcal{F}_l$ (子层路径强) → 表征更新充分,但梯度更易消失

Hyper-Connections (HC) 的提出动机是用多条平行残差流取代单流,让网络在不同流上分别承担不同的"深度行为" — 有的流偏 identity 保留信号,有的流偏聚合学习深层表示,混合矩阵根据输入动态调整偏重。

标准 HC 怎么工作

核心问题:HC 的三个映射 $A_l$ / $B_l$ / $C_l$ 各自角色是什么?为什么 HC 在深层堆叠下不稳?

HC 把残差状态从 $\mathbb{R}^d$ 扩到 $\mathbb{R}^{n_{hc} \times d}$, V4 中 $n_{hc} = 4$

令第 $l$ 层输入 $X_l \in \mathbb{R}^{n_{hc} \times d}$ (行堆叠:第 $i$ 行为残差流 $i$ 的隐藏状态 $\mathbf{x}_{l,i} \in \mathbb{R}^d$),三个学习的线性映射:

  • 输入映射 $A_l \in \mathbb{R}^{1 \times n_{hc}}$:把 $n_{hc}$ 路加权汇总为 1 路 $A_l X_l \in \mathbb{R}^d$,送入实际子层 $\mathcal{F}_l$
  • 残差映射 $B_l \in \mathbb{R}^{n_{hc} \times n_{hc}}$:在 $n_{hc}$ 路之间重新混合
  • 输出映射 $C_l \in \mathbb{R}^{n_{hc} \times 1}$:把子层输出广播回 $n_{hc}$

更新规则:

$$\begin{equation} X_{l+1} = B_l X_l + C_l \mathcal{F}_l(A_l X_l) \label{eq:dsv4-mhc-hc-update} \end{equation}$$

$\mathcal{F}_l$ 的输入 / 输出仍是 $d$ 维 (attention 子层或 MoE 子层均不感知残差宽度)。

HC 的理论价值

  • 残差宽度 $n_{hc}$ 解耦于隐藏维度 $d$,参数代价仅在 $A_l$ / $B_l$ / $C_l$ 这三个小矩阵
  • $B_l$ 提供"流间重路由"能力,可让某些流主要承担 identity / 其他流承担学习

HC 的实际问题 (mHC 论文 §3.1 实证 — 27B / 60 层 MoE 训练 5 万步):

  • $\mathcal{H}_l^{\text{res}}$ 谱无约束。论文用 Amax Gain Magnitude 度量稳定性:定义为 composite mapping $\prod_{i=1}^{l} \mathcal{H}_{l+1-i}^{\text{res}}$ 的最大行 / 列绝对和
  • 单层 HC(Fig. 3a):Amax ~1,看起来正常;但 多层 composite(Fig. 3b):Amax 峰值可达 3000,反向梯度 gain 在中间层(20-50 层)持续放大三个数量级
  • 训练 loss vs mHC 的绝对差距持续 ~0.005-0.007 不收敛 (论文 Fig. 2a),gradient norm 大幅震荡 (Fig. 2b)

HC 在 27B / 60 层上的 propagation 不稳:单层 (a) Amax 接近 1,但 composite (b) backward gradient gain 在 20-50 层飙到 ~3000 (mHC 论文 Fig. 3)@fig-dsv4-hc-instability

mHC 的流形约束怎么保稳定

核心问题:把 $B_l$ 限制在 Birkhoff 多面体上能保证什么数学性质?为什么这等于训练稳定?

mHC (Xie et al., 2026[2]) 的核心改动是把 $B_l$ 约束在 Birkhoff 多面体 $\mathcal{M}$ — 所有非负、行和列和都为 1 的方阵的凸包:

$$\begin{equation} B_l \in \mathcal{M} := \{ M \in \mathbb{R}^{n \times n} \mid M \mathbf{1}_n = \mathbf{1}_n,\ \mathbf{1}_n^T M = \mathbf{1}_n^T,\ M \ge 0 \} \label{eq:dsv4-mhc-birkhoff} \end{equation}$$

这种约束带来三个关键性质:

  1. 谱范数有界$\|B_l\|_2 \le 1$。双随机矩阵每行和、每列和均为 1,所以 $\|B_l\|_1 = \|B_l\|_\infty = 1$;由矩阵范数的几何均值不等式 $\|M\|_2 \le \sqrt{\|M\|_1 \|M\|_\infty}$ 立得 $\|B_l\|_2 \le 1$ (Perron-Frobenius 给出的是谱半径 $\rho(B_l)=1$,不直接得到谱范数界)。这保证残差映射严格 non-expansive,前向不会爆炸
  2. 闭包性$M_1 M_2 \in \mathcal{M}$。多层 mHC 堆叠后整体残差路径仍保持 non-expansive,对深网络至关重要
  3. 行和列和守恒:信号"总量"在残差混合中守恒,避免某些流被静默归零

输入映射 $A_l$ 和输出映射 $C_l$ 也需要约束以避免 signal cancellation:通过 Sigmoid 函数把它们压到 $[0, 1]$ ($C_l$ 的上界改为 2),保证非负且有界。

约束的实测效果 (论文 §5.4 + Fig. 7):mHC 的 composite mapping Amax 在 60 层全程稳定在 ~1.6,相比 HC 的 ~3000 降低三个数量级。残差信号 / 反向梯度 gain 在层间分布近似均匀(Fig. 8 的矩阵可视化对比:HC 散乱大值斑块 vs mHC 均匀分布)。

mHC 在同 27B / 60 层上 propagation 完全稳定:单层 (a) 接近恒 1,composite (b) 最大 Amax ~1.6 (mHC 论文 Fig. 7,对照 Fig. 3 的 HC)@fig-dsv4-mhc-stability

动态参数化怎么实现

核心问题:mHC 三个映射怎么从输入动态生成?$\alpha$ 初始化为什么是关键?

mHC 的三个映射不是固定参数,而是输入依赖 — 根据当前 token 状态生成。每个映射拆分为"动态项 + 静态项"。

输入 $X_l \in \mathbb{R}^{n_{hc} \times d}$ 先 flatten + RMSNorm:

$$\begin{equation} \hat{X}_l = \mathrm{RMSNorm}(\mathrm{vec}(X_l)) \in \mathbb{R}^{1 \times n_{hc} d} \label{eq:dsv4-mhc-rmsnorm} \end{equation}$$

然后生成未约束的原始参数:

$$\begin{align} \tilde{A}_l &= \alpha_l^{\text{pre}} \cdot (\hat{X}_l W_l^{\text{pre}}) + S_l^{\text{pre}} \label{eq:dsv4-mhc-a-tilde}\\ \tilde{B}_l &= \alpha_l^{\text{res}} \cdot \mathrm{Mat}(\hat{X}_l W_l^{\text{res}}) + S_l^{\text{res}} \label{eq:dsv4-mhc-b-tilde}\\ \tilde{C}_l &= \alpha_l^{\text{post}} \cdot (\hat{X}_l W_l^{\text{post}})^T + S_l^{\text{post}} \label{eq:dsv4-mhc-c-tilde} \end{align}$$

其中:

  • $W_l^{\text{pre}} \in \mathbb{R}^{n_{hc} d \times n_{hc}}$, $W_l^{\text{post}} \in \mathbb{R}^{n_{hc} d \times n_{hc}}$, $W_l^{\text{res}} \in \mathbb{R}^{n_{hc} d \times n_{hc}^2}$:学习的动态权重 (论文中记作 $\varphi_l^{\text{pre}} / \varphi_l^{\text{post}} / \varphi_l^{\text{res}}$
  • $\mathrm{Mat}(\cdot)$ 把长度 $n_{hc}^2$ 的向量 reshape 成 $n_{hc} \times n_{hc}$ 矩阵
  • $S_l^{\text{pre}} \in \mathbb{R}^{1 \times n_{hc}}$, $S_l^{\text{post}} \in \mathbb{R}^{n_{hc} \times 1}$, $S_l^{\text{res}} \in \mathbb{R}^{n_{hc} \times n_{hc}}$:学习的静态 bias
  • $\alpha_l^{\text{pre}}, \alpha_l^{\text{res}}, \alpha_l^{\text{post}} \in \mathbb{R}$:可学的 gating 标量,初始化为 $0.01$ (论文 §4.2 实测值,不是泛指"小值")
  • RMSNorm $\epsilon = 10^{-20}$ — 用极小 $\epsilon$ 是为了让 $\hat{X}_l$ 的方差归一化更精确,避免 dynamic projection 的 scale 漂移

$\alpha = 0.01$ 初始化是论文记录的具体超参,不是经验法则:训练初期 $\alpha \tilde{X}_l W$ 项贡献 ~1% 量级,网络几乎只依赖静态 bias $S$ (等效一个固定权重的经典残差),随训练推进 $\alpha$ 渐增,动态成分逐步生效,避免训练早期被未充分学习的动态权重打乱。

混合精度策略 (论文 §4.3):

组件数据类型说明
动态投影 $\varphi$ 的 GEMMTF32内部累加用 TF32 保精度
残差状态 $X_l$BF16与主模型权重同精度
Sinkhorn-Knopp 迭代中间 / RMSNorm 累加FP32数值敏感操作必须升精度

@tbl-dsv4-mhc-mixed-precision mHC 三个子操作的数据类型选择

Sinkhorn-Knopp 投影怎么做

核心问题:怎么把未约束的 $\tilde{B}_l$ 投影到 Birkhoff 多面体上?为什么行列双向归一化才正确?

得到未约束 $\tilde{B}_l$ 后,需要投影到 Birkhoff 多面体。mHC 用 Sinkhorn-Knopp 迭代 完成:

Sinkhorn-Knopp 迭代示意 (4×4 矩阵):从 \exp(\tilde{B}_l) 出发,交替行 / 列归一化 20 次,行和列和都趋向 1,矩阵收敛到双随机@fig-dsv4-mhc-sinkhorn

第 0 步 (保证正性):

$$\begin{equation} M^{(0)} = \exp(\tilde{B}_l) \label{eq:dsv4-mhc-sinkhorn-init} \end{equation}$$

迭代步 (交替行 / 列归一化):

$$\begin{equation} M^{(t)} = \mathcal{T}_r(\mathcal{T}_c(M^{(t-1)})) \label{eq:dsv4-mhc-sinkhorn} \end{equation}$$

$\mathcal{T}_r$ 表示行归一化 (每行除以行和),$\mathcal{T}_c$ 表示列归一化。迭代收敛到双随机矩阵 $B_l = M^{(t_{\max})}$。V4 实际取 $t_{\max} = 20$ 次迭代。

对照传统 attention 中"行 softmax + 列归一化"的做法

  • 那种做法只对行归一化,列和无约束 → 不在 Birkhoff 多面体上 → 失去闭包性和谱范数有界性
  • Sinkhorn-Knopp 双向归一化才严格落在流形上,多层堆叠才稳定

输入 / 输出映射约束相对简单:

$$\begin{equation} A_l = \sigma(\tilde{A}_l), \quad C_l = 2\sigma(\tilde{C}_l) \label{eq:dsv4-mhc-gate} \end{equation}$$

$\sigma$ 即 Sigmoid。

mHC 的工程代价能压到多少

核心问题:mHC 的内存 / 通信 / 计算开销在哪?论文用什么手段把 overhead 压到 6.7%?

mHC 的代价集中在三处,论文 §3.2 给出精确量化公式:

维度标准残差HC / mHC论文 §3.2
每 token 内存读$2C$$(5n+1)C + n^2 + 2n$11C → 21C (n=4)
每 token 内存写$C$$(3n+1)C + n^2 + 2n$1C → 13C (n=4)
激活体量$C$$nC$×4
跨 PP stage 传输$C$$nC$×4 通信量
额外 GEMM03 个 $\varphi$ + 20 步 Sinkhorn

@tbl-dsv4-mhc-io-cost mHC vs 标准残差的内存 I/O 与计算成本($C=d=$hidden dim)

论文 §4.3 三项工程优化把 wall-time overhead 压到 6.7%

TileLang Kernel Fusion (§4.3.1)

mHC 通过 TileLang 实现三类专用 kernel:

Kernel内含操作优化点
Pre kernel (Eq. 14-15)2 次 RMSNorm + 动态 $\varphi^{\text{pre}}$ → Sigmoidforward / backward 各融为单 kernel,省 ATen 层多次启动
Post-Res fused kernel (Eq. 16-18)$\mathcal{H}^{\text{post}} \cdot \mathcal{F} + \mathcal{H}^{\text{res}} X$ 合并读取量从 $(3n+1)C$ 降到 $(n+1)C$
Sinkhorn kernel (Eq. 19)$\exp$ + 20 步行列归一化backward 自定义重算中间矩阵 $M^{(t)}$,避免存 20 份 $n\times n$ 张量

@tbl-dsv4-mhc-kernels TileLang 三 kernel 划分

选择性 Recomputation (§4.3.2)

backward 不缓存全部中间张量,只把每 $L_r$ 层的第一层输入 $X_{l_0}$ 存下,块内其他层 forward-on-demand 重算。最优块大小

$$\begin{equation} L_r^* \approx \sqrt{\frac{nL}{n+2}} \label{eq:dsv4-mhc-recompute} \end{equation}$$

其中 $L$ 是总层数。该公式由 "存的字节数 $nC \cdot \lceil L/L_r \rceil$" + "重算字节数 $(n+2)C \cdot L_r$" 对 $L_r$ 求导极小化得来。$n=4, L=60$ 代入得 $L_r^* \approx 6.3$,即每 6 层一个 checkpoint。

DualPipe 三 Stream 调度 (§4.3.3)

DualPipe 扩展为三 stream 调度:Normal 流跑 MLP/ATTN,Communication 流跑 dispatch/combine/PP send-recv,High-Priority 流专门跑 mHC 的 Post-Res kernel,与主路径 overlap (mHC 论文 Fig. 4)@fig-dsv4-mhc-dualpipe

  • High-priority compute stream:专跑 $\mathcal{F}^M_{\text{post,res}}$ 的 MLP kernel,与主 attention 路径 overlap
  • 避免 persistent kernel:attention 层不用常驻 kernel,留出抢占窗口让 mHC kernel 切入
  • Recomputation 解耦 pipeline 依赖:每 stage 本地缓存 $X_{l_0}$,重算不阻塞 PP send-recv

Sinkhorn 输出维度极小问题

mHC 内部涉及一个输出维度仅为 24 的矩阵乘法 ($n_{hc} + n_{hc}^2 + n_{hc} = 4 + 16 + 4 = 24$,对应 $\tilde{A}_l$ / $\tilde{B}_l$ / $\tilde{C}_l$ 拼接后的总输出)。小输出维度 GEMM 在小 batch 下必须用 split-k 分解,但 split-k 默认实现非确定(依赖原子加法)。论文为此自研确定性 split-k:每个 split 分别输出到独立 buffer,后续用确定性 reduction kernel 合并,保证 bitwise 可复现。

mHC 论文实证结果

核心问题:mHC 在什么规模上验证过?相比 HC / 标准残差具体涨多少?

mHC 论文 §5 在 4 个 MoE 规模上做了对照实验:

模型总参数激活参数层数 $L$hidden $C$Routed expertTokens
3B3B6 active + 2 shared39.3B
9B9B105B
27B27B4.14B30256072 routed (6+2 shared)262B
3B-1T3B1.05T

@tbl-dsv4-mhc-paper-models mHC 论文实验配置(论文 Table 5;27B 配置最完整)

27B 主结果 (论文 Table 4,5 万训练步):

BenchmarkBaselineHCmHCΔ(mHC − Baseline)
BBH (EM)43.848.951.0+7.2
DROP (F1)47.051.653.9+6.9
GSM8K (EM)46.753.253.8+7.1
HellaSwag (Acc.)73.774.374.7+1.0
MATH (EM)22.026.426.0+4.0
MMLU (Acc.)59.063.063.4+4.4
PIQA (Acc.)78.579.980.5+2.0
TriviaQA (EM)54.356.357.6+3.3

@tbl-dsv4-mhc-benchmarks 27B 模型上 mHC vs HC vs 标准残差对比(mHC 论文 Table 4)

消融 (论文 Table 1,相对 mHC 的绝对 loss gap):

移除组件Δ Loss
移除 $\mathcal{H}_l^{\text{post}}$+0.027 (影响最大)
移除 $\mathcal{H}_l^{\text{pre}}$+0.025
移除 $\mathcal{H}_l^{\text{res}}$ 约束 (退回 HC)+0.022

@tbl-dsv4-mhc-ablation 三个映射的消融(loss gap 越大代表组件越关键)

关键观察

  • mHC 在所有 8 项 benchmark 上全面超过 HC 和 baseline,MATH 上 HC 略高 0.4 但落在噪声范围内
  • $\mathcal{H}_l^{\text{post}}$ 移除影响最大 — 说明"广播回多流"比"输入混合"更关键
  • HC 流形约束的引入只是消融排第三,但整篇论文为它做了流形理论、Sinkhorn 投影、确定性 split-k 三层工程 — 因为没有约束 HC 在 60+ 层规模会 loss spike 而无法训练完

mHC 跟原始 HC 关系是什么

核心问题:mHC 的工作脉络 + 后续业界跟进?

工作时间团队贡献
Hyper-Connections2024-09 (arXiv 2409.19606)字节跳动 Seed (Zhu et al.)提出多路残差 + 动态混合,验证在 dense / sparse LLM + 视觉任务
mHC2026DeepSeek (Xie et al.)$B_l$ 约束到 Birkhoff 流形 + Sinkhorn-Knopp 投影,解决 HC 训练不稳问题
DeepSeek V42026-04DeepSeek首次在 1.6T 级 MoE 上验证 mHC 的可 scale 性

@tbl-dsv4-mhc-lineage HC 与 mHC 的工作脉络

后续业界跟进 (基于 arXiv 截至 2026-05 的检索结果):

  • JPmHC (Sengupta et al., arXiv 2602.18308):把混合矩阵推广到 Stiefel / Grassmann 等流形,用 Cayley 变换避免 Sinkhorn 迭代
  • EΔ-MHC-Geo Transformer (Shahmansoori, arXiv 2605.06729): mHC + Deep Delta Learning + Cayley 旋转的统一框架
  • MGT (Manifold-Geometric Transformer) (Su & You, arXiv 2601.01014):把 mHC 解释为"残差约束在局部切空间上"
  • Ablate and Rescue (Peng et al., arXiv 2603.14833):首个开源 mHC 语言模型 + 探索多路残差的功能分化

mHC 已经从单一架构创新发展成一个几何约束残差的新研究分支。

Takeaway

知识点核心结论
Seesaw 困境Pre-LN 单残差偏 identity → 表征退化;偏子层 → 梯度消失
HC 思路残差扩到 $n_{hc} \times d$ 路,三映射动态混合;但 $\mathcal{H}^{\text{res}}$ 谱无约束 → 27B/60 层 composite Amax ~3000
mHC 流形约束$\mathcal{H}^{\text{res}} \in$ Birkhoff 多面体,$\|\cdot\|_2 \le 1$ non-expansive;composite Amax 压到 ~1.6(3 个数量级)
Sinkhorn-Knopp初始 $\exp(\tilde{\mathcal{H}}^{\text{res}})$ + 交替行 / 列归一化 $t_{\max}=20$
关键超参$n_{hc}=4$$\alpha$ 初始化 $0.01$,RMSNorm $\epsilon=10^{-20}$
27B 实证mHC 在 8 项 benchmark 全面胜 baseline(BBH +7.2 / MMLU +4.4)
工程代价I/O 读写涨 ~2×~13×,激活 ×4;TileLang 3-kernel + $L_r^* = \sqrt{nL/(n+2)}$ + DualPipe 三 stream → wall-time 仅 +6.7%
确定性 split-kmHC 内部 24 维 GEMM 需 split-k,论文自研确定性 reduction kernel 保 bitwise 可复现
业界脉络HC (字节 2024) → mHC (DeepSeek 2026, arxiv 2512.24880) → JPmHC / MGT / Ablate 等几何约束残差分支

参考资料

  1. Zhu et al., Hyper-Connections, arXiv 2409.19606, 2024.
  2. Xie et al., mHC: Manifold-Constrained Hyper-Connections, arXiv 2512.24880, 2026.