阅读日期: 2026 年 9 月 24 日
笔记作者: Zhongzhu Zhou
论文: Deep Delta Learning
论文作者: Yifan Zhang、Yifeng Liu、Mengdi Wang、Quanquan Gu
版本: arXiv:2601.00417v4,2026 年 7 月 27 日修订;最初发表于 2026 年 1 月 1 日。
本文依据完整 20 页 v4,包括附录 A—D。
资源: 论文全文 · 官方项目入口。
1. 先把问题说具体:往残差里“加东西”,和“换掉旧东西”有什么不同?
读这篇论文时,我最先想到的不是一个新的注意力算子,而是一个很普通的编辑动作:一个位置已经存着数值 4,现在希望它变成 1,应该加上 1,还是加上差额 ?如果我们知道旧值,后者直接完成替换;前者只会把结果变成 5。
普通残差块当然也能学会输出 。因此,DDL 的出发点不是“残差网络无法删除信息”,而是:能否把读旧值、生成目标值、计算差额这些职责,明确放进残差更新接口?这样,网络不必把整个替换行为都隐含在一个自由输出的分支里。
Deep Delta Learning 给出的接口很简洁:选择一个方向,沿着这个方向读取当前表示;生成希望看到的读数;用一个门控制,把读数和目标之间的差额写回。每次修正是一个秩至多为 1 的外积。这里的“秩 1”形容本次改动,不是说整个表示只剩下一维,也不是说整个模型只能表达低秩函数。
论文还加入了另一个设计:让残差流存得更宽,同时让昂贵的 Attention 和 MLP 继续在原来的模型宽度上计算。具体做法是给每个特征保留多个 value 通道,在进入子层前压缩,子层处理之后再改写完整状态。本文把这叫作“扩展残差状态”。它增加了存储容量,但没有把所有大矩阵都同步放大。

这两件事都值得研究,但需要分清证据。局部公式可以严格推导,训练收益需要实验;扩展模型的效果更好,也不代表收益全部来自“减掉旧读数”。系统代价同样不能省略:状态更大、压缩器要计算、读写会占用带宽。参数量几乎不变,不等于训练时间几乎不变。
我会沿着三个问题展开:第一,一次改写究竟改变了什么?第二,完整模型如何产生方向、目标和门?第三,实验中的质量提升值不值得它所付出的吞吐代价?文中的模型结果均来自论文。几何小例子和存储估算是帮助理解的计算;后面建议的实验没有在本次阅读中执行,也不冒充复现结果。
2. 必要的前置知识:残差状态、投影,以及“沿哪条轴递推”
2.1 残差流可以看成沿网络深度传递的一份工作状态
对于一个 token,普通残差向量写作 。预归一化子层通常先读一个归一化后的视图,再把分支输出加回原状态:
Attention 可以读取其他 token,MLP 则主要在当前 token 内变换特征;它们通过残差流把处理结果交给后面的子层。本文中的层索引 指一次残差更新。一个 Transformer block 中的 Attention 和 MLP 可以对应两次这样的更新,不能在统计状态开销时随意混用“block”和“更新次数”。
“加法”并不意味着信息只能越积越多。分支可以给出负分量,也可以抵消旧值。DDL 真正改变的是接口所鼓励的计算方式:分支除了提供方向,还明确提供目标值,更新直接使用当前读数与目标之间的差额。这是一种归纳偏置,意思是架构偏向某种解题方式,而不是普通残差模型在数学上做不到同样的事。
2.2 单位方向就是一种无需显式换基的坐标
设 且 。沿 方向读取 ,得到标量 ;这个方向在原向量中的分量是 。剩余部分满足
矩阵 是一个正交投影:,并且 。它把一个向量投到 张成的直线上。DDL 的局部几何几乎都建立在这个简单事实之上:如果改动只沿着 ,那么与 正交的部分,在这次更新里就不会改变。
扩展状态写成 。可以把它理解为 个宽度为 的列向量。此时 是有 个元素的行向量:同一个方向读取了多个 value 通道。它并不是为每个通道都生成一个独立方向,这一点会影响我们如何理解容量与秩。
2.3 DDL 沿深度更新,不是直接把注意力换成序列递归记忆
Delta rule 在序列记忆模型中已有历史:随着新 token 到来,模型修改一份记忆矩阵。DDL 借用了类似代数形式,但把更新轴放到网络深度上。一次子层处理之后,修改当前 token 的残差状态,再传给下一个子层。
两者看起来都在写矩阵,却对应不同的系统问题。DDL 论文的主干仍然使用普通注意力;扩展残差状态不会自动取代 Attention 的 KV cache。反而,如果压缩器沿 token 轴使用短卷积,解码时还要维护额外的短历史。
所以需要始终区分三类东西:沿深度传播的残差状态、解码时跨 token 保留的缓存,以及训练反传要保存的中间激活。把它们都叫成“记忆”虽然方便,却很容易得出错误的显存结论。
3. 从读数误差推导 delta 更新
3.1 四个量就能写出整个核心接口
暂时省略 token 和层索引。当前状态是 ,单位方向是 ,目标值向量是 ,标量门是 。论文的核心更新为
先逐个检查形状。读数 的形状是 ;差额 仍然是行向量;左乘列向量 ,就得到与状态相同形状的 修正。这个外积的秩最多是 1。门 同时控制擦除旧读数和写入新目标的力度。
把括号展开,得到更适合分析 shortcut 的形式:
这里最容易漏掉的一点是,擦除项和写入项共享同一个门。它们不是两个可以随意缩放的操作。这个绑定使得目标匹配具有一个很干净的恒等式。
3.2 为什么门等于 1 时,选中的读数会被替换?
在式(1)两侧左乘 :
第二行使用了单位范数假设。定义更新前的误差 ,再减去目标值,就有
因此, 时什么也不改; 时当前读数被精确改成目标; 时只走一部分距离; 时越过目标,但离目标仍比原来近。这最后一种是过松弛更新,越过目标并不等于误差一定变大。
如果擦除使用门 ,写入使用另一个门 ,读数就变成 。即便设 ,也只得到 ;要等于目标,一般还需要 。共享门编码的是一个具体不变量,不只是少用几个参数。
“精确替换”也有明确边界:只替换当前方向上的读数,方向和目标是在这次计算中生成的。它不是把整个向量换成 ,也不是保证下一层选择的方向会读到同样的语义。后文还会看到,实际带数值保护的归一化会让单位范数条件略有偏离。
3.3 一个局部二次目标能解释门的范围
固定 和 ,考虑辅助函数
它对状态的梯度为 。沿负梯度走一步、步长为 ,恰好得到式(1)。由于投影矩阵的非零特征值是 1,步长在 内会缩小选中坐标上的误差。
这是对局部更新的解释,不是模型另加了一个逐层重建损失。实际训练仍优化语言模型目标,、 都会随着输入和参数改变。把这个局部二次函数误认成训练目标,会把一条清楚的代数事实夸大成优化收敛结论。
4. 几何直觉:保留、替换与反射
4.1 shortcut 只有一个方向的特征值被改变
固定 和 ,考虑 。对任意与 正交的向量 ,都有 ;而沿着 本身,
所以特征值为:正交子空间上的 1,以及选中方向上的 。当 ,这些特征值全部退化为 1,不再有一个数值不同的特殊特征空间。扩展状态只是把这个操作应用到多个 value 列;不会因此凭空产生多个独立的 shortcut 谱。

