博客

DeepSeek V4 与流形撕裂

2026年5月5日

English
Cover illustration: a black, contour-lined manifold split down the middle by a jagged tear; a green token trajectory crosses the surface and resolves into a stable basin on the right. Title 'DeepSeek V4 and Manifold Tearing' set in display type on the left.

本文整理自我与马远老师录制的 Bilibili 对话视频《深度流形漫谈(1)—— DeepSeek V4 与流形撕裂》,并大量参考马远老师(Max Ma)在 Deep Manifold 上的原文 Single-Token Geometry: DeepSeek V4。视频是通俗版,马远老师的文章是数学版,本文把两者接到我此前在 神经网络的四重境界 里立的那个"流形先验"上做收口。

任何训练过大模型的人都见过这一幕:监控曲线一路下降,loss 顺滑得让人安心,突然某一步直冲天花板,然后慢慢回落,留下一个不知道该不该 rerun 的疑问。

工程上叫 loss spike。

按经典叙事,这是优化的问题:学习率太大、batch 偏了、某个 token 的梯度爆了。所以社区的常规处理是:clip 一下梯度、调一下学习率、断点续训。问题压住了,原因没人真的解释。

DeepSeek V4 的技术报告,加上几何解读,提供了另一种讲法:

Loss spike 不是优化失败,是流形撕裂——一个由离散路由决策与局部几何不一致所引发的拓扑事件。

如果这句话成立,那 V4 引入的 mHC、Anticipatory Routing、SwiGLU clamping 这一组改动就不是孤立的工程 trick,而是同一道几何问题的三层补丁。


1. 训练大模型是一个反问题

先把视角抬高一层。

桥梁工程师拿到设计图、材料、载荷,可以算出桥会不会塌——这是正问题:结构已知,求结果。

大模型训练正好相反。我们看到的是一堆数据、文本、答案,要反推一个能生成这些结果的内部结构。这是典型的反问题

反问题难在两点:

  • 你不知道目标结构长什么样。
  • 你的"求解器"(模型)一开始也没有稳定结构,它边猜边塑造自己。

这就解释了为什么大模型训练长期是工程手艺:optimizer 要试、学习率要试、层数要试、专家数要试、router 设计要试。不是工程师不想要理论,是这件事本身就是一个动态的、还没成形的高维结构在自己摸路。

理解了这一点,"loss spike 是几何事件而不是优化事件"这个说法就比较容易接受了:在一个边塑造边求解的过程里,结构本身可以坏掉,而不只是求解步长有问题。


2. 流形不是弯,撕裂不是变形

"流形"听起来抽象,但用地球理解最快:从太空看是球面,站在地面上看脚下是平的。整体可以很弯,局部可以近似规则——这就是流形。

大模型训练里类比成立:数据并不是均匀撒在高维空间,而是隐含地落在某些复杂结构上。模型每往前一层,就是在重新组织这些表示,最终目标是把一个原本缠在一起的高维结构,慢慢"展平"到可以线性分开的状态。Olah 2014 年那篇 Neural Networks, Manifolds, and Topology 至今仍是这幅图最干净的可视化。

关键在于"弯"和"裂"是两件事:

  • 是连续的形变。山路再陡,路是通的,导航仍然可用。
  • 是不连续的跳变。原本相邻的两点,被映射到了两个区域。地图破了一道缝。

马远把"撕裂"写成了精确定义:

流形撕裂是层间 transport map 的一个不连续点,由一次与局部几何不相容的离散路由决策诱发。

A loss spike rendered as a geometric event: a black contoured manifold split by a vertical fissure, with a green token path entering from the left and routing across the tear into a stable basin on the right; a misroute branch peels off above the spike. Labels: 'token path', 'loss spike', 'tear', 'misroute', 'stable basin'.

注意"离散路由"四个字——这正是 MoE 引入的新结构。Dense 模型每个 token 走一样的计算路径,不存在路由这回事;MoE 里每一层 router 都要做一次 hard 选择,这就给"几何不相容"留下了入口。

沿着单 token 的前向轨迹,把撕裂的发生拆成三个阶段。

Three side-by-side panels titled 'Three Stages of Manifold Tearing'. Panel 1 'local curvature spike': a contoured manifold with a token path running into a sharp vertical eruption labeled 'high curvature'. Panel 2 'chart inconsistency': two overlapping curved patches with a token path crossing a 'misaligned chart' boundary. Panel 3 'cross-layer amplification': a stack of layered manifolds with the token signal compounding downward into a fractured base labeled 'amplified error'.

阶段 1:局部曲率尖峰

某些激活区域曲率很高,二阶项不再可忽略。这是个非常具体的数学问题:梯度下降隐含地依赖一阶 Taylor 展开

