Zhangzhe's Blog

The projection of my life.

0%

mHC: Manifold-Constrained Hyper-Connections

URL

TL;DR

  • 本文提出了一种新的残差连接方式:“流形约束超连接”,通过扩展残差流的宽度来突破传统残差连接带来的模型表达能力,同时解决了无约束超连接带来的恒等映射丧失和训练不稳定的问题。

Algorithm

大纲

mhc.png

  • 从左到右依次是:
    • 残差连接:xl+1=xl+F(xl,Wl)x_{l+1}=x_l+\mathcal{F}(x_l,\mathcal{W}_l)
    • 超连接:xl+1=Hlresxl+HlpostTF(Hlprexl,Wl)x_{l+1}=\mathcal{H}^{res}_lx_l+{\mathcal{H}^{post}_l}^T\mathcal{F}(\mathcal{H}^{pre}_lx_l,\mathcal{W}_l),其中:
      • HlpreR1×n\mathcal{H}^{pre}_l\in\mathbb{R}^{1\times n} 表示预映射,负责从 nn 条流中聚合信息,形成标准维度 CC 的输入供当前层的 F\mathcal{F} 处理。
      • HlpostR1×n\mathcal{H}^{post}_l\in\mathbb{R}^{1\times n}:负责将当前层 F\mathcal{F} 的输出(维度 CC)广播或分发回 nn 条流中。
      • HlresRn×n\mathcal{H}^{res}_l\in\mathbb{R}^{n\times n}:负责在 nn 条流之间进行信息的混合与路由。
    • 流形约束超连接:在超连接的基础上,对三个映射矩阵做了 必须是双随机矩阵 的限制,用于解决训练不稳定问题,表示为 PM()\mathcal{P_M}(),这里的:
      • M\mathcal{M} 表示双随机矩阵
      • PM\mathcal{P_M} 表示将任意一个矩阵变成双随机矩阵的函数

双随机矩阵

什么是双随机矩阵

  • 一个矩阵 MRn×nM \in \mathbb{R}^{n \times n} 被称为双随机矩阵,当且仅当它满足以下三个条件:
    • 非负性 (Non-negativity): 所有元素 Mij0M_{ij} \ge 0
    • 行和为 1 (Row Sum Unity): M1n=1nM \mathbf{1}_n = \mathbf{1}_n
    • 列和为 1 (Column Sum Unity): 1nM=1n\mathbf{1}_n^\top M = \mathbf{1}_n^\top

双随机矩阵的性质

  • 范数保持 (Norm Preservation) 与非扩张性
    • 双随机矩阵的最大奇异值(即谱范数 2\|\cdot\|_2)严格等于 1。这对应于全 1 向量 1\mathbf{1} 是其主特征向量。
    • 这意味着 Hlres\mathcal{H}_l^{res} 是一个非扩张算子 (Non-expansive Operator)。无论输入信号 xlx_l 的强度如何,经过 Hlresxl\mathcal{H}_l^{res} x_l 变换后,其能量(范数)不会被放大。这直接切断了梯度爆炸的源头。
  • 凸组合 (Convex Combination) 与特征均值守恒
    • 由于矩阵元素非负且归一化,Hlresxl\mathcal{H}_l^{res} x_l 的每一行实际上是输入流特征的加权平均(凸组合)。
    • 几何解释: 输出特征向量必然位于输入特征向量构成的凸包 (Convex Hull) 内部。
    • 物理意义: 这种操作起到了平滑和混合的作用,而不是缩放。它保证了多流系统中,特征的全局均值在传播过程中保持守恒 (Mean Conservation)。
  • 乘法封闭性 (Compositional Closure)
    • 这是 mHC 能够扩展到任意深度的数学基石。双随机矩阵的集合在矩阵乘法下是封闭的。
    • 证明: 设 A,BA, B 为双随机矩阵,则 (AB)1=A(B1)=A1=1(AB)\mathbf{1} = A(B\mathbf{1}) = A\mathbf{1} = \mathbf{1},且 1(AB)=(1A)B=1B=1\mathbf{1}^\top (AB) = (\mathbf{1}^\top A)B = \mathbf{1}^\top B = \mathbf{1}^\top
    • 这一性质意味着,无论网络堆叠多少层,复合映射 i=lL1Hires\prod_{i=l}^{L-1} \mathcal{H}_i^{res} 始终是一个双随机矩阵。
    • 因此,范数保持和均值守恒的性质在整个网络的深度方向上是全局有效的。这使得 mHC 成功恢复了类似 ResNet 的恒等映射稳定性,同时保留了流间信息交互的能力。