在 时, 会投影掉旧的 分量,再由单独的写入项补上目标值。直接把完整 DDL 块叫成“正交投影”并不准确,因为还存在写入项,而且方向、目标和门本身依赖输入。
在 时,shortcut 是 Householder 反射。完整的条件更新则是
如果固定 和 ,它可以逐列理解为关于目标超平面的仿射反射。目标不为零时,反射平面不经过原点,所以不能说整个向量相对原点的范数一定保持不变。
4.2 一个二维例子,比术语更直观
令 ,,目标为 1。第二个坐标与方向正交,始终保持 2;第一个坐标根据门变化: 得到 4, 得到 2.5, 得到 1, 得到 , 得到 。
最后一个值看起来离原点更远或更近都不重要;正确的参照是目标 1。原值 4 与目标相差 3,反射后的 与目标也相差 3,只是到了另一侧。 时距离变成 1.5,虽然越过目标,误差仍然减半。

论文使用 。有限 logit 将门限制在 内,0 和 2 是极限。门靠近零时近似跳过更新,但 sigmoid 对 logit 的导数也会变小;门在 1 附近时敏感度最大。这是参数化的性质,不能据此宣称训练好的模型已经形成了人能直接解释的“跳过层”“覆盖层”或“反射层”。
局部动作清楚,并不保证动作有用。如果方向选错,模型会准确地改错地方;如果目标不对,即便把读数精确匹配到目标,也未必改善下一个 token 的预测。几何提供的是操作解释,语义价值仍需要证据。
5. 稳定性要讲清楚:局部 shortcut 不等于完整 Jacobian
5.1 “不放大”不是“所有方向都收缩”
当 且 ,固定方向与门的矩阵满足
选中方向上的误差可以变小,但正交部分被原样保留,因此整个线性映射并不是严格收缩。连续乘上多个满足条件的固定 shortcut,其直达路径不会放大范数;不过具体缩小哪些方向,取决于这些方向随深度如何排列。这些结论都限定在“固定生成量之后”的路径上。
完整模型里,方向、门、目标都由输入计算得来。设写入差额 ,对式(1)求微分,逐项展开:
第一行才是我们刚才分析的 shortcut。后面还有经过门、方向、目标的导数路径;它们不会因为 的特征值好看就自动消失。如果 Attention 读取其他 token,完整序列 Jacobian 还会出现 token 间耦合。
所以我不会把这个局部谱结论转述成“DDL 保证梯度不爆炸”或“整个网络的 Lipschitz 常数不超过 1”。更准确的说法是:它对一条直接状态路径施加了可描述的结构,而完整优化性质仍取决于生成分支和层间组合。
5.2 正交保留只针对本次方向
设后面某处希望沿另一个方向 读取状态。本次更新给这个读数带来的变化是
当 与 正交,变化为零;如果两者相关,后续读数就会受影响。这让“不会干扰其他信息”的说法有了非常明确的限定:本次更新保留当前正交子空间,并不保证所有未来语义方向都与它正交。
这一点反而打开了一个好问题:模型学到的是彼此尽量不干扰的方向,还是一串会相互覆盖的修正?单个更新可解释,不代表整个深度过程天然可解释。测量方向相关性与后续任务损失的关系,比直接给每个方向贴语义标签更有价值。
5.3 数值保护会让“严格单位向量”变成近似
附录 A 给出的方向归一化带有安全项,可写成
令 。当安全项非零时,;只有在 远大于 的区域,它才非常接近 1。不再直接代入单位范数,读数推导就变为
因此,门等于 1 时精确匹配目标,是理想单位方向下的恒等式。实际带保护的操作,在通常区域近似满足;如果 ,方向就是零,这次改写也会消失。安全项避免除零,但不会凭空产生一个有意义的方向。
还可以继续看归一化自身的敏感度。设 ,则
这个上界说明安全项把奇点截住了,却不代表导数一定很小。主干输出接近零时,方向可能对扰动比较敏感。把数值保护、直接路径的谱性质和完整网络稳定性分成三层来看,才不会把一种保护措施误说成全面保证。
6. 完整模型怎么搭:方向、目标、门与压缩器
6.1 昂贵主干决定方向,小分支决定目标
DDL 先从完整状态压缩出普通宽度的输入,再归一化:
就是原本的 Attention 或 MLP 分支。它输出的 被归一化为方向 ,而不是另加一个独立大网络来预测方向。目标分支把上下文映射为 个值。门分支产生一个标量,再经过 ;论文允许线性门,或带 tanh 隐层的小型两层门。
这种职责分配值得注意:高维子层负责“往哪个方向改”,小投影负责“那个方向上应该读到什么”。归一化去掉了 的整体幅度,改动大小由门和读数差额重新决定。普通残差里, 的模长直接决定加回去多少;DDL 改变了这个关系。
因此,即便标量 DDL 不扩展状态,它与普通残差之间也不只是差一个擦除项。方向归一化、目标生成、门的参数化都改变了分支行为。这是后面需要严格对照实验的原因。
附录描述了用 初始化门输出偏置,并对数值做截断保护;门 logit 使用 float32。本文不填入论文未明确给出的默认 数值。初始化靠近零时接近恒等映射,但可能让门较难移动;靠近 1 时更强调改写。这些都应在相同初始化规则下比较。
6.2 算法 1:一次 DDL 残差更新
输入: 状态 、压缩器 、主干子层 、目标投影 、门网络 、正数 。
- 压缩视图: 计算 ;若涉及 token 历史,只读取因果上允许的位置。
- 上下文归一化: 计算 。
- 主干处理: 计算 ;Attention 仍使用正常的因果注意力机制。
- 方向生成: 计算 。
- 目标与门: 计算 和 。
- 读取旧值: 计算 。
- 计算差额: 计算 。
- 写回修正: 输出 。
这段编号步骤描述数学流程,不指定 GPU kernel 如何安排。读取、计算差额和写回可以融合,以减少中间张量和带宽流量。尤其要记住,压缩器只是给子层提供一个视图;最终改写仍发生在完整的扩展状态上。如果每层把状态永久压回 维,再丢掉其余信息,那就变成另一种架构了。
6.3 CC:在当前 token 内混合 value 通道
扩展实验使用 。Channel Compressor,简称 CC,对每个特征分别混合 value 通道:
它是一种可学习的线性压缩,使 Attention 和 MLP 仍然接收宽度 的输入。这个压缩动作只用当前 token,不需要为每个子层保留 TC 那样的跨 token 历史。通道混合本身并不是论文声称的新发明,它是扩展状态接口的一种实现选择。
优点是路径直接,额外状态管理相对简单;代价是多个 value 通道先被压成一个视图,昂贵主干不能在同一次调用中独立处理每个通道。所谓“存储更宽、计算宽度不变”,正是依靠这种限制换来的。
6.4 TC:先读取局部 token 历史,再混合通道
Token Compressor,简称 TC,先在 token 轴上做逐特征的因果短卷积,再投影 value 通道:
序列开头用因果填充处理;通道投影的默认初值为均匀权重 。它让子层在正式 Attention 之前就看到局部时间上下文,因此改变的不只是执行速度,还包括模型可利用的信息路径。
解码时,TC 需要保留最近 个扩展 token 状态。训练时,卷积可能并行处理整段序列;逐 token 解码时却要维护历史。两种模式的瓶颈不同,不能只看训练吞吐就推断在线服务成本。

