生成模型

一个要求,怎样产生多个合理结果?

一个器形镂空模版展开为三个不同的完整器物,蓝色结构由金色纸带连接。

生成模型

左右滑动查看完整图解 ↔

放大阅读图解 ↗

本讲目录

封面与60页正文

开篇:从任务到可能性

自回归与VAE:逐步决定与潜表示

GAN:反馈、约束与编辑

扩散及延展:从局部改进到跨段生成

World Model、语言与全课回收

本页说明

学习材料

训练有现成下文,生成要接住自己的选择

记录中的句子是“桌上放着一只红色的杯子”。训练一个位置时,模型可读“桌上放着一只”,要预测的是后面的颜色;“红色”留在评分区,等预测给出后再比较。这道题不能把目标词提前放进当前输入,否则就改变了模型需要完成的工作。

训练记录可见前缀:来自真实记录桌上放着一只待预测评分区红色真实目标记录照片本次输入里没有当前目标先预测,再拿真实目标评分
预测颜色时,真实颜色留在评分区,并未交给这次作答模型。

再看预测“杯子”的后续位置,输入是“桌上放着一只红色的”;其中连接词“的”也已经属于真实记录前缀。刚才还在评分区的真实词,如今已经是这个新位置之前的记录。因此,“训练用真实前缀”没有违反信息边界:要问的是哪一个预测位置,不能把上一题的答案与这一题的答案混为一谈。

完整语料已经存在,所以在计算图支持的架构中,许多位置的训练可以一起计算;递推结构可能仍带有自己的顺序依赖。但同时计算不等于每个位置都能看见整句答案。因果遮罩限定每个预测使用哪些先前信息;若未来目标通过其他位置绕回来,训练可能得到很好分数,却借用了真正生成时不存在的信息。

“训练既然可以并行,为什么生成还常常一个词一个词地来?” 因为训练的真实前缀已经给定;生成的后续还没出现。模型本次若选了“蓝色”,下一步读到的就是自己写出的蓝色前缀,而不是记录中的红色。常规自回归生成必须先完成这项选择,才能在它的条件下继续。

两种前缀来源训练:红色来自记录桌上放着一只红色的杯子生成:蓝色来自本次选择桌上放着一只蓝色的杯子
训练前缀来自记录,生成前缀来自模型本次选择;后续会继承这个区别。

这也解释一种常见失败:模型先写错一个颜色、姓名或假设,后面却把它当成已经成立的前提,继续写出很顺的话。顺畅延续说明它响应了当前前缀,不说明它纠正了早期错误。需要更可靠的长任务时,检索、阶段检查、执行测试或草稿修订可以补上不同类型的反馈,但应针对实际错误来源选择。

训练并行、一次网络计算内部的并行与输出位置之间的生成并行,是不同问题。接下来先不改训练或网络,只改变怎样从当前候选里作选择,看看最终结果会怎样变化。

画面怎样推进

第1步

预测颜色时,模型只读允许前缀,真实红色留在评分端。

打开这一停点

第2步

预测杯子的后续位置时,记录中的红色及连接词的都已属于真实前缀,当前目标留在评分端。

打开这一停点

第3步

训练前缀来自真实记录,生成前缀来自模型自己的选择;接得顺不保证早期选择正确。

打开这一停点

学习材料

与当前画面直接相关

真实前缀能用,真实目标为什么不能用?

把“红、杯、结束”分成三道题:开始标记预测“红”;开始标记和“红”预测“杯”;开始标记和“红、杯”预测“结束”。同一个真实“红”,在第一题是不可见目标,在第二题是合法前缀。信息边界必须按当前预测位置判断,不能把所有真实词一概当成泄漏。

训练程序已有整句,适当架构可同时计算这些题,但各位置仍只能读取合法前缀。生成时没有整句答案:本次采到“蓝”,下一步就要接住“蓝”。自检:并行算出训练损失,能否推出后续 token 已可同时生成?不能;待生成的前缀尚未作出选择,两种并行的条件不同。

继续读:输入与标签逐位置对齐

连续阅读

CLS 02 · 自回归:学习条件与产生序列

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

先看:第2章,从对象和问题开始

阅读与实践

LAB 01 · 自回归:联合概率、贪心与温度

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

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

在 Deepnote 阅读与运行

来源与进一步阅读

Autoregressive Models

逐位置标记前缀、当前目标与未来信息;用同一句话核对真实记录前缀和模型生成前缀。

先看:第40–42页与44–57页:训练与生成