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


# 语言的“受损”，可以是把一部分词藏起来

王德泉 · Coding with AI · Lecture 04


<a id="n44-28c7847b9251"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N44.html#n44-28c7847b9251)

照片中的红杯与梨提供了场景条件，完整描述则是一条已有训练记录。现在藏起描述中的一部分词，例如保留“杯子在梨的”，遮住颜色和位置。原句仍由出题者保存；模型收到照片、问题和当前可见词，尝试恢复被藏起的位置。批改时，再把这些位置的预测与原词比较。


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

这和 N30 的造题逻辑相通：我们主动隐藏了什么，就知道本次该在什么位置给反馈。轻遮罩留下较多语言线索，重遮罩要求模型组织更多内容。若每个回答位置独立地以某个概率被遮住，这个概率控制的是平均受损程度，不保证每句话恰好遮住同样数量的词。


[课程图解] 可见词提供条件，被遮位置才接受原词监督；批改者保存的目标不是模型输入。；图中标签与关系：条件：描述杯子与梨的位置 模型输入 恢复提案 □ 红杯 在 在 梨 梨 □ 左侧 只批改被遮位置
可见词提供条件，被遮位置才接受原词监督；批改者保存的目标不是模型输入。


<a id="n44-0716a7dc3a35"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N44.html#n44-0716a7dc3a35)

文字需要适合自己的受损方式。词表编号只是地址。如果把编号连同词表、嵌入与输出对应一致重排，词的含义不变；若字典不变而只换输入编号，模型读到的词就变了。编号相差一并不表示语义接近。因此不能把词号直接当像素值加一点噪声，再认为它变成了“相邻意义”的词。这里采用的是把词类别替换成特殊遮罩符号。离散扩散还可以定义其他类别转移；遮罩是一条具体路线，不是全部语言扩散的唯一形式。


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

**“能读两侧可见词，会不会是在偷看答案？”**两侧文字若属于当前合法输入，就可以提供条件。被遮住的真实词仍留在批改端，不能交给模型。对一条训练记录，模型看到哪些位置与在哪些位置评分必须分开。当前示例只批改被藏起的回答位置；更完整的训练目标还会处理不同遮罩难度出现的概率及相应权重。


<a id="n44-28ef8c7ab923"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N44.html#n44-28ef8c7ab923)

**“生成时，原句也在旁边吗？”**没有。生成一个新回答时，问题和允许的上下文仍可见，未知回答不会以真实词的形式提前给出。模型需要从遮罩或已有候选中逐步形成回答。指令微调也可以沿用这个区分：保持提示不变，对回答部分制造恢复任务，让模型学习在该条件下怎样作答。


<a id="n44-84db5fecacf2"></a>
[区块原文](https://codingai-lec04.pages.dev/course/N44.html#n44-84db5fecacf2)

训练时抽取一道某种遮罩程度的恢复题，与生成时反复调用预测器形成回答，是两个不同过程。多比例填空目标只是系统的一部分，还要说明怎样从初始状态逐步得到完整输出；难度参数可以连续变化，也不表示词类别因此变成连续数值。


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

本页照片是讲清条件关系的例子，不意味着被引用的语言模型已经获得读图能力，也没有在课堂上训练出一个大语言模型。我们先弄清训练信息怎样流动。下一页再看：当几个空位同时提出候选，为什么每个位置单独答得合理，整句话仍可能违约？


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


## 画面怎样推进


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

轻重遮罩留下不同数量的上下文，使同一记录产生不同难度的恢复任务。

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


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

模型看到当前合法词与条件，预测被遮位置；批改依据是出题者保存的原词。

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


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

训练保存的真词用于评分，新回答生成时不可见；提示可保持不变，回答才是恢复对象。

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


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


## 继续阅读与实验


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


## 遮住词以后，模型能看什么、批改端知道什么？


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

训练者保存原句，模型只读当前可见词和合法提示，为被遮位置给概率。左右两侧可见词可以作为线索；被遮位置的真实答案只用于损失，不能提前作为输入。生成新回答时，更没有一条完整正确回答放在旁边。


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

例如两个被遮词的正确概率为0.8与0.6，未加权负对数概率和约0.734；若本题遮罩比例参数为0.5，LLaDA 目标中的时间权重使它约为1.468。具体实现是否再除长度另行核对。参数0.5表示每位置被遮的概率，不保证每句恰好遮一半。


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

自检：词号相差一是否意味着语义相近？不是，编号是词表地址。[读这个监督算例](https://codingai-lec04.pages.dev/lecture.html#ch07-loss-example)。


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


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

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

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


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


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

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

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


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


### [LAB 04 · 遮挡文本：并行候选与迭代相容性](https://deepnote.com/workspace/ise3309jingao-5ba66b0a-4283-4f5a-ae06-3f68d3201e99/project/6f83a923-d155-47be-be58-680db701ff7f/notebook/3585d77fe4f740a0a28f9e9f6dc620fd?utm_source=openai&utm_medium=mcp&utm_campaign=openaimcp&utm_content=3585d77fe4f740a0a28f9e9f6dc620fd&utm_term=get_notebook)

在既有小语法例子中逐项检查条件与评分位置；这里的精确有限分布不等于训练一个真实语言模型。

先看：保持条件、计算损失，再评价迭代成本


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


### [Structured Denoising Diffusion Models in Discrete State-Spaces](https://arxiv.org/pdf/2107.03006v3)

先看类别状态怎样受损，再辨认遮罩只是其中一种选择；长公式可暂时跳过。

先看：第2–4页：离散转移与吸收遮罩


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


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

逐项标出模型可见输入、被遮位置和评分对象，检查提示为何保持可见。

先看：第3–5页：预训练目标与监督微调