6.5 EC 是入口处的扩展,不是每层压缩器的别名
Embedding expansion convolution,简称 EC,在输入端把宽度 的 embedding 流,通过 depthwise 因果短卷积扩成 个通道,再整理成扩展状态。论文描述的恒等初始化,最初行为近似把 embedding 复制到多个通道。
不使用 EC 的版本,直接重复原 embedding。因此,“without EC”并没有取消四通道状态,只是取消了输入处这种可学习的扩展方式。CC 与 TC 则发生在后续子层入口。它们的职责和位置不同,不能看见一个 EC 消融就认为扩展容量也被移除了。
同样,CC 不需要 TC 的逐层历史,不代表整个 CC+EC 模型完全没有短卷积历史;入口 EC 仍可能需要自己的缓存。系统描述越具体,越不容易在部署时漏算一个持久张量。
7. 四倍状态为什么没有变成四倍整机显存?
7.1 先只算一份状态,再讨论峰值
批大小为 、序列长度为 、每元素 字节时,一份展开残差状态的原始存储量是
用一个纯示意例子:、、、,每元素两字节,得到 8 MiB;不扩展时为 2 MiB。这确实是四倍,但只计算了一份活跃残差状态。它不是整次训练的峰值显存,也不能直接乘到论文给出的 GB 数字上。
整机峰值还包含参数、梯度、优化器状态、其他反传激活、Attention 中间量,以及具体执行时哪些张量同时存活。只要被扩展的部分不是全部,某个张量四倍就不意味着总量四倍。反过来,总峰值只增加几个百分点,也不代表扩展状态可以不占带宽。
7.2 算术少,不代表硬件代价可忽略
读数和秩 1 写回,每个 token 都是 量级;CC 也是这个量级,直接的 TC 则是 。Attention 和 MLP 的输入宽度保持 ,大权重矩阵不会全部随 扩大。
计算时也没有必要构造 的 。先得到长度 的读数,再做外积写回就足够。如果显式生成完整投影矩阵,会把一个便宜的低秩表达变成昂贵的稠密操作。
不过,这些操作常涉及归约、逐元素运算、读写和额外调度,可能受带宽而非矩阵乘算力限制。论文报告了包含优化 kernel 的配置,包括 CC 与启用 EC 的路径。这里依据论文记录分析测量,不把公式里的低复杂度直接等同于任意硬件上的低延迟。
7.3 解码缓存还要单独算
若 TC 卷积长度为 ,每次更新所需历史大致为
举例设 、、、、两字节存储,一次更新的历史就是 16 KiB。这个 只是示意选择,不代表论文默认设置。实际估算还要乘上相关更新次数、批大小,并加入 KV cache、EC 历史和实际缓冲布局。
对于已经被 KV cache 限制的服务场景,扩展残差表达可能改善质量,却不会自动缓解注意力缓存压力。对小批次解码,额外读写也可能比训练时更显眼。训练速度、推理速度和峰值显存因此必须分别报告,单靠参数量无法概括这项设计。
8. 实验到底比较了什么?先看训练协议,再看 loss
8.1 两个规模、相同 token 数、每种配置一次训练
论文在 FineWeb-Edu 上训练约 124M 和 353M 参数的 Llama 风格模型。小模型是 12 层、宽度 768、6 个注意力头;中模型是 24 层、宽度 1024、8 个头,两者 head dimension 都是 128。主干使用 RoPE、SwiGLU 和 Q/K normalization。小模型成本表把参数量写成 123M,是同一组比较中的近似表述,不是额外增加了一个规模。
每个配置训练 100,000 步,全局 batch 为 480 条序列,序列长度 1024。因此每步处理 491,520 个 token,总量为
每次训练使用 4 张 NVIDIA H200。共同配方包括学习率 、cosine 衰减、2,000 步 warmup、AdamW 权重衰减 0.1、动量系数 、梯度裁剪 1.0、dropout 为零。普通主干偏置关闭,DDL 门保留初始化输出偏置;各方法采用相同的 P 风格参数化。
这个设计控制了数据量和主要训练配方,但没有为每种架构穷尽超参数搜索。更重要的是,每个配置只报告一次训练。后面所有排名都只是这些运行的点估计,没有种子方差或置信区间。我们可以说某次运行更好,不能仅凭表格就说重复训练时一定稳定胜出。
8.2 标量版本有小幅改善,扩展版本的改善更大
下面直接列出论文表 3 的最终验证 loss,数值越低越好。
| 配置 | 小模型 loss | 中模型 loss |
|---|---|---|
| Baseline | 2.8543 | 2.6053 |
| 标量 DDL | 2.8482 | 2.6039 |
| TC,无 EC | 2.8355 | 2.5927 |
| CC,无 EC | 2.8321 | 2.5790 |
| TC | 2.8299 | 2.5905 |
| CC | 2.8329 | 2.5758 |