f(x+Δx)f(x)+f(x)Δxf(x + \Delta x) \approx f(x) + \nabla f(x)^\top \Delta x

只要二阶导太大,这个近似就站不住。换成下山的画面:坡度从 30 度突然变成 85 度,你还按原步长迈,那一脚就踩空了。

阶段 2:坐标图不一致

流形不是一张全局地图能描述的,要靠很多局部 chart 拼起来。

模型训练时每一步都在更新参数,问题是:router 用的是上一步的参数 θtΔt\theta_{t-\Delta t},而 token 已经活在 MtM_t 上了。chart 与几何错位——你以为自己还在旧地图上某个位置,其实地形已经变了。

具体到 MoE 里就是 router 把 token 送错了专家。还不算彻底撕裂,但已经是不稳定的开始。

阶段 3:跨层撕裂被放大

一个被送错专家的 token,被一个根本没见过这部分流形的专家处理,输出会偏离正常分布——这是一个 outlier。

如果残差路径上的线性变换矩阵谱范数 > 1,这个 outlier 会一层一层放大。Transformer 几十层堆下去,第 5 层的微小不一致,能在第 50 层变成 loss spike。

视频里我反复讲"迭代系统最怕的不是单步错,而是每一步都错一点点"——这就是。


3. DeepSeek V4 的三道几何防线

V4 不是去消灭这三个阶段——那不可能。它是在每个阶段上单独加约束,让问题不至于失控。对照表把这件事讲得最清楚:

阶段V4 机制几何含义
局部曲率尖峰SwiGLU Clamping把激活夹回 chart 内
坐标图不一致Anticipatory Routing用源几何做平行输运
跨层撕裂放大mHC残差是 Lipschitz-1 映射
Three panels titled 'DeepSeek V4's Geometric Defenses'. Panel 1 'SwiGLU clamping': activations corralled inside a dashed boundary on a contoured surface, with a small inset showing 'bounded activations'. Panel 2 'anticipatory routing': a token path that routes around a tear before it opens, inset shows 'route before the tear'. Panel 3 'mHC': a stack of layers with perturbations on the left damping out as they propagate, inset plots residual norm ‖rℓ‖ flat-to-decreasing across layer ℓ ('non-expansive transport').

下面一个一个讲。

3.1 SwiGLU Clamping——把曲率夹回 chart 里

SwiGLU 的形式是

SwiGLU(x,g)=xσ(g)g\mathrm{SwiGLU}(x, g) = x \cdot \sigma(g) \cdot g

V4 的做法很朴素:把 xx 限制在 [-10, 10],把门控 gg 也限制在 ≤ 10。

听上去像 trick,几何意义其实很硬:任何 chart 只在它自己的局部范围内有效,超出范围一阶近似就不成立。Clamping 就是显式声明 chart 的边界——activation 不许跑出去。

用日常话讲:先别管你是不是走在最优路线上,至少别一脚踩出地图。

3.2 Anticipatory Routing——用源几何做平行输运

V4 在 router 里引入了一个看起来很怪的设计:路由判断不用当前的参数 θt\theta_t,而用一段时间之前的 θtΔt\theta_{t-\Delta t}

第一次看会觉得反直觉——用旧参数判断新数据,岂不是更不准?

把它放回几何里就通了。微分几何里有一个核心概念叫 connection(联络):从一个点把向量"输运"到另一个点时,要选一种自洽的方式。错的方式,会让你绕一圈回来后向量已经不是原来那个了——这就是曲率。

Anticipatory Routing 在做的事是:在源点的几何下做决策,而不是在目标点的几何下做决策。它选择牺牲一点"看上去的准确度",换 chart 的时间一致性。如果同一时刻 router 看到的 chart 和 token 真正所在的 chart 不一样,那就让 router 看一个更稳定、变化更慢的 chart。

更妙的是,V4 把它做成了反应式的:检测到 loss 开始抖,就启动这个机制,"把几何错位当成一个可检测、可修正的事件"。

3.3 mHC——让残差成为非膨胀映射

mHC 是 Manifold-Constrained Hyper-Connections,在 V4 报告里被描述为"加强残差连接、增强跨层传播稳定性"。马远把数学写出来就清楚多了。

Hyper-connection 的更新规则是:

Xl+1=BlXl+ClFl(AlXl)X_{l+1} = B_l X_l + C_l F_l(A_l X_l)

普通 Transformer 残差里 Bl=IB_l = I,所以谱范数刚好 = 1。mHC 把 BlB_l 换成可学习的矩阵,但强制约束在 Birkhoff 多面体上——也就是双随机矩阵的集合:

