
<a id="n46-title"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N46.html#n46-title)


# 另一种生成次序，打开补全与修订的可能

王德泉 · Coding with AI · Lecture 04


<a id="n46-b0c36f7e1f1e"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N46.html#n46-b0c36f7e1f1e)

同样描述“红杯在梨左边”，自回归把已有前缀作为条件，逐词追加；遮罩恢复让已有词和位置共同约束仍未知的位置。后一种组织为补全缺失内容、联合协调多个位置和修订候选提供了研究空间。图中的词格是组织方式的教学演示，不是LLaDA或Dream的实测输出；能否对任意给定位置编辑，取决于相应训练目标、注意力与采样规则，不能从一张遮罩图推出所有模型都具备这种能力。


<a id="n46-cost-transition"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N46.html#n46-cost-transition)

能力之后再比较成本：一轮可以处理多个位置，但轮数不是耗时。一边可能复用已算过的前缀，另一边可能反复处理整段或一块回答；必须把同任务的质量与完整计算一起比较。


[课程图解] 阶段数不同只是组织差别；每轮工作、缓存和验证共同决定完整成本。；图中标签与关系：同一任务：描述“红杯在梨左边” 词块与阶段均为教学示意 AR 逐个接续 Mask 扩散 多位置恢复 红杯 红杯 在 梨 红杯 在 梨 左侧 □  □  □  □ 红杯  □  梨  □ 红杯 在 梨 左侧 公平比较：同任务、同输出长度、同质量要求、同硬件与批量。 轮数 × 每轮工作 不能只看迭代次数 缓存与复用 计入实际读写开销 检查与修订 直到结果可用 环境与等待 记录完整端到端时间 并列报告质量、可控性与总成本；轮数比不是加速比。
阶段数不同只是组织差别；每轮工作、缓存和验证共同决定完整成本。


<a id="n46-f8a009719c3e"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N46.html#n46-f8a009719c3e)

一次有意义的比较，要把同一任务从开始到取得可用结果的工作算完。回答多长，怎样处理结束标记，是否预留了过长的输出空间；每轮计算多少位置；哪些计算能缓存；批量和硬件是否相同；生成以后要不要反复检查和修订，都会改变完整耗时。交互任务还关心第一次有用反馈要等多久，批量任务则可能更在意单位时间完成多少份合格结果。质量要求变了，成本比较也会失去共同口径。


<a id="n46-870ef2d396e1"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N46.html#n46-870ef2d396e1)

**“少跑几轮，即使偶尔答错一点也算优化吧？”**要看任务容忍什么。为图片草稿探索候选，可以接受一些失败；若输出必须符合结构或经过事实检查，省掉的生成时间可能被返工抵消。生成成本降低，只有在结果足够可用时，才可能让反复交互、规划与验证成为现实流程中的常规部件。


<a id="n46-969bb2030f98"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N46.html#n46-969bb2030f98)

LLaDA 的重要意义是检验：从头训练的遮罩扩散语言模型能否形成语言能力，并完成预训练、指令微调与采样这条路线。不能把它简化成“比自回归快”的论文。另一类工作如 Dream 从已有自回归权重继续训练，研究的是怎样利用既有知识改变生成机制。两者都能提供证据，但回答的问题不同：继承的训练不能当成免费，新目标接着训练成功也不等于从零得到同样能力。


<a id="n46-7ede48ed1911"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N46.html#n46-7ede48ed1911)

较受控的小规模自回归对照，可以更集中地比较训练和生成机制；与更大公开系统的能力对比，还混合了数据、规模、后训练和实现差异。不能用后一种名次直接归因前一种机制。


<a id="n46-c6dabed2c107"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N46.html#n46-c6dabed2c107)

因此读比较结果时，先确认训练履历与数据条件，再看相同任务上的质量和完整推理成本。最终采用哪种机制，不仅由一张效果图或一次轮数比较决定。


<a id="n46-3f592488b115"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N46.html#n46-3f592488b115)

现在接回 N42 留下的问题：生成“把杯子推过去”这句话，或顺畅播放杯子移动的视频，都还没有回答换一种动作会有什么后果。接下来真正改变任务：先预测动作后的状态，执行一个动作，再让环境返回的结果决定下一步。


<a id="n46-states"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N46.html#n46-states)


## 画面怎样推进