标量 DDL 在小规模下降低 0.0061,在中规模下降低 0.0014。符号一致值得继续研究,但中规模差值尤其小。没有重复种子,我们不知道它与训练随机性的量级相比如何。把这两行直接写成“验证了 delta 改写稳定有效”,证据就走得太远了。
扩展状态的差异更明显。小模型最优是 TC,loss 下降 0.0244;中模型最优是 CC,下降 0.0295。相应的论文困惑度为:小模型 16.9438 对 17.3616,中模型 13.1420 对 13.5356。
困惑度是平均负对数似然的指数变换,并不是另一套独立实验证据。以 为例,困惑度比例约为 ,也就是相对降低约 2.9%。这不能翻译成“下游正确率提高 2.9%”,因为两个指标衡量的东西不同。
8.3 EC 消融支持的结论比“有卷积就更好”窄
小模型 CC 不带 EC 时,loss 为 2.8321,反而略低于带 EC 的 2.8329;中模型 CC 带 EC 则从 2.5790 改善到 2.5758。TC 在两个规模上都出现了带 EC 更好的点估计。
因此可以说 EC 在若干配置里有帮助,但不能说所有版本都因 EC 而改善。更不能从“不带 EC 也有收益”推导出“收益一定来自擦除项”:不带 EC 的模型仍然拥有扩展状态、压缩器、归一化方向、目标和门。
这组表格最稳妥的读法是:扩展 DDL 这套组合在等 token 运行中展现了较好的 loss;各组件到底贡献多少,仍需进一步拆开。作者在 v4 的证据边界部分也明确承认了这一点。
9. 下游评测:平均值改善,并不代表每项都改善
论文用 lm-evaluation-harness 评测八列任务:ARC-C、ARC-E、HellaSwag、OpenBookQA、PIQA、SciQ、Social IQA 和 WinoGrande。正文表 1、2 是 one-shot,附录 D 是 zero-shot。两种设置应分开看,不能只挑更好看的一组作为整体结论。
| 配置 | 小模型 1-shot | 小模型 0-shot | 中模型 1-shot | 中模型 0-shot |
|---|---|---|---|---|
| Baseline | 48.56 | 47.30 | 53.96 | 51.92 |
| 标量 DDL | 48.73 | 47.32 | 54.69 | 51.94 |
| TC,无 EC | 48.91 | 47.54 | 54.83 | 52.22 |
| CC,无 EC | 49.13 | 47.07 | 54.92 | 52.88 |
| TC | 49.47 | 47.83 | 54.86 | 52.87 |
| CC | 49.29 | 47.18 | 55.14 | 52.85 |

