Diffusion / dLLM Reference Survey and Experiment Plan
目的:把
reference/下所有论文和代码按学姐讨论的项目目标重新组织,形成后续做 block diffusion / dLLM 加速、蒸馏和复现实验的工作底稿。当前状态:本文只整理本地 reference、论文笔记和代码 README 中已有信息,尚未在本机重新跑实验。后续我们自己的复现实验结果统一填到本文的实验表和对应小节中。
0. 学姐讨论后的项目定位
学姐的核心要求可以压缩成四点:
- 目标不是只做一个论文 novelty,而是要找真的能在较大模型上可用的技术路线。
- 当前主线优先放在 discrete diffusion / block diffusion language model 上,尤其是 block 内或 block 间加速。
- continuous / flow / embedding-space diffusion 可以作为启发或探索,但目前完整替代离散 dLLM 的成熟度不如 block-discrete 路线,尤其在 coding、reasoning 这类高精度任务上风险更高。
- 评测不能只看生成文本是否通顺,要看质量、速度、并行度、任务准确率、训练/推理成本、工程可部署性,以及是否能迁移到更大模型。
因此本文按以下问题组织 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. 推荐第一周工作清单
- 先跑 Nemotron
evaluate.py --mode dlm --tasks gsm8k --limit 50,确认本地环境、HF 下载和基本指标记录方式。 - 跑同一个模型的
ar、dlm、linear_spec,建立最小 AR/diffusion/self-spec 对照。 - 跑 DFlash 的 Transformers backend 小样本 benchmark,理解 speculative decoding 的 acceptance 和 speedup 记录。
- 跑 DMax 现成 eval 脚本,拿到 math/code 的官方 checkpoint baseline。
- 选择 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 |