LongLLaDA: Unlocking Long Context Capabilities in Diffusion LLMs
速读卡片 (TL;DR)
一句话:第一篇系统比较 dLLM 与 AR LLM 长上下文行为的论文,发现 dLLM 在直接外推下 perplexity 不爆炸、NIAH 上呈"局部感知"滑窗,机制源于 bidirectional attention 让 RoPE 的 trained 范围扩大到 [1−T, T−1];把 AR 时代的 NTK-RoPE 直接拿来即可 6× 扩展(4k → 24k),完全 training-free。
立场:这不是新的算法,而是新现象 + 旧工具的迁移验证。论文最大的价值是把 RoPE scaling law 这套 AR 时代的"民间智慧"正式搬到 dLLM,同时用 RoPE 几何解释了 dLLM 的两个怪现象。
1 · 动机:为什么 dLLM 的长上下文是个"空白"
1.1 历史脉络:dLLM 这一年发生了什么
2024 下半年到 2025 上半年,diffusion LLM (掩码扩散语言模型) 集中爆发: SEDD/MD4 类的理论简化 (Sahoo 2024 / Ou 2024 / Shi 2024)、LLaDA-8B (Nie 2025) 把 mask diffusion 真正 scale 到 8B 参数、Dream-7B (Ye 2025) 从 Qwen2.5 初始化继续 mask diffusion 训练、LLaDA-1.5 (Zhu 2025) 加 VRPO 偏好优化。多模态 (MMaDA / LLaDA-V / LaViDa)、推理 (d1 / DCoLT)、加速 (dKV-Cache / Fast-dLLM) 都在上面跑。
但这一年的研究全是在 ≤ 4k context 内打转。RLHF、推理 trace、agentic 任务很快会把上下文需求顶到 32k+,而 LLaDA-8B 的 pretrained context 只有 4k。研究者会自然地问:
- dLLM 直接喂 16k token 会爆吗?(perplexity 会不会像 AR 一样炸)
- NIAH 这种 retrieval 任务 dLLM 能跑多远?
- AR 时代积累的那一堆 RoPE 缩放 trick (Linear PI, NTK, YaRN, LongRoPE, ReRoPE...) 在 dLLM 上还成立吗?
本论文就是来回答这三个问题的。
1.2 为什么 dLLM 的长上下文行为本来就该不一样
核心区别一句话: dLLM 是 bidirectional attention + mask prediction,AR 是 causal attention + next-token。这两件事联手让 dLLM 在训练时"看到的相对位置"几乎是 AR 的两倍。
这个差异看似平淡,但它直接决定了:
- RoPE 中频维度在 LLaDA 训练时已经覆盖了一个完整的 sin/cos 周期 ([−4095, 4095]),而 LLaMA3 只覆盖了半个周期 ([0, 8191])。
- OOD 区域大小不同。AR 在 [-T, 0] 整片是没见过的;dLLM 把这片"补"上了。所以 dLLM 在外推时,低频维度面对的 OOD 体积更小。
1.3 别的方案为什么"够呛"
| 已有思路 | 能解什么 | 到 dLLM 还成立吗? |
|---|---|---|
| Linear PI (Chen 2023) | 位置直接缩放,需要少量 fine-tune | 需要训练数据,违背 training-free 目标 |
| YaRN (Peng 2023) | 分维度缩放 + temperature 调整 | 用 PPL 调参,但 dLLM 的 PPL 本来就不爆,失去信号 |
| LongRoPE (Ding 2024) | 2M context,evolutionary search 找最优 λ_n | 需要长上下文数据 + search,远远超过 plug-in |
| ReRoPE / DCA (Su 2023 / An 2024) | 限制相对位置上限 | 不解决 OOD 本身,只是 sliding window 化 |
| NTK-aware RoPE (bloc97 2023b) | 缩放 rotary base,纯推理时刻 plug-in | 和 dLLM 的"低频维度也已被中频覆盖"高度匹配 |
1.4 为什么"做 training-free"是合理的野心
外推方案分两档: (a) continued pretraining 在长数据上重训,(b) training-free / inference-time 只调位置编码。
论文坚持走 (b) 的原因有三:
- dLLM 训练昂贵且早期。LLaDA-8B 已经是 mask diffusion 在 8B 量级的代表作,长上下文继续训练的成本和经验数据都还没有积累。
- 位置编码是一个干净的 lever。不动权重就不动 mask diffusion 的训练目标,科学上对照清晰。
- 验证 scaling law 可迁移性。如果 NTK 这套理论是普适的(几何上来自 RoPE 周期性),它应该不依赖训练目标。论文是在做 existence proof。
需要训练才能突破的领域(论文坦言)是 24k 以上 — 后续工作 UltraLLaDA 把 LLaDA 扩到 128k,但代价是要做 long-data fine-tuning。本论文画出的是训练-免费的天花板。
2 · 背景速查
| 术语 | 含义 |
|---|---|
| Diffusion LLM (dLLM) | 非自回归语言模型,用 mask diffusion 训练:把序列局部加 mask,模型并行预测被 mask 的 token |
| LLaDA-8B | 8B 参数 mask diffusion LLM,Ttrain=4k,β0=500000,bidirectional attention |
| Bidirectional attention | 每个 token 同时关注前后 token,无 causal mask;相对位置 (t−s) 同时为正负 |
| Block diffusion / sampling steps | dLLM 推理时把要生成的 block (size B) 分 s 步逐渐去 mask;s 越大越精 |
| RoPE (Rotary Position Embedding) | 把 q/k 切成 d/2 对,每对乘以 2D 旋转矩阵 cos/sin(θ_n · t),θ_n = β0^(−2n/d) |
| Rotary base β0 | RoPE 的频率基数;LLaMA3=500000, LLaDA=500000 |
| Critical dimension d_extra | 临界维度: 维度 n < d_extra 在训练长度 Ttrain 内已完成至少一个完整 sin/cos 周期 |
| NTK-aware RoPE | 把 β0 → λ·β0,等效于对所有维度做"非线性"位置插值,低维基本不动,高维大量插值 |
| NIAH | Needle-In-A-Haystack: 把一个事实"针"埋进长文章不同深度,让模型把它捡出来 |
| Local perception | 本论文术语: dLLM 在 NIAH 上对超出 Ttrain 的 context 只能从最近 4k 窗口内 retrieve |
2.1 RoPE 的关键公式 (复习)
低维 n 小 → Tₙ 短 → 在一个 sequence 内反复转完整周期; 高维 n 大 → Tₙ 长 → 整个序列都不一定转完一圈。
对 LLaDA: d=128, β0=500000, Ttrain=4096 → d_extra = 64。即前 64 维在训练时见过完整周期, 后 64 维没见过。
2.2 NTK 缩放公式
对 LLaDA d/d_extra = 128/64 = 2,所以 λ ∝ t² (sup-linear)。代入 t=8k, 16k, 24k, 32k 得 λ ≈ 4, 14, 31, 55。
3 · 现象 ① · dLLM 的 perplexity 在直接外推下不爆
论文 Figure 1(a): 把 (4k, 8k, 12k, 16k) token 的 PG-19 段直接喂进去算 PPL。
3.1 为什么 PPL 不爆?
原因来自 §1.2 那张图: dLLM 的中频维度在训练时就见过完整 sin/cos 周期,所以即便 |t−s| 超过 Ttrain,中频维度的 cos(θₙ(t−s)) 落在已见过的取值区间内 — 没有 distribution shift。
剩下高频维度 (n < d_extra) 跨多个周期,见过完整值;低频维度 (n ≥ d_extra) OOD,但因为 cos 是偶函数(cos(−x) = cos(x)),AR 没见过的负相对位置在 dLLM 里其实可由对称性"猜测"出来 — OOD 体积只有 AR 的一半。
整体效果:整个 q·k·R_{t-s} 的内积分布几乎不漂移 → 输出 logits 分布不漂移 → PPL 稳。
4 · 现象 ② · NIAH 中的 local perception
NIAH 把一个事实("某人最爱的食物是 X")埋在 long context 不同深度,然后问"X 是什么"。score 就是按 (token_limit × depth_percent) 二维网格画热力图。
4.1 解释:为什么是"滑窗"而不是"全军覆没"?
三个观察叠加:
- 长度外推不爆(§3): query 在 16k 处仍然能产生合理的 attention logits (没有 PPL 爆炸)。所以它能"看见"远方 token 的 representation, 不是 garbage。
- 但 cos 是偶函数: cos(θ_n · (t−s)) = cos(θ_n · (s−t))。q·k 内积区分不出"前面 4k"和"后面 4k"。
- monotonic ordering 只到 ±Ttrain: 训练时见过的相对位置只到 ±4095。一旦 |t−s| 超过 4095,某些低频维度的 cos 值进入未见过的 phase, q·k 不可靠。
结合起来 → query 只能可靠地从 |t−s| ≤ 4095 范围内 retrieve = "最近的 4k 窗口"。所以:
- context = 8k, 针埋在 0-50% (远端): 距离 query 4-8k, OOD → 失败
- context = 8k, 针埋在 50-100% (近端): 距离 query 0-4k, 训练见过 → 成功
这就是滑窗的几何解释。
4.2 反向思考:如果是 AR?
AR 在 Ttrain 之外完全崩溃,是因为 PPL 本身爆,attention logits 已经是 garbage。所以即便针就在 query 旁边,AR 也答不出来 (它的 representation 已经坏了)。dLLM 的优势在于:representation 没坏, 只是位置编码区分能力下降。
5 · 机制分析:RoPE 的几何到底发生了什么
5.1 三档维度
| 维度 | 周期 Tₙ | 训练时是否完整 | OOD 风险 |
|---|---|---|---|
| 高频 (n 小) | Tₙ 很短 ≪ Ttrain | 转过几十甚至几百圈 | 无 |
| 中频 | Tₙ ~ Ttrain | AR 转半圈, dLLM 转一整圈 (因为 [-T, T]) | AR 部分 OOD, dLLM 安全 |
| 低频 (n ≥ d_extra) | Tₙ ≫ Ttrain | 不到一圈 | 外推都 OOD |
关键差异在中频。AR 看到 [0, T] 这半个周期里的 cos/sin → cos 单调递减、sin 单调递增,LLM 学到的是 "线性序号"。换到 [T, 2T] (外推时), cos 进入 OOD,失败。
dLLM 看到 [-T, T] 整个周期 → cos 已经走完一个完整波形 (0→T→2T→3T→4T 在弧度坐标上), 模型对"走过任意 phase 的 cos"有耐受度。这就是 PPL 不爆的原因。
5.2 t-SNE 可视化的佐证
6 · 方法 LongLLaDA = LLaDA + NTK-RoPE
方法本身简单到让人怀疑能不能投 AAAI:把 NTK-aware RoPE 直接套上 LLaDA, β0 → λ·β0, 不动权重, 不动训练目标。
6.1 NTK 在 RoPE 频谱上做什么
6.2 怎么选 λ
论文直接套 Liu et al. 2023b 的scaling law:
对 LLaDA (Ttrain=4k, β0=500000, d_extra=64, d=128):
| 目标长度 t | 计算 λ | NIAH overall (Base) |
|---|---|---|
| 8k | 4 | 71.33 (vs 直接外推 54.25) |
| 16k | 14 | 82.33 |
| 24k | 31 | 82.33 (但 lost-in-the-middle 出现) |
| 32k | 55 | 75.43 (实际外推天花板) |
论文核心 claim: AR 时代的 NTK scaling law 数值上原封不动地适用于 dLLM。Equation 6 里没有任何 dLLM-specific 的项, λ 完全由 RoPE 几何决定。
6.3 反向论证:为什么不是 YaRN 或 LongRoPE?
| 方案 | 核心机制 | 对 dLLM 的问题 |
|---|---|---|
| NTK-aware (本论文用) | 纯几何: 由 d_extra 计算 λ | 即插即用,不需 fine-tune,不需 evaluation |
| YaRN | 分维度 selective interpolation + temperature, 用 PPL 调参 | PPL 在 dLLM 上对长度不敏感, 反馈失效 |
| LongRoPE | 用 evolutionary search 找出每个维度的最优 λ_n | 需要长 context 的 PPL 验证集 + 大量 search |
| Linear PI | 位置 t → t/λ, 需 fine-tune | violates training-free |
| ReRoPE / DCA | 限制相对位置上限 | 本质是滑窗,而 LLaDA 已经天然滑窗了 |
7 · Worked example: 一个 8k 处的 query 究竟在做什么
设场景: LLaDA-8B (Ttrain=4k), 输入 16k token 的 NIAH context, "针" 埋在 token 1500 (深度 ~10%), query 在 token 16000 末尾。看 query token (位置 t=16000) 怎么 attend 到针 (位置 s=1500)。相对距离 |t−s| = 14500。
7.1 没有 LongLLaDA (直接外推)
- Query q_{16000} 计算每个 dimension n 的 RoPE-rotated component q_t·R_t。
- Key k_{1500} 同样旋转得到 k_s·R_s。
- 内积 q·k 涉及 cos(θ_n · 14500), n=0..63。
- 对 n < d_extra=64: θ_n · 14500 落在已见过的 [-4095, 4095]·θ_n 区间(因为周期短,反复绕回来) → cos 值合法。
- 对 n ≥ 64 (低频): θ_n · 14500 这个相位训练时从没见过(训练时 |t−s| ≤ 4095, 而 14500 远超 4095, 低频维度甚至没走过半个周期) → cos 值 OOD → q·k 内积里这部分维度是 garbage。
- 结果:attention 给针的 logit 是 (合法部分) + (garbage 部分),低频维度噪声主导, 模型分辨不出"针 in 1500 vs distractor in 1700"。
- NIAH 上回答失败 → 在那个 (16k, 10%-depth) 网格上是红色。
7.2 加上 LongLLaDA (λ=14)
- 把 β0 替换为 14·500000 = 7,000,000。
- θ_n = 7000000^(−2n/128)。对低频 n=64: θ_64 = 1/√7000000 ≈ 0.000378 (旧是 0.001414, ≈ 3.74× 缩小)。
- 对 n=64, 相位 θ_64·14500 ≈ 5.48 弧度 (vs 直接外推时 20.5 弧度)。
- 训练时 LLaDA 见过的最大相位是 θ_64^old · 4095 ≈ 5.79 弧度。5.48 < 5.79 → 这个相位在已见过的范围内, q·k 内积合法。
- 对所有 n ≥ d_extra 都做了这个校正 → 全部维度的相位回到训练分布内。
- 高频维度 n=0,1,...: θ 几乎不变 (因为 λ 的 (−2n/d) 次方在 n 小时趋近 1), 局部辨识力保持。
- 结果: q·k 是 clean 的内积, attention 找到针, NIAH 答出来。
| 项 | 直接外推 | LongLLaDA (λ=14) |
|---|---|---|
| 低频维度相位 | 5×~25× 训练最大值 | ≈ 训练最大值 |
| q·k 内积质量 | 低频部分是噪声 | 所有维度合法 |
| NIAH @16k 80% depth | 失败 (≈0%) | 近 100% |
| NIAH overall (8k 评测) | 54.25 | 71.33 (λ=4) |
这就是为什么 NTK 这一个简单的 β 缩放,能把 NIAH 全表激活。
8 · 实验关键结果
8.1 NIAH 扩展 (论文 Figure 6, LLaDA-Base)
| 设定 | 2k | 4k | 8k | 16k | 24k | overall |
|---|---|---|---|---|---|---|
| 无 LongLLaDA | 100 | 100 | local only | local only | local only | 54.25 |
| λ=4 (8k 目标) | 100 | 100 | ~100 | local only | local only | 71.33 |
| λ=14 (16k 目标) | 100 | 100 | ~100 | ~100 | local only | 82.33 |
| λ=31 (24k 目标) | 100 | 100 | ~100 | ~100 | ~100* | 82.33 |
| λ=55 (32k 目标) | 退化, 接近不可用 (overall 75.43, 但 lost-in-the-middle 严重) | |||||
* λ=31 时 24k 已经能 retrieve, 但中间深度出现 lost-in-the-middle (类似 AR LLM 也有的现象)。
读出:NTK scaling law 不仅形式上适用,数值上 λ ∈ {4, 14, 31} 在 LLaDA 上和 LLaMA 完全等同。这强烈支持论文的核心 claim。
8.2 LongBench (论文 Table 1)
LongBench 8k 平均分: LLaMA3-Instruct 41.9, LLaDA-Instruct+λ=4 40.6。基本打平。说明 dLLM 在通用长文档任务上不弱于 AR。
8.3 RULER (论文 Table 2) — 最有意思的部分
| 任务类型 | dLLM 表现 | AR 表现 | 结论 |
|---|---|---|---|
| NIAH (Single/Multi-Key) | +λ=14 在 16k 上 ≈ AR | +λ=13 在 16k 上同水平 | 持平 |
| Aggregation (Variable Trace, Word Extraction) | 显著弱 (16k 时 48-62 vs 78-90) | 更强 | dLLM 弱项 |
| QA (SQuAD, Hotpot) | 显著强 (16k 时 82-84 vs 56-63) | 较弱 | dLLM 强项 |
读出:这是论文的"附赠彩蛋"。dLLM 的 bidirectional attention 在 QA-style "回头读"任务上反而占优, 但在 sequential aggregation 这种本质需要 ordering 的任务上吃亏 — 因为 cos 是偶函数,前后向量分不出。
9 · 与同类工作对比
| 工作 | 方法 | 训练? | 覆盖长度 | 核心差异 |
|---|---|---|---|---|
| NTK-aware RoPE (bloc97 2023b) | β₀ → λ·β₀ | 无 | 2-6× (AR) | AR 时代的原型,本论文搬到 dLLM |
| YaRN (Peng 2023) | 分维度 + temperature | 少量 | 2-4× (AR) | 需 PPL 反馈, 在 dLLM 上反馈无效 |
| LongRoPE (Ding 2024) | evolutionary λ_n search | 是 | 2M (AR) | 需要长 corpus, 离 plug-in 远 |
| Liu et al. 2023b 的 scaling law | 给出 λ 的解析公式 | 无 | 解析 | 本论文验证它在 dLLM 上仍成立 |
| LongLLaDA (本文) | NTK-RoPE on LLaDA | 无 | 6× (4k→24k) | 第一个 dLLM 长上下文方法 + 现象学 |
| UltraLLaDA (后续工作) | continued long-context pretraining | 是 | 32× (4k→128k) | 需要长数据训练, 推到极致 |
| VideoRoPE (Wei 2025) | video diffusion 的时空 RoPE | 是 | 视频域 | 另一种 modality 上的 RoPE 调整 |
| DCA, ReRoPE, LM-Infinite | 限制相对位置 / sliding | 无 | 滑窗 | 不解决 OOD 而是绕开,与 dLLM 天然滑窗冗余 |
10 · 局限 / 个人 take / 待验证问题
论文承认的局限
- 主要在 LLaDA Series 验证, Dream-v0 因为是从 Qwen2.5 (AR) initialization, 行为不那么纯。
- 未做 fine-tuning 实验 — UltraLLaDA 后续工作填了这个坑。
- 对 dLLM 特有的 sampling strategy / step count 影响只做了简单 ablation。
- aggregation 弱项没给解药 (只是观察到了)。
我的疑问 / 想验证的
- Bidirectional 特性可量化吗?论文只对比 LLaMA3 vs LLaDA, 但理论上 GPT 系列、Mistral 也会因为 RoPE 几何不同而表现不同。希望看到 d_extra / Ttrain / β0 三维 ablation。
- NIAH 滑窗的 4k 究竟是怎么决定的?是 Ttrain 决定还是 cos 偶函数决定?如果在 LLaDA 上把 RoPE 改成 NoPE,滑窗还在吗?
- Aggregation 弱项是否真的源自 cos 偶函数?能否用一个非对称 PE 来修?(类似 ALiBi 的 directional bias)
- λ=55 失败是因为外推天花板还是 attention entropy?论文引用 Han 2023 / Wang 2024 说 attention entropy 限制 NTK,但这个机制在 dLLM 上是否同样适用还没系统测过。
- dLLM 的 PPL 不爆和 mask diffusion 训练目标的关系。如果换成 SEDD 这种 score-based diffusion 而非 mask diffusion, bidirectional 仍在,RoPE 几何相同, 是否同样 PPL 稳定?
- local perception 在 chat / instruct fine-tuning 后是否会消失?表格显示 LLaDA-Instruct 还是有滑窗, 但程度有变化。SFT 数据的长度分布可能放大或抑制这个特性。
记忆点
现象1 直接外推 PPL 不爆 (中频维度已学完整周期)
现象2 NIAH 呈 4k 滑窗 (cos 偶函数 + monotonic ordering 边界)
公式 λ_t = β₀⁻¹ · (t/2π)^(d/d_extra), 对 LLaDA 即 λ ∝ t²
数据点 λ ∈ {4, 14, 31} 直接复用 AR 数值, NIAH overall 54.25 → 82.33
天花板 训练-免费 6× (4k→24k); 再多需要 fine-tune (→UltraLLaDA 128k)
彩蛋 dLLM 在 RULER QA 任务上反超 AR, 但 aggregation 显著弱 — bidirectional 的双面性
精读笔记 v1 · 2026-05-07 · 配套论文 PDF 在 /data/szhang967/papers/paper-notes/models/LongLLaDA_2506.14429.pdf