生成路径:草稿验证、并行去噪与少步迭代¶
基础模型 / 60 个问题 · 15 篇论文
先看问题,想一想,再展开答案。这里持续积累本子主题各篇论文的问答,一篇论文也可以追加多个问题。
60 个问题 · 15 篇论文
基础理解
LangDiT 为什么在连续 noisy embedding 之外增加 likelihood shortcut?
Designing Transformers for Continuous Diffusion Language Models
核心机制
LangDiT为什么只detach似然shortcut中的显式码本,而不把带噪输入整体detach?
Designing Transformers for Continuous Diffusion Language Models
方法对比
LangDiT 的训练 entropy gate,与推理后验均值应使用同样权重吗?
Designing Transformers for Continuous Diffusion Language Models
实现细节
LangDiT 校准 aψ 为什么既要初始化为1,又限制到[0.5,2]?
Designing Transformers for Continuous Diffusion Language Models
基础理解
SemiCat 为什么把一部分 token 提前 reveal 成干净 one-hot?
核心机制
DoubleCat的双层插值与SemiCat的永久reveal,为什么是两个不同的修正?
方法对比
DoubleCat 双层插值是否等于训练时多跑一次 denoiser 做 self-conditioning?
实现细节
SemiCat 最后一步 hazard 为1与永久 carry-over,应如何一起检查?
基础理解
Data-Space Iteration 反复更新的是数据预测,还是噪声时间轨迹?
核心机制
Data-Space Iteration为什么固定同一噪声反复改进预测,而不把迭代编号当flow时间?
方法对比
Data-space generator 直接回归真实图片,与文档中的 DMD 训练等价吗?
实现细节
一次 refinement 更新中,prefix、fake 和 generator 的梯度边界如何区分?
基础理解
PUMBA 为什么使用模型自己的 progressive-unmasking 训练轨迹?
On Trajectory-Aware Training for Masked Diffusion Language Models
核心机制
PUMBA为什么要让梯度穿过多个去噪步骤的carry,而不把每步当独立训练样本?
On Trajectory-Aware Training for Masked Diffusion Language Models
方法对比
trajectory-aware carry 训练与把每一步单独当样本,优化的依赖有何不同?
On Trajectory-Aware Training for Masked Diffusion Language Models
实现细节
PUMBA 应在每步还是窗口边界 detach carry?
On Trajectory-Aware Training for Masked Diffusion Language Models
基础理解
TADM 为什么让昂贵 anchor network 不必每个扩散步都运行?
Time-Anchored Diffusion Language Models: Latent-Space Caching for Fast Generation
核心机制
TADM周期缓存anchor后,为什么还需要依当前扩散状态进行门控修正?
Time-Anchored Diffusion Language Models: Latent-Space Caching for Fast Generation
方法对比
TADM 的门控陈旧缓存修正,与直接原样复用 h_t′ 有什么差别?
Time-Anchored Diffusion Language Models: Latent-Space Caching for Fast Generation
实现细节
TADM 的 g 与 Δ 两个输出,怎样用边界检查避免写成另一个融合?
Time-Anchored Diffusion Language Models: Latent-Space Caching for Fast Generation
基础理解
dQwen3.5 为什么把混合骨干改造成双向扩散语言模型?
dQwen3.5: Adapting Hybrid Language Models into Bidirectional Diffusion Language Models
核心机制
dQwen3.5把混合骨干改成双向传播,为什么不只是把注意力的因果mask去掉?
dQwen3.5: Adapting Hybrid Language Models into Bidirectional Diffusion Language Models
方法对比
双向 masked denoising 与自回归 next-token 训练,输入可见性有什么差异?
dQwen3.5: Adapting Hybrid Language Models into Bidirectional Diffusion Language Models
实现细节
测试混合骨干双向化时,为什么要同时检查 attention 与 recurrent 分支?
dQwen3.5: Adapting Hybrid Language Models into Bidirectional Diffusion Language Models
基础理解
ASPIRE 为什么把草稿长度选择放到每个请求上?
核心机制
ASPIRE为什么让同一batch内的请求独立选择草稿长度,而不是统一一个长度?
方法对比
按请求独立选择 draft 长度,与完全忽略 batch 的单请求贪心相同吗?
实现细节
本地 batch-aware scheduler 与 refresh gate,已经等于真实 vLLM serving 改造吗?
基础理解
ECHO 为什么让早层频繁探索、末层较少次数权威校验?
ECHO: Early-layer Collaborative Hierarchical Orchestration with Bonus Logits in Speculative Decoding
核心机制
ECHO用早层探索和末层校验,为什么bonus logits不能直接当最终采样分布?
ECHO: Early-layer Collaborative Hierarchical Orchestration with Bonus Logits in Speculative Decoding
方法对比
ECHO 的候选探索分数与最终目标采样分布,为什么要分开?
ECHO: Early-layer Collaborative Hierarchical Orchestration with Bonus Logits in Speculative Decoding
实现细节
ECHO 的候选合并通过与真实 CUDA 吞吐提升,验收对象有何不同?
ECHO: Early-layer Collaborative Hierarchical Orchestration with Bonus Logits in Speculative Decoding
基础理解
LoopSpec 的自推测为什么适合重复共享块的模型?
LoopSpec: Pipelined Self-Speculative Decoding for Looped Transformers
核心机制
LoopSpec为什么利用循环深度的中间预测,而不必另训练一个完全独立草稿模型?
LoopSpec: Pipelined Self-Speculative Decoding for Looped Transformers
方法对比
LoopSpec 与独立小草稿模型的 speculative decoding,多复用了什么?
LoopSpec: Pipelined Self-Speculative Decoding for Looped Transformers
实现细节
只实现 depth scheduler,是否已经实现 LoopSpec 的真实 GPU 流水线?
LoopSpec: Pipelined Self-Speculative Decoding for Looped Transformers
基础理解
固定数量 register tokens 为什么能作为扩散模型跨 chunk 的记忆接口?
Register Tokens for Bounded-State Reasoning in Diffusion Language Models
核心机制
扩散模型清除上一段文本后只带固定register,为什么仍可能跨段推理又受信息瓶颈限制?
Register Tokens for Bounded-State Reasoning in Diffusion Language Models
方法对比
register carry 与直接保留全部旧文本或 KV,记忆对象有什么不同?
Register Tokens for Bounded-State Reasoning in Diffusion Language Models
实现细节
验证 bounded register carry 时,怎样防止上一块文本被旁路保留?
Register Tokens for Bounded-State Reasoning in Diffusion Language Models
基础理解
并行草稿中,每个位置边际上合理,为什么整段仍可能不协调?
DBLast: Dependent Block Drafting for Stochastic Speculative Decoding
核心机制
DBLast共享latent为什么能弥补并行草稿各位置独立采样的缺陷?
DBLast: Dependent Block Drafting for Stochastic Speculative Decoding
方法对比
共享 latent mixture 与完全独立 unigram proposal,联合概率有什么不同?
DBLast: Dependent Block Drafting for Stochastic Speculative Decoding
实现细节
DBLast 的验收为什么要看精确 speculative acceptance,而不只看逐位置命中率?
DBLast: Dependent Block Drafting for Stochastic Speculative Decoding
基础理解
Windowed-MTP 为什么只缩小 draft 的历史读取范围?
Windowed-MTP: Removing the Full-Context Draft-KV Tax at Million-Token Context
核心机制
Windowed-MTP只缩小draft窗口,为什么能省读取又不直接改变target输出分布?
Windowed-MTP: Removing the Full-Context Draft-KV Tax at Million-Token Context
方法对比
draft key 数大幅减少,为什么 TPOT 不会自动按同一比例下降?
Windowed-MTP: Removing the Full-Context Draft-KV Tax at Million-Token Context
实现细节
短序列中 sink 与 recent 重叠时,Windowed-MTP 应复制这些 KV 吗?
Windowed-MTP: Removing the Full-Context Draft-KV Tax at Million-Token Context
基础理解
R4T 为什么先得到集合级对齐目标,再训练快速检索器?
Efficient, Property-Aligned Fan-Out Retrieval via RL-Compiled Diffusion
核心机制
R4T为什么先对检索集合整体对齐,再把结果编译进扩散式fan-out检索器?
Efficient, Property-Aligned Fan-Out Retrieval via RL-Compiled Diffusion
方法对比
集合级 alignment/diversity 目标,与逐项独立排序的目标有什么差别?
Efficient, Property-Aligned Fan-Out Retrieval via RL-Compiled Diffusion
实现细节
本地 R4T 组件已经包含 53.9M 参数扩散检索器训练吗?
Efficient, Property-Aligned Fan-Out Retrieval via RL-Compiled Diffusion
基础理解
Medusa 为什么给同一个 hidden state 增加多个 future-token head?
Medusa: Simple LLM Inference Acceleration Framework with Multiple Decoding Heads
核心机制
Medusa的多个future-token head为什么需要候选树验证,而不能各自取最高概率后直接拼接?
Medusa: Simple LLM Inference Acceleration Framework with Multiple Decoding Heads
方法对比
Medusa 的 backbone call 次数减少,为什么不等于同百分比时延减少?
Medusa: Simple LLM Inference Acceleration Framework with Multiple Decoding Heads
实现细节
训练 Medusa 第 k 个 future head 时,监督 token 应怎样位移?
Medusa: Simple LLM Inference Acceleration Framework with Multiple Decoding Heads
基础理解
推测解码为什么能用小 draft 帮大 target 减少串行调用?
核心机制
推测解码拒绝草稿时,为什么要从正残差分布采样,而不能直接重采一次目标分布?
方法对比
精确随机推测解码与“草稿和 target 贪心一致就接收”,保证范围相同吗?
实现细节
一次拒绝后,为什么不能继续无条件提交同块后面的 draft token?
主题导读与阅读路线
先想一个问题¶
如何减少逐 token 串行生成的等待,同时说清输出分布是否改变?
记住这一点¶
推测解码先由便宜草稿提出多个 token,再让目标模型批量验证;正确的接受概率与拒绝残差采样可保持目标分布。扩散语言模型则把生成改成多位置去噪,例如 dQwen3.5 需把含递归层的因果骨干改为双向传播。少步生成与共享网络迭代又重新安排精炼轨迹;它们改变的不是同一个层面。
一个例子¶
草稿一次提四个 token,如果目标只接受前两个,后面需要校正和继续生成;加速取决于接受率和验证成本。扩散模型可以一轮更新多个位置,但可能要多轮反复去噪。应比较整段输出质量和总时延,不能只比较一次前向写出多少位置。
什么时候要小心¶
精确推测采样的分布保证依赖完整接受与校正算法,不自动适用于任何多头草稿。扩散或蒸馏后的新模型也不因此与原自回归目标等价。本地 Markov 草稿、参考 kernel 或调用次数不能冒充大型模型的真实加速。
先读这几篇¶
先读 Fast Inference 的提出、验证与校正采样,明确保证条件;再读 dQwen3.5 的双向混合骨干与并行解码,区分“重排执行”与“训练新生成机制”。随后看自草稿、缓存和少步精炼。
- Fast Inference from Transformers via Speculative Decoding · 原论文
- dQwen3.5: Adapting Hybrid Language Models into Bidirectional Diffusion Language Models · 原论文
自测一下¶
“推测解码不改变分布”能否直接用来描述把 AR 骨干改成扩散模型?
展开参考答案
不能。前者在既定目标分布下用接受/拒绝校正重排执行;后者改变模型传播方式、训练目标与解码过程。它需要独立质量评估,不能继承前者的等价采样保证。