小模型 CC 的 one-shot 从 48.56 升到 49.29,增加 0.73 个百分点;但 zero-shot 从 47.30 降到 47.18,减少 0.12 个百分点。小模型 TC 的 one-shot 为 49.47,是这一规模最高;zero-shot 也比 baseline 高 0.53 个百分点。最好的 loss 行与作者默认的效率折中行,并不总是一回事。
中模型 CC 的 one-shot 平均值达到 55.14,比 baseline 高 1.18 个百分点,但逐项结果仍有回退。ARC-E 从 67.05 降到 65.57,PIQA 从 70.24 降到 69.48;与此同时,OpenBookQA 从 33.20 升到 36.00,SciQ 从 87.30 升到 90.50,WinoGrande 从 52.57 升到 55.72。平均提升正是由这些不同方向的变化合成的。
八列宏平均给每列相同权重,其中 ARC 的两个子集分别占一列。这是一种报告约定,不是任何实际产品的效用函数。如果应用更接近发生回退的任务,平均分的优势未必重要;如果更接近提升明显的任务,也不能跳过领域内验证直接采用结论。
还要区分训练随机性、任务样本误差和提示敏感性。本文没有足够重复运行来量化这些因素,但 one-shot 与 zero-shot 的差异已经提醒我们:不要把一个正的宏平均改写成“通用推理能力全面增强”。合理的下一步是找出值得复验的配置与最脆弱的结果,再做匹配应用场景的评测。
10. 系统视角:吞吐下降要换算成时间,显存要说明分母
10.1 默认 CC 是一种质量与效率折中
论文表 4、5 在相同软硬件栈下报告吞吐和峰值显存,并说明 CC 与启用 EC 的配置使用了优化 Triton kernel。这些是特定环境中的测量,不是总预训练 GPU 小时,也不是具有服务延迟约束的线上压测。表中的吞吐单位是千 token 每秒。
| 配置 | 训练 Ktok/s | 推理 Ktok/s | 峰值显存 |
|---|---|---|---|
| 小模型 Baseline | 1509.6 | 1826.1 | 2.94 GB |
| 小模型 CC | 1158.0 | 1220.7 | 3.08 GB |
| 中模型 Baseline | 537.1 | 531.5 | 7.06 GB |
| 中模型 CC | 422.3 | 400.5 | 7.20 GB |