双随机矩阵生成的方法:Sinkhorn-Knopp 可微投影

  • 实现代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
class MHCMappings(nn.Module):
def __init__(self, n, C):
super().__init__()
self.n = n
self.C = C
self.nc = n * C

# ========== 动态映射参数 φ ==========
self.phi_pre = nn.Linear(self.nc, n, bias=False)
self.phi_post = nn.Linear(self.nc, n, bias=False)
self.phi_res = nn.Linear(self.nc, n * n, bias=False)

# ========== 静态偏置 b ==========
self.b_pre = nn.Parameter(torch.zeros(n))
self.b_post = nn.Parameter(torch.zeros(n))
self.b_res = nn.Parameter(torch.zeros(n, n))

# ========== gating scalars α ==========
self.alpha_pre = nn.Parameter(torch.tensor(0.01))
self.alpha_post = nn.Parameter(torch.tensor(0.01))
self.alpha_res = nn.Parameter(torch.tensor(0.01))

self.norm = RMSNorm(self.nc)

def forward(self, x):
"""
x: (n, C)
return:
H_pre : (1, n)
H_post : (1, n)
H_res : (n, n)
"""

# ===== Step 1: flatten & RMSNorm (公式 7) =====
x_flat = x.reshape(1, self.nc) # (1, nC)
x_norm = self.norm(x_flat) # (1, nC)

# ===== Step 2: dynamic + tanh + static =====
H_pre_tilde = (
self.alpha_pre
* torch.tanh(self.phi_pre(x_norm))
+ self.b_pre
) # (1, n)

H_post_tilde = (
self.alpha_post
* torch.tanh(self.phi_post(x_norm))
+ self.b_post
) # (1, n)

H_res_tilde = (
self.alpha_res
* torch.tanh(self.phi_res(x_norm))
).reshape(self.n, self.n) + self.b_res # (n, n)

# ===== Step 3: manifold projection (公式 8,9) =====
H_pre = torch.sigmoid(H_pre_tilde)
H_post = 2.0 * torch.sigmoid(H_post_tilde)
H_res = sinkhorn_knopp(H_res_tilde)

return H_pre, H_post, H_res

infra 优化

  • 在算法之外还做了很多实现上的深度优化(infra 超强已经是 deepseek 传统艺能了)

Experiments

mhc_v2.png

  • DeepSeek 团队在 3B、9B 和 27B 参数量的模型上,基于 DeepSeek-V3 的 MoE + MLA 架构进行了广泛的实验。所有 mHC 实验均设定扩展率 n=4n=4
  • Loss 曲线对比: 标准 HC 模型在训练至 1.2 万步左右时出现了灾难性的 Loss 突刺 (Spike),这与梯度范数的突然爆炸高度吻合。相比之下,mHC 的 Loss 曲线极其平滑,且绝对值始终低于标准残差基线 (Baseline)。
  • 梯度范数: mHC 的梯度范数在整个训练过程中保持稳定,消除了 HC 的剧烈震荡现象。
  • 27B 模型在 8 个主流基准测试上的结果。mHC 展现了对 baseline 和 HC 的全面的超越。

Thoughts

  • LLM 模型的本质大概有这么几块
    • Transformer / SSM
    • MLP
    • Norm
    • 残差
  • 前两块决定了模型的表现能力上限,deepseek 都已经进行过深度优化了(MLA、MoE)
  • 后两部分是梯度下降算法不得不面对的训练稳定性课题,所以这次 deepseek 对残差动手是非常 make sense 的,而且这两块属于传统基于设计的深度学习擅长的两块,纯粹的力大砖飞是行不通的
  • 其实从实现角度看,并没有什么颠覆性的改变,效果这么好确实挺牛的