BlM:={MRn×nM1n=1n, 1nM=1n, M0}B_l \in \mathcal{M} := \{M \in \mathbb{R}^{n \times n} \mid M \cdot \mathbf{1}_n = \mathbf{1}_n,\ \mathbf{1}_n^\top M = \mathbf{1}_n^\top,\ M \geq 0\}

每行每列加起来都是 1,所有元素非负。约束的具体实现是 Sinkhorn-Knopp 迭代——交替按行、按列归一化,收敛到 Birkhoff 多面体内的一点。

这个约束的几何后果非常干净:双随机矩阵的谱范数恰好 ≤ 1,所以

BlxBlyxy\|B_l x - B_l y\| \leq \|x - y\|

这是 Lipschitz-1,又叫非膨胀映射(non-expansive map)。意思是:层与层之间的残差传播不可能放大扰动。一个上游的小撕裂,最坏只能保持原大小,不可能滚雪球。

输入输出映射 Al,ClA_l, C_l 还另有一招:用 sigmoid 强制非负,避免出现"信号互相抵消产生人为零点"——那种零点没有几何意义,是数值上的伪解。

到这里你应该能看出,三道防线其实是一组协同设计:

  • Clamping 管局部(chart 内部不出格)。
  • Anticipatory Routing 管时间(chart 在 t → t+1 之间对得上)。
  • mHC 管空间(撕裂不沿层堆叠)。

少一道,另两道也撑不住。


4. 马远老师更深的一刀:根因在数据,不在架构

如果只读到这里,你会以为这就是一篇"V4 训练稳定性"的论文解读。但文章里其实埋了一句更狠的话:

数据——而不是架构——才是首要原因。具有不连续分布结构的训练数据,会诱导出一个从一开始就不光滑的表示流形。

这句话的杀伤力很大。它意味着:

  • mHC、Clamping、Anticipatory Routing 都是脚手架,不是楼本身。
  • 它们让一个本来就有裂痕的流形不至于崩,但裂痕不是它们造成的。
  • 真正的几何质量上限,由你喂进去的数据决定。

往前推一步:如果你的数据里混了大量分布相距很远、但语义上被并列对待的样本(比如代码、自然语言、数学符号、多模态 caption 混训),那 V4 这套东西保的是训练能跑下去,但不可能保证最终 manifold 是好的

这是一个比"换架构"更难的问题,也是为什么我相信下一阶段的竞争会从"参数 + 算力"转移到"数据几何"。


5. 回到指玄境:Four Realms 的工程证据

我此前在 神经网络的四重境界 里把"训练 = 流形几何展平"放在了第二境(指玄境),并引用了马远与石根华的 Deep Manifold 框架——它把这件事数学化为"基于不动点理论的可学习数值计算"。

那篇文章里我也提到 Muon 优化器:用 Newton–Schulz 迭代把动量更新投影到最近的半正交矩阵上,本质是把"权重是几何对象"这件事写进了 optimizer。

DeepSeek V4 这次干的事,是把同一件事推进到前向传播 + MoE 路由两个新层面:

层面谁在做几何动作
OptimizerMuon更新方向投影到等距群(半正交)
RoutingAnticipatory Routing在源几何做决策
Forward 残差mHC残差映射约束在 Birkhoff 多面体(非膨胀)
ActivationSwiGLU Clamping限制曲率范围

四个机制,四个不同位置,做的是同一类事——显式承认权重和激活是几何对象,给它们配几何上自洽的更新规则

这是指玄境从"哲学立场"变成"工程默认"的过程。当工程师不得不用 Birkhoff 多面体来约束残差矩阵时,他们其实已经在用几何的语言思考——只是论文里不一定这么写。


结论

  1. 训练大模型是反问题——结构未知,从数据反推。这天然不稳定。
  2. Loss spike 是几何事件——拓扑层面的撕裂,不是优化层面的爆炸。
  3. V4 的三道防线(Clamping / Anticipatory Routing / mHC)按曲率、时间、空间三个轴分别加约束,让脚手架撑住一个本来就不光滑的流形。
  4. 真正的瓶颈在数据——架构层面的稳定化是必要的,但不会让一个有内在不连续性的数据分布变得光滑。
  5. 整个方向在收敛——Muon、mHC、Anticipatory Routing 在不同位置做着同一件事:把神经网络当几何对象,而不是参数袋。

视频末尾马老师用了"优雅"这个词。一个能稳定训练起来的大模型,不是堆出来的,是各模块之间彼此对齐的结果——像一支配合好的乐队。每个乐手再强,节拍对不上,合奏也是噪音。DeepSeek V4 这一组设计之所以有意思,是它让这种对齐有了几何上的依据,而不只是经验上的协调。