小模型 CC 保留约 76.7% 的训练吞吐和 66.8% 的推理吞吐;中模型 CC 保留约 78.6% 和 75.4%。所以,这不是一种在当前数据下“几乎没有额外成本”的增强。推理与训练受到的影响也不同,说明单一速度标签不足以描述它。
小模型标量 DDL 即便没有扩展状态,训练吞吐也从 1509.6 降到 1330.8 Ktok/s,而表里的参数量和峰值显存近似不变。新增归约、门、归一化和逐元素操作,即使没有让参数表变大,也可能让时间表变差。中模型成本表缺少标量 DDL,不能拿小模型比例机械外推并当成实测。
带 EC 的 TC 更贵:小模型训练吞吐为 783.5 Ktok/s,中模型为 282.9 Ktok/s,大约只剩对应 baseline 的 51.9% 和 52.7%。小模型最好的验证 loss 因而伴随着明显速度损失。作者选 CC 为默认版本,是综合质量与效率的判断,并非 CC 在每个质量指标上都第一。
10.2 吞吐少 23%,不等于固定工作量只多花 23% 时间
固定 token 数时,时间与吞吐成反比。以小模型 CC 为例,吞吐比为 ,理想化时间比则为
也就是说,假设测得速率可持续且其他开销相同,同样 token 数约多花 30.4% 时间。中模型对应约多花 27.2%。这里计算的是速率倒数,不是论文新增的端到端训练时间测量。
这个区别在讨论系统论文时很实用。“吞吐下降多少”和“完成任务慢多少”各自有不同分母,混用会系统性低估代价。进一步还要考虑通信、checkpoint、数据加载和调度开销,所以不应该用这个理想值替代真实 GPU 小时。
10.3 为什么启用 EC 的某些行反而更省内存、更快?