<a id="n46-b0"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N46.html#n46-b0)

在同一关系描述任务下，上排逐个接续，前缀条件增长；下排依据已知位置恢复 mask。词块和阶段是示意，不代表实际 tokenizer 或性能。

[返回这一课堂停点](https://codingai-lec04.pages.dev/classroom/N46.html?step=b0)


<a id="n46-b1"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N46.html#n46-b1)

补全、多位置协调和修订的可行性取决于训练与采样规则；LLaDA 从头训练，Dream 继承 AR 权重再作扩散训练，不能忽略训练史归因。

[返回这一课堂停点](https://codingai-lec04.pages.dev/classroom/N46.html?step=b1)


<a id="n46-b2"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N46.html#n46-b2)

同任务、长度、质量要求、硬件与批量下，记录每轮工作、缓存、检查修订及环境等待；同时报告质量、可控性、总成本。轮数比不是加速比。

[返回这一课堂停点](https://codingai-lec04.pages.dev/classroom/N46.html?step=b2)


<a id="n46-b3"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N46.html#n46-b3)

已经生成文字计划，仍需要行动后果预测和环境反馈。此停点接入 N47，不要求学生凭图片猜测未给出的动力学结果。

[返回这一课堂停点](https://codingai-lec04.pages.dev/classroom/N46.html?step=b3)


<a id="n46-materials"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N46.html#n46-materials)


## 继续阅读与实验


<a id="n46-learning-unit-001"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N46.html#n46-learning-unit-001)


## 一个词已经提交，为什么计算还可能重来？


<a id="n46-learning-unit-002"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N46.html#n46-learning-unit-002)

“提交”是把采样值写入状态；“重预测”是用新上下文重新给未知位置算概率；“重新遮罩”则明确把某些内容变回未知。已提交词不改，不等于它的网络表示不改：双向网络读到其他位置的新词后，相关表示与预测通常都可能变化。


<a id="n46-learning-unit-003"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N46.html#n46-learning-unit-003)

严格复用需要核对整项函数输入。MDLM 的窄条件是整段状态没有新揭开位置、网络不显式依赖时间、其余条件和权重不变且计算确定；此时可复用网络预测，采样转移仍按当前时间计算。典型因果AR的前缀KV复用依据不同：追加的后续词不影响此前的因果表示。


<a id="n46-learning-unit-004"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N46.html#n46-learning-unit-004)

自检：10轮生成100词，能否直接说比AR的100步快10倍？不能；每轮处理量、缓存、停止规则与合格输出要求仍需对齐。[读复用条件表](https://codingai-lec04.pages.dev/lecture.html#ch07-cache)。


<a id="n46-chapter-reading"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N46.html#n46-chapter-reading)


### [CLS 07 · 离散恢复与 diffusion LLM](https://codingai-lec04.pages.dev/lecture.html#ch07)

按连续正文理解这条方法的训练信号、使用过程与算例；数学与实践在相关问题旁展开。

先看：第7章，从对象和问题开始


<a id="n46-lab04-practice"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N46.html#n46-lab04-practice)


### [LAB 04 · 遮挡文本：并行候选与迭代相容性](https://codingai-lec04.pages.dev/course/notebooks/3585d77fe4f740a0a28f9e9f6dc620fd.html)

先读本册保存结果，再按实现顺序核对一个算例；最后只改一个变量。

先看：先看保存结果与读图解释


<a id="n46-material-1"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N46.html#n46-material-1)


### [Large Language Diffusion Models](https://arxiv.org/pdf/2502.09992v3)

先确认本文回答的能力问题，再核对采样步数与比较条件，不将其概括为全面速度优胜。

先看：主文比较设置；第28页关于速度目标的说明


<a id="n46-material-2"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N46.html#n46-material-2)


### [Dream 7B: Diffusion Large Language Models](https://arxiv.org/pdf/2508.15487v1)

画出从既有自回归权重到扩散训练的履历，把继承的训练与新训练分别计入解释。

先看：训练流程与初始化设置


<a id="n46-material-3"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N46.html#n46-material-3)


### [Simple and Effective Masked Diffusion Language Models](https://arxiv.org/pdf/2406.07524v2)

寻找减少重复计算的具体条件，将轮数、缓存和完整工作量放在一起判断。

先看：采样效率与预测复用部分

