File size: 26,834 Bytes
851b203 | 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 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 | # Diffusion / dLLM Reference Survey and Experiment Plan
> 目的:把 `reference/` 下所有论文和代码按学姐讨论的项目目标重新组织,形成后续做 block diffusion / dLLM 加速、蒸馏和复现实验的工作底稿。
>
> 当前状态:本文只整理本地 reference、论文笔记和代码 README 中已有信息,尚未在本机重新跑实验。后续我们自己的复现实验结果统一填到本文的实验表和对应小节中。
## 0. 学姐讨论后的项目定位
学姐的核心要求可以压缩成四点:
1. 目标不是只做一个论文 novelty,而是要找真的能在较大模型上可用的技术路线。
2. 当前主线优先放在 discrete diffusion / block diffusion language model 上,尤其是 block 内或 block 间加速。
3. continuous / flow / embedding-space diffusion 可以作为启发或探索,但目前完整替代离散 dLLM 的成熟度不如 block-discrete 路线,尤其在 coding、reasoning 这类高精度任务上风险更高。
4. 评测不能只看生成文本是否通顺,要看质量、速度、并行度、任务准确率、训练/推理成本、工程可部署性,以及是否能迁移到更大模型。
因此本文按以下问题组织 reference:
- 它属于哪条技术路线?
- 它在线路中解决什么问题?
- 它的实验怎么复现?
- 它的结果有哪些可以直接作为 baseline 或 sanity check?
- 它对我们后续做 7B/8B/16B block diffusion 加速有什么启发?
## 1. 总体路线图
| 路线 | 核心问题 | 代表 reference | 和我们项目的关系 | 优先级 |
|---|---|---|---|---|
| A. Discrete block dLLM 推理加速 | 如何让 dLLM 一次 forward 产出更多有效 token,同时少掉重复计算 | Fast-dLLM, Efficient-DLM, Nemotron-Labs-Diffusion, Multi-Block Diffusion LMs | 最贴近学姐说的 block 生成加速和可部署模型 | 高 |
| B. Block 内自修正 / 高并行解码 | 并行解码越激进错误越多,如何让模型能 revise 而不是 freeze | DMax, Revise Don't Freeze, Nemotron-Image token editing | 我们可以在 block 内做 mask/soft state/revise 机制 | 高 |
| C. Few-step / step distillation | 如何把 full-step teacher 压成 few-step student | TAD, T3D, Beyond Single Tokens / D-MMD | 最接近“步数蒸馏”,可作为我们第一个实验方向 | 高 |
| D. Speculative decoding with diffusion draft | diffusion 不直接替代 AR,而是做并行 draft,被 AR verifier 验证 | DFlash, Teaching Diffusion to Speculate L2R, PRESTO, Nemotron self-spec | 工程价值强,适合做无损/近无损加速 baseline | 中高 |
| E. MoE / 多 block 系统效率 | dLLM 扩到 MoE 或多 block 后如何控制 memory bandwidth 和 cache | dMoE, Multi-Block Diffusion LMs, Diffulex | 如果用 LLaDA2-mini / MoE 基座,需要纳入 | 中 |
| F. Continuous / flow / embedding-space LM | 能否绕开离散 token factorization,在连续空间少步甚至一步生成 | FLM/FMLM, ELF | 作为蒸馏和 continuous-space organization 的启发,短期不作为主线 | 中 |
| G. RL / reward alignment for dLLM | dLLM 多步状态下如何做 reasoning reward 对齐 | Back on Track / PAPO | 如果后续做 reasoning 加速后的能力恢复,可作为扩展 | 低中 |
## 2. Reference 逐篇定位
### 2.1 Fast-dLLM
- 路线:training-free dLLM inference acceleration。
- 做什么:让 LLaDA / Dream 这类双向 dLLM 近似使用 KV cache,并用 confidence-aware parallel decoding 一步填多个高置信 token。
- 评测重点:throughput improvement、accuracy drop、NFE、TPF。
- 可复现入口:`reference/code/Fast-dLLM`,v1 可直接跑 Dream/LLaDA eval;v2 是 fine-tuned block diffusion。
- 对我们的意义:应该作为训练无关加速 baseline。任何新蒸馏/训练方法都要至少和 Fast-dLLM 的同模型同任务结果比较。
### 2.2 Efficient-DLM
- 路线:AR-to-dLM conversion。
- 做什么:把已有 AR 模型转成 block-wise diffusion LM,保留块间因果关系,块内双向 denoising,并配 position-dependent masking 和连续预训练。
- 评测重点:相比 Dream 7B / Qwen3 4B 的准确率和 throughput。
- 代码状态:本地未确认官方代码。
- 对我们的意义:说明实用 dLLM 不应从零训练,而应利用 AR 权重、KV cache、block attention 和 mask schedule 联合设计。
### 2.3 Nemotron-Labs-Diffusion
- 路线:tri-mode LM,统一 AR / diffusion / self-speculation。
- 做什么:同一模型通过切 attention pattern 支持纯 AR、block diffusion parallel decoding、self-speculation。self-spec 用 diffusion draft + AR verify,共享模型和 KV cache。
- 评测重点:GSM8K、MATH-500 等任务 accuracy、avg NFE、TPF、不同 mode 的吞吐。
- 可复现入口:`reference/code/Nemotron-Labs-Diffusion/evaluate.py` 可单进程跑 `gsm8k` 和 `math-500`;`eval.sh` 可跑完整 benchmark suite 但依赖 SLURM/container。
- 对我们的意义:这是最接近“可部署 dLLM”的系统参考。后续实验建议直接采用其 TPF/accuracy 记录方式。
### 2.4 DMax
- 路线:aggressive parallel decoding + self-revising dLLM。
- 做什么:把传统 mask-to-token 硬转移改成 mask embedding 到 token embedding 的渐进式软状态;训练上用 On-Policy Uniform Training 让模型见到自己生成的错误状态;推理上用 Soft Parallel Decoding。
- 评测重点:math/reasoning/code/general tasks 的 accuracy-TPF trade-off。
- 可复现入口:`reference/code/DMax`。训练依赖 dFactory/VeOmni;评测在 `dInfer/evaluations`,包含 GSM8K、MATH500、Minerva_Algebra、ASDIV、HumanEval/MBPP variants。
- 可复用结果:README 报告 DMax-16B math/reasoning TPF 约 6.0,code TPF 约 6.6,同时保持质量。
- 对我们的意义:最重要的 block 内加速 baseline。我们后续做 distillation 或 mask 改进时,应优先比较“同 block length 下 TPF 和 accuracy 是否超过 DMax/Fast-dLLM”。
### 2.5 TAD
- 路线:temporal-aware trajectory self-distillation。
- 做什么:把 teacher 的高步数轨迹蒸馏给 student,但区分 near tokens 和 distant tokens:near 用 hard CE,distant 用 soft KL,避免远期 token 过早硬决策。
- 评测重点:LLaDA/Dream 上 GSM8K、MATH、HumanEval、MBPP;AUP/TPF/accuracy trade-off。
- 可复现入口:`reference/code/TAD`。先生成 math/code trajectories,再 LoRA/Deepspeed 训练,最后 merge LoRA 并跑 eval。
- 对我们的意义:非常适合做第一批复现实验,因为它直接对应“离散 dLLM 步数蒸馏”和学姐提到的 block 内蒸馏。
### 2.6 T3D / Few-Step Diffusion LMs
- 路线:trajectory self-distillation + Direct Discriminative Optimization。
- 做什么:用 full-step teacher rollout 生成 on-policy 轨迹,训练 few-step student;DPO/reverse-KL 风格目标让 student 更集中到 teacher 高概率模式。
- 评测重点:MATH_train -> MATH500,few-step accuracy,block size,denoising steps per block。
- 可复现入口:`reference/code/T3D`。三阶段:rollout、trajectory preprocessing、T3D training;提供 SDAR-4B-Chat-t3d-math checkpoint。
- 对我们的意义:和 TAD 同属蒸馏路线,但 T3D 更强调 label-free/on-policy rollout 和 discriminative optimization。可以作为 TAD 的对照。
### 2.7 Beyond Single Tokens / D-MMD
- 路线:discrete diffusion moment matching distillation。
- 做什么:把连续扩散中的 MMD 蒸馏推广到离散 token/pixel 空间,用 teacher、student generator、auxiliary model 做交替优化,减少 NFE。
- 评测重点:CIFAR-10 FID、OpenWebText GPT-2 Gradient Error、block-AR 256-token block。
- 代码状态:未确认官方代码。
- 可复用结果:OWT Masked D-MMD 16/32 steps 的 GGE 0.236/0.225,优于 256/512-step teacher 0.275;256-block Uniform D-MMD 16 steps GGE 0.225,匹配 256-step teacher。
- 对我们的意义:提供“连续蒸馏思想迁移到离散”的模板。虽然代码缺失,但公式和评测指标 GGE 值得借鉴。
### 2.8 Revise, Don't Freeze
- 路线:sampler-matched training for self-correcting masked DLM。
- 做什么:训练时匹配允许 revise 的 sampler,而不是只训练一次性 mask-to-token 填充;目标是减少训练-推理状态错配。
- 代码状态:未确认官方代码。
- 对我们的意义:和 DMax 的 self-revise 思路一致,可作为我们设计“允许重写已解 token”的理论依据。
### 2.9 Multi-Block Diffusion Language Models
- 路线:inter-block parallelism / MultiBD。
- 做什么:从一次只解一个 block 的 SingleBD,扩展到同时维护多个 active blocks 的 running-set;训练上用 Multi-block Teacher Forcing,系统上用 Block Buffer 固定形状、保留 prefix cache。
- 评测重点:GSM8K、MATH500、MBPP+、HumanEval+;Accuracy、TPF、AUP、TPS。
- 可复现入口:`reference/code/mbd-lms` 是训练/method repo;`reference/code/Diffulex-mbd-lms` 是论文复现实验 runtime branch,统一入口 `./script/run_batch_experiments.sh`。
- 可复用结果:LLaDA2-Mini 平均 TPF 3.47 -> 6.19,accuracy 79.95% -> 81.03%;结合 DMax 后 TPF 到 9.34;H100 TP=2 上 MBD-LLaDA2-Mini-DMax 平均 TPS 926.67。
- 对我们的意义:如果我们做的不只是 block 内加速,而是多 block 并行,MBD 是最直接 baseline。
### 2.10 dMoE
- 路线:MoE efficiency for dLLMs。
- 做什么:把 token-level MoE routing 改成 learnable block expert distribution,减少一个 block 中激活的 unique experts,降低 memory bandwidth。
- 评测重点:unique experts count、memory reduction、GSM8K/MATH500/MMLU/ARC-C accuracy。
- 可复现入口:`reference/code/dMoE`。有 quick start 和 `evaluations/scripts_moe/run_be_adaptive.sh`。
- 可复用结果:论文笔记记录 unique experts 约 69.5 -> 14.6,保留 99.11% 性能,memory 降约 76.64%-79.84%。
- 对我们的意义:如果基座是 LLaDA2.0-mini / MoE,dMoE 影响吞吐和显存,是系统维度的重要补充。
### 2.11 DFlash
- 路线:diffusion draft for speculative decoding。
- 做什么:用轻量 block diffusion model 做 speculative draft,一次 forward 生成候选块,然后 AR target model 标准 verification。
- 评测重点:acceptance length、lossless speedup、backend throughput、benchmark accuracy。
- 可复现入口:`reference/code/dflash`,支持 vLLM/SGLang/Transformers/MLX;benchmark 支持 gsm8k、math500、humaneval、mbpp、mt-bench。
- 可复用结果:论文笔记记录一系列模型上超过 6x lossless speedup,相对 EAGLE-3 最高约 2.5x 额外 speedup。
- 对我们的意义:如果公司侧更关心“马上可部署且不改变 AR 输出分布”,DFlash 是高价值路线。
### 2.12 Teaching Diffusion to Speculate Left-to-Right
- 路线:align diffusion draft with AR verifier prefix acceptance。
- 做什么:解决 diffusion block draft 与 AR left-to-right verification 的方向错配。训练目标包括 positional weighting、first-error focal loss、chain loss,优化 accepted prefix length。
- 可复现入口:论文中官方 repo 当前不可用;本地有 SpecForge,可作为 DFlash/speculative training 复现框架。
- 可复用结果:论文笔记记录 accepted draft length 提升 21%-76%,且不增加 forward、不改变 rejection sampling exactness。
- 对我们的意义:如果做 DFlash-like draft,不能只优化 token CE,必须优化 verifier 真正在意的 prefix acceptance。
### 2.13 PRESTO
- 路线:prefix-aligned tree drafting for diffusion speculative decoding。
- 做什么:把 diffusion draft 的并行候选组织成 AR verifier 友好的 prefix tree,而不是只生成一条候选或无结构候选。
- 代码状态:未扫到官方 repo。
- 对我们的意义:推理结构方向。可以和 Teaching Diffusion to Speculate L2R 配套:一个改训练目标,一个改 draft tree。
### 2.14 SpecForge
- 路线:speculative decoding training framework。
- 做什么:SGLang 团队维护的 speculative model 训练框架,支持 EAGLE3、DFlash、Domino,并接 SGLang serving。
- 可复现入口:`reference/code/SpecForge`,DFlash training script 是 `scripts/train_dflash.py`,示例是 `examples/run_qwen3_8b_dflash_online.sh`。
- 对我们的意义:如果要训练自己的 diffusion drafter,不必从 DFlash repo 单独拼 pipeline,可以优先研究 SpecForge 的 DFlash/DPACE/D2SD 训练接口。
### 2.15 FLM / FMLM
- 路线:continuous flow over one-hot token encodings。
- 做什么:FLM 在 one-hot 与 Gaussian noise 间做连续 flow;FMLM 学 two-time flow map,可 1/2/4-step 生成。
- 评测重点:LM1B/OWT Gen. PPL、entropy、one-step/few-step quality、Sudoku 组合约束。
- 可复现入口:`reference/code/flm`,提供 LM1B/OWT 训练和 gen_ppl 脚本,HuggingFace/Google Drive checkpoint。
- 可复用结果:FMLM OWT 1/2/4/8/16/32 steps Gen. PPL = 168.30/133.29/111.31/86.50/63.63/45.09;LM1B one-step 119.34。
- 对我们的意义:连续路线在 few-step 上很强,但目前更偏无条件生成和中小模型。可借鉴 semigroup distillation / flow map,而不是直接作为 coding/reasoning 主线。
### 2.16 ELF
- 路线:embedded continuous flow language model。
- 做什么:用 frozen T5 encoder 把 token 转成 contextual embedding,在 embedding space 做 flow matching,只在最后一步离散化;共享 denoiser/decoder,可用 CFG 和 SDE sampler。
- 评测重点:OWT Gen. PPL/entropy、WMT14 De-En BLEU、XSum ROUGE、训练 token 预算。
- 可复现入口:`reference/code/ELF`,JAX/TPU 主实现;提供 HF checkpoint 和 eval 脚本。PyTorch 版本在分支,当前本地只见主分支。
- 可复用结果:ELF-B OWT 32-step SDE Gen. PPL 约 24.08/entropy 5.15;WMT14 De-En BLEU 26.4;XSum R1/R2/RL = 36.0/12.2/27.8;effective training tokens 45.2B。
- 对我们的意义:这是 continuous-space organization 的强参考。短期可作为“连续空间是否值得探索”的对照,不建议替代 block discrete 主线。
### 2.17 Nemotron-Labs-Diffusion-Image
- 路线:masked discrete diffusion for image tokens。
- 做什么:高分辨率图像 token 的 masked discrete diffusion;引入 token-editing mechanism 和 Grouped Cross-Entropy,允许已 unmask token 被修正,并缓解大词表稀疏监督。
- 代码状态:未扫到官方 repo。
- 对我们的意义:虽然是 image,但 token editing / grouped CE 可能启发文本 dLLM 的 revise training 和近邻 token soft target。
### 2.18 Back on Track / PAPO
- 路线:reasoning RL for diffusion LLM。
- 做什么:提出 Step-Aware Process Rewards 和 Entropy-Guided Historical Re-enactment,让 reward 与 dLLM 中间扩散状态对齐。
- 代码状态:未确认官方 repo。
- 对我们的意义:如果我们后续发现加速后 reasoning 掉点,可考虑用 step-aware reward 恢复能力;短期不是第一阶段。
## 3. 可复用结果大表
> 说明:`结果来源` 表示本地论文笔记或代码 README 中已有的可引用数字;`我们复现` 留给后续实验填入。不同论文任务/模型不同,不能直接横向排名,只能作为各自路线的 sanity check。
| Ref | 路线 | 模型/设置 | 数据/任务 | 指标 | 论文/README 可复用结果 | 代码位置 | 我们复现 |
|---|---|---|---|---|---|---|---|
| Fast-dLLM v1 | training-free cache + parallel decoding | LLaDA/Dream | GSM8K 等 | throughput/accuracy | 最高约 27.6x throughput improvement,准确率损失较小 | `reference/code/Fast-dLLM/v1` | TODO |
| Fast-dLLM v2 | block diffusion fine-tuning | Qwen2.5 7B | LLM tasks | speed/quality | README 提供 Fast_dLLM_v2_7B | `reference/code/Fast-dLLM/v2` | TODO |
| Nemotron-Labs-Diffusion | tri-mode | 8B default | GSM8K | acc/NFE/TPF | README 示例:GSM8K acc 93.78%, avg NFE 52.1, TPF 5.89 | `reference/code/Nemotron-Labs-Diffusion` | TODO |
| DMax | self-revising dLLM | DMax-16B | math/reasoning | TPF/accuracy | math/reasoning TPF 约 6.0 | `reference/code/DMax` | TODO |
| DMax | self-revising dLLM | DMax-Coder-16B | code | TPF/accuracy | code TPF 约 6.6 | `reference/code/DMax` | TODO |
| TAD | temporal-aware distillation | LLaDA/Dream LoRA | GSM8K/MATH/HumanEval/MBPP | AUP/TPF/acc | README 图给主结果,需从论文/图中抄具体数 | `reference/code/TAD` | TODO |
| T3D | trajectory self-distillation | SDAR-4B-Chat | MATH500 | few-step acc | 提供 T3D checkpoint;论文结果待复核 | `reference/code/T3D` | TODO |
| D-MMD | discrete MMD distillation | Masked D-MMD | OWT | GGE | 16/32 steps GGE 0.236/0.225,优于 256/512-step teacher 0.275 | 无代码 | N/A |
| D-MMD | block AR diffusion | 256-block Uniform D-MMD | OWT 1024-token block | GGE | 16-step D-MMD GGE 0.225,匹配 256-step teacher | 无代码 | N/A |
| D-MMD | discrete image diffusion | Masked D-MMD | CIFAR-10 | FID | 64 steps FID 3.5;teacher 1024 steps FID 6.4 | 无代码 | N/A |
| Multi-Block DLM | MultiBD + MultiTF | LLaDA2-Mini | GSM8K/MATH500/MBPP+/HumanEval+ | avg acc/TPF/AUP | TPF 3.47 -> 6.19;acc 79.95% -> 81.03% | `reference/code/mbd-lms`, `reference/code/Diffulex-mbd-lms` | TODO |
| Multi-Block DLM + DMax | MultiBD + DMax | LLaDA2-Mini-DMax | same | avg TPF | MBD-LLaDA2-Mini-DMax TPF 9.34 | same | TODO |
| Multi-Block DLM throughput | Diffulex runtime | MBD-LLaDA2-Mini-DMax | H100 TP=2 | TPS | Avg TPS 926.67,step latency 11.20 ms | `reference/code/Diffulex-mbd-lms` | TODO |
| dMoE | block-level MoE routing | dMoE-16B | GSM8K/MATH500/MMLU/ARC-C | unique experts/perf | unique experts 69.5 -> 14.6;保留 99.11% 性能;memory -76.64%~-79.84% | `reference/code/dMoE` | TODO |
| DFlash | diffusion speculative draft | Qwen/Gemma/Kimi 等 | GSM8K/MATH500/HumanEval/MBPP/MT-Bench | lossless speedup | 多模型超过 6x speedup;相对 EAGLE-3 最高约 2.5x | `reference/code/dflash` | TODO |
| Teaching Diffusion L2R | verifier-aligned draft training | diffusion draft + AR verifier | speculative decoding | accepted draft length | accepted length 提升 21%-76% | `reference/code/SpecForge` 可参考 | TODO |
| FLM | continuous flow | FLM | LM1B | Gen. PPL/entropy | 1024 steps PPL 96.91 / entropy 4.29 | `reference/code/flm` | TODO |
| FLM | continuous flow | FLM | OWT | Gen. PPL/entropy | 1024 steps PPL 62.23 / entropy 5.33 | `reference/code/flm` | TODO |
| FMLM | flow-map distillation | FMLM | LM1B | Gen. PPL/entropy | 1/2/4 steps PPL 119.34/110.19/98.76 | `reference/code/flm` | TODO |
| FMLM | flow-map distillation | FMLM | OWT | Gen. PPL/entropy | 1/2/4/8/16/32 steps PPL 168.30/133.29/111.31/86.50/63.63/45.09 | `reference/code/flm` | TODO |
| FMLM | flow map on constraints | FMLM | Sudoku | valid rate | 4/2/1 steps valid 73.05%/42.58%/5.47% | `reference/code/flm` | TODO |
| ELF | embedding flow | ELF-B | OWT | Gen. PPL/entropy | 32-step SDE PPL 24.08, entropy 5.15 | `reference/code/ELF` | TODO |
| ELF | embedding flow | ELF-B | WMT14 De-En | BLEU | 26.4 | `reference/code/ELF` | TODO |
| ELF | embedding flow | ELF-B | XSum | ROUGE | R1/R2/RL 36.0/12.2/27.8 | `reference/code/ELF` | TODO |
## 4. 统一评测维度
后续不要只复现单个论文自己的指标。建议每个可跑方法都按以下维度记录:
| 维度 | 具体指标 | 为什么重要 |
|---|---|---|
| 任务质量 | GSM8K acc, MATH500 acc, HumanEval pass@1, MBPP pass@1, MMLU/ARC-C | 学姐强调 coding/reasoning 对精确度敏感,不能只看通顺文本 |
| 生成质量 | Gen. PPL, entropy, GGE, Self-BLEU, qualitative samples | 无条件生成或 continuous 路线需要补充质量/多样性 |
| 推理效率 | NFE, TPF, TPS, latency/token, step latency, wall-clock | block 加速最终要落到真实速度 |
| 并行-质量曲线 | AUP, accuracy vs TPF, accuracy vs steps | 单点结果容易 cherry-pick,曲线更稳 |
| 训练成本 | GPU/TPU 数、训练 tokens、训练步数、LoRA/full finetune、trajectory generation cost | 决定能否在我们资源上复现 |
| 工程复杂度 | 是否需改模型、是否需训练、是否需 SGLang/vLLM、是否支持 KV cache、是否依赖 SLURM | 决定可部署性 |
| 可迁移性 | 适用基座:LLaDA/Dream/SDAR/Qwen/Nemotron/MoE | 决定能不能扩到更大模型 |
| 风险 | 代码是否公开、checkpoint 是否可用、指标是否容易不一致、任务是否过于理想化 | 防止把不可复现论文当主线 |
## 5. 建议复现实验顺序
### Phase 1: 建立 dLLM baseline 表
目标:不训练,先把能跑的模型在统一任务上跑出 baseline。
| 实验 | 路径 | 配置 | 输出 |
|---|---|---|---|
| Nemotron `evaluate.py` smoke | `reference/code/Nemotron-Labs-Diffusion` | `--mode ar/dlm/linear_spec`, `gsm8k`, `limit=50` | acc, avg_tok, avg_nfe, TPF |
| Fast-dLLM v1 Dream/LLaDA eval | `reference/code/Fast-dLLM/v1` | GSM8K, steps/threshold/use_cache sweep | acc, throughput, latency |
| DMax official eval | `reference/code/DMax/dInfer/evaluations` | math/code scripts | accuracy, TPF |
| DFlash Transformers small model | `reference/code/dflash` | Qwen3-8B + DFlash draft, gsm8k max 128 | speedup, acceptance, acc |
记录位置:
| Date | Experiment | Model | Task | Config | Accuracy | NFE | TPF | TPS/Latency | Notes |
|---|---|---|---|---|---:|---:|---:|---:|---|
| TODO | Nemotron smoke | TODO | GSM8K-50 | TODO | TODO | TODO | TODO | TODO | TODO |
| TODO | Fast-dLLM smoke | TODO | GSM8K | TODO | TODO | TODO | TODO | TODO | TODO |
| TODO | DMax eval | TODO | MATH500 | TODO | TODO | TODO | TODO | TODO | TODO |
| TODO | DFlash eval | TODO | GSM8K-128 | TODO | TODO | TODO | TODO | TODO | TODO |
### Phase 2: 复现蒸馏路线
目标:验证学姐提到的“离散空间借 continuous distillation 方法”的可行性。
| 实验 | 路径 | 训练方式 | 需要资源 | 关键对照 |
|---|---|---|---|---|
| TAD on LLaDA/Dream | `reference/code/TAD` | LoRA + generated trajectories | 8 GPUs per README | baseline vs TAD,near/distant ablation |
| T3D on SDAR-4B | `reference/code/T3D` | rollout -> preprocess -> DDO training | 8 GPUs preferred | full-step teacher vs few-step student |
| D-MMD reimplementation design | 无官方代码 | 先只实现 toy / small OWT block | TBD | teacher 256-step vs student 16/32-step |
记录位置:
| Date | Method | Base Model | Teacher Steps | Student Steps | Block Length | Task | Accuracy/Metric | TPF/NFE | Training Cost | Notes |
|---|---|---|---:|---:|---:|---|---:|---:|---|---|
| TODO | TAD | TODO | 256 | TODO | 32 | GSM8K | TODO | TODO | TODO | TODO |
| TODO | T3D | SDAR-4B | TODO | TODO | 4 | MATH500 | TODO | TODO | TODO | TODO |
| TODO | D-MMD toy | TODO | TODO | TODO | TODO | OWT | TODO | TODO | TODO | TODO |
### Phase 3: 做我们自己的 block 加速改进
目标:在已有 baseline 上设计一个小而清楚的改进,不要一开始就重训大模型。
候选方向:
| 方向 | 具体 idea | 对照 reference | 第一版可做实验 |
|---|---|---|---|
| 时间感知蒸馏 + soft state | TAD 的 near/distant supervision 叠加 DMax 的 soft parallel state | TAD + DMax | LLaDA/Dream 小规模 LoRA |
| sampler-matched revise training | 训练时暴露模型自己的错误状态,允许已填 token 被修正 | DMax + Revise Don't Freeze | synthetic trajectory / on-policy rollout |
| verifier-aware block draft | diffusion draft 不优化全块 CE,而优化 accepted prefix length | DFlash + Teaching L2R | SpecForge DFlash training loss 改造 |
| multi-block + distilled block | MBD 的 Block Buffer 上接蒸馏后的 few-step block | MBD + TAD/T3D/DMax | Diffulex config sweep |
| continuous guidance as auxiliary | 用 flow/embedding-space teacher 给 discrete dLLM 的中间状态提供 soft target | ELF/FMLM + D-MMD | 先在小 OWT block 或 toy task 做 |
记录位置:
| Date | Our Variant | Base | Reference Baseline | Change | Task | Accuracy | TPF | Speedup | Ablation | Verdict |
|---|---|---|---|---|---|---:|---:|---:|---|---|
| TODO | TODO | TODO | TODO | TODO | TODO | TODO | TODO | TODO | TODO | TODO |
## 6. 推荐第一周工作清单
1. 先跑 Nemotron `evaluate.py --mode dlm --tasks gsm8k --limit 50`,确认本地环境、HF 下载和基本指标记录方式。
2. 跑同一个模型的 `ar`、`dlm`、`linear_spec`,建立最小 AR/diffusion/self-spec 对照。
3. 跑 DFlash 的 Transformers backend 小样本 benchmark,理解 speculative decoding 的 acceptance 和 speedup 记录。
4. 跑 DMax 现成 eval 脚本,拿到 math/code 的官方 checkpoint baseline。
5. 选择 TAD 或 T3D 中一个做训练复现。若资源紧张,优先 TAD LoRA;若想研究 few-step teacher trajectory,则选 T3D。
## 7. 当前判断
最稳主线:`DMax/TAD/T3D + Fast-dLLM/Nemotron baseline`。
原因:它们都围绕 discrete/block dLLM,能直接服务“block 内加速到极致”的目标,也能在 GSM8K/MATH/HumanEval/MBPP 这类高精度任务上评测。
工程主线:`DFlash/Nemotron self-spec/SpecForge`。
原因:它不要求 diffusion 全面替代 AR,只让 diffusion 做 draft,成功后可以无损加速 AR LLM,更适合短期落地。
探索主线:`FMLM/ELF/D-MMD`。
原因:continuous/flow 方法在 few-step 上很有启发,尤其是 semigroup distillation、flow map、embedding-space denoising、GGE 指标。但它们目前主要在 OWT/LM1B 或中小模型上证明,距离 coding/reasoning block dLLM 还有一层迁移风险。
## 8. Reference 与本地路径索引
| 内容 | 本地路径 |
|---|---|
| 总 reference index | `reference/README.md` |
| DMax paper/code | `reference/DMax- Aggressive Parallel Decoding for dLLMs.pdf`, `reference/code/DMax` |
| Nemotron tri-mode | `reference/Nemotron-Labs-Diffusion- A Tri-Mode Language Model Unifying Autoregressive, Diffusion, and Self-Speculation Decoding.pdf`, `reference/code/Nemotron-Labs-Diffusion` |
| TAD | `reference/TAD- Temporal-Aware Trajectory Self-Distillation for Fast and Accurate Diffusion LLM.pdf`, `reference/code/TAD` |
| D-MMD | `reference/beyond single token/README.md` |
| DFlash | `reference/dflash/README.md`, `reference/code/dflash` |
| Efficient-DLM | `reference/efficient-dlm/README.md` |
| ELF | `reference/elf/README.md`, `reference/code/ELF` |
| Fast-dLLM | `reference/flash-dllm/README.md`, `reference/code/Fast-dLLM` |
| FMLM/FLM | `reference/one-step language modeling/README.md`, `reference/code/flm` |
| dmax related papers | `reference/dmax/README.md` |
| Nemotron/speculative related papers | `reference/nemotron/README.md` |
| MBD-LMs training repo | `reference/code/mbd-lms` |
| MBD-LMs Diffulex reproduction branch | `reference/code/Diffulex-mbd-lms` |
| dMoE | `reference/code/dMoE` |
| SpecForge | `reference/code/SpecForge` |
|