小模型 CC 的峰值从 2.94 GB 变成 3.08 GB,增加约 4.8%;中模型从 7.06 GB 变成 7.20 GB,增加约 2.0%。这与前面的四倍原始状态并不矛盾,因为峰值的组成与存活时间不同。
更有意思的是,小模型 CC 不带 EC 时报告 3.47 GB、1019.8 Ktok/s;带 EC 时反而是 3.08 GB、1158.0 Ktok/s。不能据此说“多加一个卷积在数学上会自动减少计算”。这些行对应完整执行配置,论文又明确提到了不同优化路径。正确结论是某个组合在测得系统里更快、更省峰值,而不是把改善全部归因于组件本身的算术性质。
若要解释原因,需要把架构差异、融合策略、中间张量和实际工作负载分开设计实验。当前论文提供了操作上有用的结果,却没有让我们能从一个表格反推出唯一的底层瓶颈。
10.4 等时间预算会改变比较的问题
设 为 DDL 与 baseline 的训练吞吐比。如果两者在完整训练中都保持表中速率、其他开销也相同,那么 baseline 处理 个 token 的时间里,DDL 只能处理 个。
取 B,CC 小模型约能处理 37.70B,中模型约 38.65B。这个计算只是预算示意,并不是这两个 token 数下的额外训练结果。我们没有资格据此填入一个新的最终 loss。
还不能把 100,000 步 cosine 训练直接截断,再称为公平的短预算运行。提前停止一个长计划,与为较短预算完整设计学习率衰减,回答的是不同问题。等时间实验应比较完整计划,并记录实际时间;等 FLOPs 实验应另外明确前向、反向和其他计算的计数约定。
同样,不建议把 loss 降幅乘以吞吐比,造出一个含义模糊的“综合效率分”。我们真正关心的是给定预算下能达到什么质量,以及达到某个质量需要多少预算。画出 loss 对累计时间、累计 FLOPs 的曲线,会比一个随意相乘的分数更容易解释。
对在线服务,还需要明确 batch、上下文长度、生成长度和延迟要求。论文的推理吞吐是有价值的起点,但并不直接告诉我们面向某种用户流量时的成本。DDL 目前展示的是可测量的质量—成本交换,而不是已经证明的更便宜预训练或更快服务。
11. 局限与失败边界
先说明一件公平阅读很重要的事:v4 已明确写出单种子、归因不充分、没有等 FLOPs 或等时间比较,以及可解释性只到局部算子这一层。下面不是把作者已经承认的限制包装成“发现了隐藏漏洞”,而是用这些限制约束我们能从结果中得出什么。
第一,标量改写的收益尚未与随机波动区分。 两个规模的 loss 点差方向一致,但幅度较小,尤其是中模型的 0.0014。重复种子最值得优先补在这里,因为标量版本更接近“不扩展存储,只改残差接口”的问题。
第二,扩展模型同时改变了多个因素。 四个 value 通道、压缩器、方向/目标/门分支,以及通常启用的 EC 一起进入模型。无 EC 消融只隔离了入口扩展方式,没有隔离读取并擦除旧值的作用。现有结果支持这套组合,不支持把全部收益分给其中一个项。
第三,规模和序列长度的外推尚无测量。 论文覆盖约 124M、353M 参数,以及 1024 token 的预训练长度。多十亿参数、长上下文、指令微调后的行为和真实服务延迟,都不能仅凭当前趋势当作已经成立。
第四,局部编辑可能精确但无用。 错的方向、错的目标或饱和的门,都可能让动作与任务需求脱节。方向归一化的安全项还有特殊数值区域;完整网络也包含超出 frozen shortcut 的梯度路径。因此操作透明不等于语义可解释,更不等于全局稳定性保证。
第五,质量比较和资源比较尚未完全对齐。 等 token 的训练结果与硬件吞吐点测量可以说明代价,却不能给出等总算力的胜负。中模型标量成本缺失,也使得最简单变体的资源比较不完整。换硬件、换 batch 或换序列长度,都可能改变相对位置。
第六,新意需要放在正确位置。 Delta rule 本身并非新出现,通道混合也不是新概念。值得关注的是把 delta 形式放到网络深度方向的残差接口,并与扩展状态结合。清楚区分已有机制与新的组合方式,反而更容易理解这篇论文真正提出的问题。
12. 独立批判性分析:下一步怎样把有趣想法变成更强证据?
12.1 最有判别力的对照,是保留其余结构的 write-only 模型
作者也提出了 write-only 对照,我认为这应当是优先级最高的后续实验。保持 、EC、压缩器、 生成分支、初始化、数据顺序和优化器,只把更新替换成
这样两边都有扩展状态、归一化方向和目标分支,差别集中在是否减去当前读数。直接拿 DDL 与普通 additive 残差比较,会同时改变分支角色、幅度表达和门结构,无法把收益唯一归因于 erase。
算法 2:建议的成对归因实验。
- 固定一个展开配置,例如 CC、,明确训练预算与评价时点。
- 对 DDL 和 write-only 模型进行成对初始化,在结构一致处使用匹配参数样本与门设置。
- 使用相同有序数据和优化器计划,并对多组随机种子重复配对。
- DDL 组执行算法 1;对照组省去旧值读取,把最终修正改成 。
- 在公共 checkpoint 记录验证 loss、下游分数、实际时间、峰值显存和累计计算量。
- 报告成对差值的分布,分别比较等 token 与等资源时点,不把两种结论混合。
这是一项建议,没有在本次阅读中运行。它也不是一个“改一行便绝对公平”的魔法实验:去掉读取项会改变初始更新统计和计算量。应如实报告这些变化,而不是悄悄调一边直到想要的结果出现。
严格组件归因和充分调参后的最优表现,是两个都值得问的问题。前者尽量固定其余条件,后者允许各自寻找适合的设置。把这两种实验分开,才能同时回答机制是否有效、架构是否实用。

