残差上下文扩散语言模型 Residual Context Diffusion Language Models
通过回收被丢弃的中间计算信号,显著提升扩散语言模型的推理准确率
前置知识
扩散大语言模型 (dLLM)
扩散大语言模型是一种将文本生成建模为渐进去噪过程的语言模型范式。与自回归模型逐个生成 token 不同,dLLM 首先将整个序列初始化为掩码 token [M],然后在多个去噪迭代中逐步恢复真实 token。在每一步中,模型对所有掩码位置预测概率分布,选择置信度最高的 top-m 个 token 进行解码,其余低置信度位置则被重掩码(remasked),等待下一步迭代。这种机制使得 dLLM 能够并行解码多个 token,有望突破自回归模型在推理时受内存带宽限制的瓶颈。
本文的改进对象正是 dLLM 的去噪解码过程,理解 dLLM 的基本机制(掩码-预测-选择-重掩码循环)是理解本文动机和方法的前提。
重掩码机制 (Remasking)
在 dLLM 的每一步去噪迭代中,模型会为每个掩码位置预测一个概率分布,然后计算置信度分数(通常取分布的最大值),选择置信度最高的 m 个位置进行解码。对于未被选中的位置,其预测概率信息会被完全丢弃,token 被重置为静态掩码嵌入 [M]。这意味着模型在这些位置上投入的计算被浪费了——尽管这些中间分布可能包含有价值的上下文信息。
重掩码机制造成的计算浪费正是本文要解决的核心问题。理解这一机制才能理解为什么需要残差上下文以及它如何回收被丢弃的信号。
软 token (Soft Tokens)
软 token 是一种将离散概率分布转换为连续嵌入向量的技术。给定模型对某个位置的预测概率分布 $p = [p_1, p_2, \ldots, p_V]^\top$ 和嵌入码本 $E \in \mathbb{R}^{V \times D}$,软 token 定义为 $e = \sum_{j=1}^{V} p_j E_{j,:} = E^\top p$。这个向量可以看作是多个 token 嵌入的加权混合,能够编码比单一离散 token 更丰富的语义信息,因为它保留了完整的概率分布信息而非仅保留最大概率对应的 token。
RCD 方法的核心技术之一就是利用软 token 将被丢弃的概率分布转化为连续的残差信息向量,因此理解软 token 的构造方式对于理解残差上下文的计算公式至关重要。
Shannon 熵与归一化熵
Shannon 熵 $H(x) = -\sum_{j=1}^{V} p_j \log p_j$ 衡量概率分布的不确定性程度。熵越高,分布越平坦,模型对该位置的预测越不确定;熵越低,分布越尖锐,模型越自信。归一化熵 $\hat{H}(x) = H(x) / \log V$ 将熵值缩放到 $[0, 1]$ 区间,其中 $\log V$ 是均匀分布下的最大熵。本文利用归一化熵作为残差信息的权重——高熵(低置信度)的位置反而承载更多结构化信息,应该获得更高的残差权重。
熵加权机制是 RCD 区别于朴素残差注入的核心创新,理解熵的含义和归一化操作才能理解为什么 RCD 选择用熵而非简单的置信度来调节残差贡献。
Highway 连接 (Highway Connection)
Highway 连接是一种广义的残差连接形式,通过一个门控参数 $\alpha \in [0, 1]$ 在两条路径之间进行插值:$\tilde{e} = (1 - \alpha) \cdot e_{\text{original}} + \alpha \cdot \Delta$,其中 $e_{\text{original}}$ 是原始输入嵌入,$\Delta$ 是残差信息。与标准残差连接的简单相加不同,Highway 连接通过可调的插值系数控制残差信息的贡献程度,避免了因幅值不匹配导致的训练不稳定问题。
RCD 使用 Highway 连接而非朴素加法来注入残差上下文,这是保证数值稳定性的关键技术选择,也是理解公式 (2) 的基础。
研究动机
当前最先进的分块式扩散大语言模型(如 SDAR、LLaDA)虽然能并行解码多个 token,但在准确率上仍然落后于同等规模的自回归模型。这一差距的核心原因之一是推理时的重掩码(remasking)机制:在每一步去噪迭代中,模型为所有掩码位置预测概率分布,但只提交置信度最高的 top-m 个 token,其余低置信度位置的预测信息被完全丢弃,token 被重置为静态掩码嵌入。作者通过实验证明,这些被丢弃的中间分布实际上包含了丰富的语义信号——在 LLaDA GSM8K 采样过程中,早期步骤的 top-5 预测就已经包含了大量最终解码 token(recall@5 在早期步骤达到 0.6-0.8)。这意味着 dLLM 在每个 token 上投入了远超自回归模型的计算(通过多次去噪迭代),但大量计算被浪费了。作者提出的根本问题是:如何充分利用每一步去噪步骤的信息,释放扩散语言模型的潜力?
本文的目标是本文的目标是设计一种机制,能够回收 dLLM 去噪过程中被丢弃的中间计算信号,将其转化为有价值的上下文先验,从而在不显著增加推理开销的前提下,系统性地提升扩散语言模型的解码质量。具体而言,作者希望实现以下可量化的目标:(1)在数学推理基准(GSM8K、MATH500、AIME24/25)上实现 4-11 个百分点的准确率提升;(2)在保持与基线相当的吞吐量(Token per Second)的同时减少所需的去噪步骤数(最多 4-5 倍);(3)仅使用约 3 亿 token 即可完成从标准 dLLM 到 RCD 范式的高效转换。
与已有工作不同的是,本文的独特切入角度在于,它关注的不是如何生成更好的 token,而是如何利用那些已经被计算出来但被丢弃的 token。此前的相关工作(如 Coconut、Loopholing)也尝试在隐藏状态层面进行信息复用,但存在两个关键局限:(1)隐藏状态的幅值通常远大于输入嵌入,直接注入会破坏模型的输入分布,导致训练不稳定;(2)这些方法忽略了掩码与非掩码位置的结构差异,以及嵌入幅值不匹配的问题。RCD 的独特视角是:使用模型自身的嵌入码本(而非隐藏状态)来构建残差上下文,并引入基于熵的自适应加权机制,根据每个 token 的不确定性程度动态调节残差贡献。此外,作者设计了两阶段解耦训练策略来绕过递归依赖导致的内存瓶颈问题。
核心方法
RCD 的核心思想可以用一个类比来理解:想象一位画家在画草图时,每一笔都会留下痕迹。传统 dLLM 的做法相当于每画一步就擦掉所有不满意的部分,只保留最确定的线条;而 RCD 则是将那些不满意但有参考价值的草图痕迹保留下来,作为下一阶段创作的参考。技术上,RCD 在每一步去噪中,将低置信度 token 的概率分布通过嵌入码本转化为连续向量(残差信息),然后通过 Highway 连接将其注入到下一步的掩码 token 输入嵌入中。注入的权重由每个位置的归一化 Shannon 熵决定——熵越高(越不确定)的位置获得越大的残差权重,因为高熵 token 往往承载更丰富的结构化信息。为了训练这个具有递归依赖的系统,作者设计了两阶段解耦策略:第一阶段训练一个冻结的参考模型生成稳定的残差信号,第二阶段用这些信号监督目标模型学习如何利用残差上下文。
RCD 与已有方法最本质的区别在于两点。第一,残差信息的来源不同:Loopholing 等方法使用模型的隐藏状态传递信息,而 RCD 使用模型自身的输入嵌入码本将概率分布转化为软 token 向量。这确保了残差向量与模型输入空间的一致性,避免了隐藏状态与输入嵌入在语义空间中的分布偏差(对于 8B+ 模型,输入嵌入层和 LM head 使用不同参数,两者处于不同的语义空间)。第二,残差信息的聚合方式不同:朴素的残差注入使用固定权重或简单的置信度加权,而 RCD 引入了基于归一化 Shannon 熵的自适应权重。其直觉是:低置信度(高熵)的 token 虽然无法被直接解码,但其概率分布编码了关于全局上下文的丰富语义信号,因此应该获得更高的残差贡献权重。实验表明,这种熵加权策略在 Pareto 前沿上显著优于固定标量、置信度加权、标准残差和 top-1 token 等所有替代方案。
方法步骤详情
RCD 的完整流程包括训练和推理两个阶段。训练阶段:(1)初始化参考模型 $M_{\text{ref}}$,从预训练的轻量级 dLLM 出发,在下游数据集上用标准掩码目标进行微调,然后冻结参数;(2)对于每个训练样本 $x^{(0)}$,采样时间步 $t \sim U(0,1)$,构造含噪输入 $x^{(t)}$;(3)冻结的 $M_{\text{ref}}$ 前向计算得到概率分布 $p^{(t)}$ 和对应的熵权重 $\alpha_i^{(t)} = \hat{H}(\hat{x}_i^{(t)})$;(4)通过嵌入码本计算残差向量 $\Delta_i^{(t)} = \sum_{j=1}^{V} p_{i,j}^{(t)} E_{j,:}$;(5)通过 Highway 连接构造增强输入 $\tilde{e}_i^{(t)} = (1 - \alpha_i^{(t)}) E(x_i^{(t)}) + \alpha_i^{(t)} \Delta_i^{(t)}$(仅对掩码位置);(6)目标模型 $M_{\text{target}}$ 在增强输入上进行标准交叉熵损失优化。推理阶段:(1)初始化:第一个去噪步骤没有历史残差,可选择冷启动(零向量)或热启动(参考模型预测);(2)递归解码:从第二步开始,目标模型消费上一步残差增强后的输入嵌入,生成当前步的 logits;(3)残差更新:用温度缩放的 $T_{\text{res}}$ 校准概率分布,计算新的熵权重和残差向量,传递给下一步。
技术新颖性
RCD 的技术新颖性体现在多个层面。首先,在信息提取层面,与 Loopholing 直接复用隐藏状态不同,RCD 基于模型自身的嵌入码本构建残差上下文,这在理论上更优,因为对于使用分离参数的输入嵌入层和 LM head 的 8B+ 模型,隐藏状态和输入嵌入处于不同的语义空间,直接注入会造成数值不稳定。实验也验证了这一点:在 SDAR-4B-b64 上仅训练 1 个 epoch 后,Loopholing 无法生成可评估的数学序列,而 RCD 达到了 86.35% 的 GSM8K 准确率。其次,在信息聚合层面,归一化熵加权是一种全新的自适应机制,与传统残差学习中的固定加权不同,它根据每个 token 的不确定性动态调节残差贡献。第三,在训练策略层面,两阶段解耦训练将递归依赖转化为标准的监督学习问题,避免了类似 RNN 的长计算图反向传播。最后,RCD 引入了一个新的 Pareto 调节旋钮——通过调整残差传输的程度,可以在准确率和延迟之间取得更优的权衡。
实验结果
RCD 在多个基准测试和模型规模上展现了显著且一致的性能提升。在 SDAR 模型家族上,RCD 的改进尤为突出:对于 SDAR-8B-b64,RCD 将 AIME24 的准确率从 7.08% 提升至 18.75%(提升 11.67 个百分点,近乎翻倍),AIME25 从 9.79% 提升至 16.04%(提升 6.25 个百分点),MATH500 从 64.20% 提升至 74.40%(提升 10.20 个百分点)。对于 SDAR-4B-b32,AIME24 从 6.04% 提升至 9.17%,AIME25 从 11.88% 提升至 17.08%。在 LLaDA 模型上,RCD 在 GSM8K 上从 75.74% 提升至 78.09%,在 MinervaMath 上从 31.10% 提升至 37.00%(近 6 个百分点的绝对增益)。效率方面,Pareto 前沿分析表明 RCD 在所有模型规模和任务上都实现了更优的准确率-吞吐量权衡,最多可实现 4-5 倍的去噪步骤节省。例如,RCD 在生成 5 个或更多 token per step 时仍保持高于基线单 token 解码的准确率。在吞吐量匹配实验中,RCD 以几乎相同的 Token per Second 实现了 2-9% 的准确率提升。值得注意的是,作者通过扩展训练(将 SeqD 基线从 5 epoch 延长到 8 epoch)验证了基线性能的饱和性——SeqD(Extended)在 MATH500 上仅从 64.20% 提升至 68.00%,而 RCD 达到 74.40%,说明 RCD 的提升并非来自更多训练而是来自残差上下文的有效利用。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| GSM8K(数学推理) | Accuracy (%) | SDAR-4B-b32: 84.91, SDAR-4B-b64: 87.04, SDAR-8B-b32: 90.45, SDAR-8B-b64: 86.05 | SDAR-4B-b32 SeqD: 81.73, SDAR-4B-b64 SeqD: 78.85, SDAR-8B-b32 SeqD: 86.50, SDAR-8B-b64 SeqD: 82.87 | +3.18 ~ +8.19 pp |
| MATH500(数学推理) | Accuracy (%) | SDAR-4B-b32: 65.40, SDAR-4B-b64: 68.40, SDAR-8B-b32: 76.20, SDAR-8B-b64: 74.40 | SDAR-4B-b32 SeqD: 61.20, SDAR-4B-b64 SeqD: 56.80, SDAR-8B-b32 SeqD: 65.80, SDAR-8B-b64 SeqD: 64.20 | +4.20 ~ +11.60 pp |
| AIME24(竞赛数学) | Accuracy (%) | SDAR-4B-b32: 9.17, SDAR-4B-b64: 11.04, SDAR-8B-b32: 18.96, SDAR-8B-b64: 18.75 | SDAR-4B-b32 SeqD: 6.04, SDAR-4B-b64 SeqD: 4.17, SDAR-8B-b32 SeqD: 11.67, SDAR-8B-b64 SeqD: 7.08 | +3.13 ~ +11.67 pp(8B-b64 翻倍) |
| AIME25(竞赛数学) | Accuracy (%) | SDAR-4B-b32: 17.08, SDAR-4B-b64: 14.79, SDAR-8B-b32: 20.00, SDAR-8B-b64: 16.04 | SDAR-4B-b32 SeqD: 11.88, SDAR-4B-b64 SeqD: 7.29, SDAR-8B-b32 SeqD: 14.79, SDAR-8B-b64 SeqD: 9.79 | +5.20 ~ +7.50 pp |
| MinervaMath(LLaDA) | Accuracy (%) | 37.00 | SeqD: 31.10, Base: 31.40 | +5.60 ~ +5.90 pp |
| 吞吐量匹配实验(LLaDA MinervaMath) | Accuracy (%) / TPSec | RCD: 36.22 @ 110.37 TPSec | SeqD: 34.20 @ 117.82 TPSec | +2.02 pp(吞吐量接近) |
局限与改进
尽管 RCD 展现了显著的性能提升,仍存在以下局限性。首先,训练阶段需要额外的参考模型,虽然作者采用了 Small-to-Large 策略(用 1.7B 模型指导 4B/8B 目标模型)来降低成本,但参考模型的训练和推理仍增加了约 50% 的辅助计算开销。其次,RCD 目前仅在数学推理任务上进行了验证(GSM8K、MATH500、AIME、MinervaMath),尚未在代码生成、指令跟随、长上下文理解等其他 dLLM 擅长的领域进行评估,其泛化能力有待进一步验证。第三,残差温度 $T_{\text{res}}$ 是一个需要调优的超参数——当目标模型的输出分布与参考模型差异较大时,需要通过温度缩放来校准,但论文未提供系统性的调优指南。第四,初始化策略的选择对性能有一定影响:实验表明 Dirichlet 初始化(非信息性分布)在 MATH500 上甚至优于使用 1.7B 和 4B 参考模型的热启动(77.4% vs 74.2%/71.8%),这暗示小模型的参考信号可能产生误导,但论文对此现象未给出深入分析。最后,GSM8K 上的 Chat 模型存在潜在的数据污染问题(在 GSM1K/GSM-Plus 上出现 2-10% 的性能下降),影响了该基准上 RCD 与 SeqD 对比的公平性。
独立分析的弱点
从独立分析的角度,RCD 存在以下几个值得改进的弱点。第一,残差信息的粒度问题:当前 RCD 将整个概率分布转化为单一的软 token 向量,这意味着所有被丢弃的 token 共享相同的残差表示方式。但在实际推理中,不同位置的低置信度 token 可能具有截然不同的语义角色(如功能词 vs 实体词),统一的残差注入可能丢失这种位置特异性信息。改进方向:可以探索位置感知的残差编码,或为不同类型的 token 设计差异化的残差注入策略。第二,温度校准的脆弱性:$T_{\text{res}}$ 是一个全局标量,无法适应不同层、不同位置、不同去噪阶段的分布差异。在去噪早期,模型的输出分布通常非常平坦,而后期则逐渐尖锐,统一的温度缩放可能无法精确校准。改进方向:可以学习一个自适应的温度调度器,根据去噪进度动态调整 $T_{\text{res}}$。第三,参考模型的依赖问题:虽然 Dirichlet 初始化实验表明不需要高质量参考模型,但训练阶段仍然需要冻结的 $M_{\text{ref}}$ 来生成代理信号。这限制了 RCD 在资源受限场景下的适用性。改进方向:可以探索完全自监督的残差学习方法,让目标模型从自身的去噪历史中学习残差信号。第四,推理时的额外内存开销:每一步去噪都需要存储和传递残差向量 $\Delta_i$ 和熵权重 $\alpha_i$,对于长序列场景(如 16K tokens),这会带来可观的额外内存占用。
未来方向
基于本文的成果,未来研究可以从以下几个方向展开。首先,作者提到可以探索更丰富的初始化方案——当前实验表明 Dirichlet 分布(非信息性先验)优于小模型参考信号,这暗示可能存在更优的初始化策略,如基于任务自适应的先验分布。其次,RCD 的残差上下文机制可以推广到其他类型的扩散模型,如代码生成(DiffuCoder)和视觉推理(MoNet、VisMem)领域,验证其跨模态的通用性。第三,结合强化学习优化残差策略——目前 RCD 的残差权重由固定的熵公式决定,但可以将其建模为一个可学习的策略,通过 RL 信号优化残差注入的时机和强度。第四,将 RCD 与推理时计算扩展(test-time compute scaling)结合,探索在更少的去噪步骤中通过更强的残差传输实现等效甚至更好的推理质量。第五,探索 RCD 在更大规模模型(如 70B+)上的表现,验证其在工业级部署场景下的可扩展性和实际加速效果。最后,可以研究残差上下文与 KV cache 复用(如 D2F 框架)的协同效应,进一步优化端到端推理效率。
复现评估
从复现评估的角度,RCD 的可复现性较好。代码和模型权重方面,论文提供了项目页面链接(Code | Models | Project Page),表明作者计划开源实现。数据方面,训练使用的是公开数据集 OpenR1-Math-220k(过滤 ≤8K 样本,约 300M token)和 OpenMathInstruct-2(1M 子集),均可公开获取。算力需求方面,训练在 8×H100 GPU 上进行,SDAR 参考模型(1.7B)训练 10 epoch,目标模型(4B/8B)训练 5 epoch;LLaDA 训练使用 FSDP 分布式策略。对于有类似硬件配置的研究者来说,复现门槛中等。但需注意:(1)SDAR 模型本身并非完全开源,需要额外的预训练权重;(2)论文中的吞吐量测试依赖于 Fastdllm 和 D2F 两个特定推理框架,需要同步配置;(3)AIME 评估使用了 T=0.6 的 16-sample Pass@1,需要较多的采样计算。总体而言,复现难度为中等偏上,主要受限于基础模型的获取和硬件配置要求。
论文图表
该图展示了 LLaDA 在 GSM8K 采样过程中每个去噪步骤的 recall@5 指标。横轴是采样步骤(0-120),纵轴是 recall@5(最终解码 token 出现在当前步骤 top-5 预测中的比例)。结果显示,即使在早期步骤中,中间分布已经包含了大量关于最终输出的语义信号(recall@5 达到 0.6-0.8),证明被丢弃的中间计算确实有价值。
这张图为 RCD 的核心动机提供了实证支持——被丢弃的中间分布包含有价值的信息,因此回收这些信息是合理且必要的。
该表格报告了 SDAR-Chat 模型在 GSM8K、GSM1K 和 GSM-Plus 三个变体上的准确率。结果显示从 GSM8K 到 GSM1K 有 2-7% 的下降,到 GSM-Plus 有超过 10% 的下降,表明原始 GSM8K 上的高分可能受到数据污染影响。
该表为论文中关于数据污染的讨论提供了实证支持,帮助读者理解 GSM8K 结果的可靠性问题。