12.2 验证一个由公式保证的现象,不等于解释模型为何变好
假设测量改写前后 的变化,在严格单位方向下,比值就是 。观察到它下降,可以确认模型处于哪种门区间、数值归一化是否接近理想条件,却不能独立证明方向代表了有用概念。
这类现象很容易被包装成漂亮的机制图,但它在相当程度上由定义决定。更强的解释,应把某种可预测的门行为或方向干预,连接到 held-out 任务损失。例如固定生成目标,改变某层方向;或者限制某些更新,测量预测如何受影响,再与简单的层深、范数解释比较。
这种干预也需要谨慎设计。随意扰动表示,任何模型都可能受损;损失上升本身不足以证明一个精细的语义故事。关键是所提解释能否预测干预结果,且比更简单的替代解释更好。
式(6)还提示一个可测量问题:某次改写会通过 影响后续读数。模型究竟学会了减少方向冲突,还是依赖多层相互覆盖来纠错?当前结果没有区分。研究这种跨层干扰,比直接把“每次操作清楚”升级为“内部语义清楚”更有说服力。
12.3 多分配通道,不代表模型真的用出了独立容量
扩展状态从重复 embedding 或恒等扩展开始。分配四个 value 通道,只保证张量有四列,不保证四列从一开始就承载四份独立信息。目标投影和后续更新可以产生差异,但差异是否持续、是否对任务有用,需要测量。
一个可行方向,是观察不同层、不同 token 上经过中心化的通道协方差谱,同时记录压缩后视图和任务质量。如果通道变化长期近似冗余,扩展带来的好处可能更多来自优化路径或局部变换;如果多样性增长且与质量相关,则更支持“状态容量被利用”的解释。
即便出现相关性,也不能立即断言因果。还需要有控制地减少通道容量,观察质量和资源怎样变化。这样的实验可以告诉我们,四通道是否必要,两个通道是否已经接近,或者多出来的存储能否被更便宜的结构替代。
由此也自然得到更公平的工程比较对象:同样时间内训练的稍宽普通模型、其他残差混合方案,或者更小 的 DDL。参数量相近有助于说明容量存放位置,却不是唯一公平标准。用户付出的是显存、时间和服务成本,而不只是一串参数数量。
12.4 与其找一个总冠军,不如画出质量—成本前沿
当前表格没有一行同时赢下 loss、one-shot、zero-shot、训练速度和推理速度。小模型 TC 的质量点很好,但吞吐明显更低;中模型 CC 在 loss 与 one-shot 上有吸引力,也仍要支付开销;小模型 CC 的 zero-shot 平均值则低于 baseline。
我更希望后续首先画出验证 loss 对真实训练时间的曲线,再单独画出相关任务质量对推理成本的曲线。这样问题就从“哪种连接更先进”变成“多花多少预算,可以获得什么改善,哪些任务会退步”。这类结果更容易用于实际架构选择。
再加入配对多种子和 write-only 对照,两个重要问题就能被分开:模型组合是否值得用,以及显式读—擦除是否是关键原因。前者是工程选择,后者是机制归因;二者互相帮助,但不应该用其中一个替另一个作答。
13. 结论:这篇论文最值得带走的是什么?
DDL 提供了一个有清楚局部含义的残差接口:先读取选中方向上的值,再与目标比较,最后写回受门控制的秩 1 修正。在理想单位方向下,目标匹配与 shortcut 谱都能直接推导。扩展残差状态又把存储宽度和昂贵主干的计算宽度分开,形成一种值得研究的容量分配方式。
实验支持的结论需要保留条件:扩展版本在已报告的等 token 运行里降低了验证 loss,并经常提高 one-shot 平均值,同时损失吞吐、增加部分峰值显存。标量收益较小,zero-shot 结果并不一致,扩展状态收益也尚未隔离到擦除项,更没有证明等计算预算下更划算。
对我来说,这篇论文的价值既在那个简洁接口,也在它让后续问题变得具体。下一步需要匹配的 write-only 对照、重复种子、真正的等资源曲线,以及将局部编辑与有效预测联系起来的证据。在此之前,DDL 是一个值得继续检验的质量—成本取舍,而不是已经兑现的低成本预训练捷径。
参考资料与配图说明
- Yifan Zhang、Yifeng Liu、Mengdi Wang、Quanquan Gu,Deep Delta Learning,arXiv:2601.00417v4,2026 年 7 月 27 日。摘要与版本记录;完整论文。本文方法与实验分析依据这一版本正文和附录 A—D。
- Deep Delta Learning 官方项目,作为论文资源入口。
图 1、4、9 为依据方法和本文分析绘制的解释图。图 2、3 是解析计算示意,不是训练观察。图 5—8 依据正文表 1—5 与附录 D 重绘,未填补缺失测量。文中的存储和时间换算为明确标注的示意计算;没有新增训练结果、复现结论或虚构置信区间。