跳到主要内容

合成 — 从「续写」到助手,从噪声到图像

这一章讲两条生成路线: 文本——第 03 章的自回归模型放大到千亿参数后 会发生什么,以及怎么把它从「续写器」掰成「助手」; 图像——怎么学会「从一团噪声里画出一张图」。 它在全书的位置:第 10 章是「从信号读出答案」,本章是「造出信号」—— 第 01 章三类任务里一直没出场的密度建模,在这里登场。

1. 顶层全景:生成的统一配方

第 10 章所有任务都是「信号 → 答案」。本章反过来:答案没有,要造信号本身。 统一配方就两步1:

第一步:给「数据长什么样」建模(密度建模,第 01 章的第三类任务)
第二步:从这个模型里采样——按它算出的概率抽签,抽出新的样本

图说:文本和图像走的是同一配方的两种实现:
文本靠「逐词的条件概率」,图像靠「逐步去噪的条件概率」。

2. 文本:千亿参数之后发生了什么

第 09 章的 GPT 放大到极端,就是 GPT-3(Brown et al. 2020): 1750 亿个参数,96 个自注意力块,每块 96 个头,token 表示 12,288 维2。 给参照:第 05 章说过,视觉模型常规是千万到一亿参数——它大了三个数量级; 你全书学过的零件一个没多,只是同一种块堆了 96 层。

这样的模型在海量文本上训练后,成了大语言模型(第 05 章定义过: 海量文本上训练的超大规模语言模型)。为了把「下一个词」猜准,它被迫吸收 千奇百怪的知识——原书给了三个例句:「日本的首都是__」「水烧到 100 度 会变成__」「因为她的小狗病了,所以简很__」。要把这些空填好, 模型内部必须存进地理、物理、情感常识3

随之而来的是三种被实测到的能力4:

  • 少样本(few-shot)预测:在提示(prompt——你喂给模型的那段开头文字, 它的一切行为都从续写这段文字开始)里先给两三个「输入→答案」的样例, 模型会照这个格式接着答新输入。原书用 1.2 亿参数的小 GPT 演示: 给四个「影评→褒贬」的例子,它就接着给新影评分褒贬——没有改一个参数;

  • 更惊人的是,提示编得巧,它能表现出问答、解题、思维链 (chain-of-thought——先把中间推算步骤一步步写出来,再给答案的做法) 等行为——

    原书引用实测报告的措辞说,这类行为「诡异地接近高层推理 (reasoning,从已知一步步推出新结论的那种思考,区别于背出记过的答案)」;

  • 因为这些能力太通用,这类模型被一些人称为基础模型(foundation models)—— 意思是「不做单一任务,做一切任务的地基」。注意这是命名者的立场, 不是中立的描述。

3. 从「续写器」到「助手」:RLHF(主走查)

但有个根本的错位,原书讲得很准5:训练用的文本集合(行话叫语料)是小说、百科、论坛、博客的混合, 这些文本的统计规律 ≠ 「一个乐于助人的助手在对话」的统计规律。 直接拿续写器当助手用,它更可能把你的问题当小说开头续写, 而不是回答。

修正它的主流做法叫 RLHF(Reinforcement Learning from Human Feedback, 基于人类反馈的强化学习,Ouyang et al. 2022)。它向人收集两种小规模的 标注数据,走两条路6:

路线 A(人写答案): 让人直接写出好回答 → 得到小型示范集
→ 用它微调语言模型(第 05 章的老办法,只是数据是人写的)

路线 B(人打分): 让模型对同一提示生成几个回答,人给它们排好坏
→ 用这些评分训练一个网络,它叫奖励模型(reward model):
预测「人会给这个回答打几分」
→ 再用第 10 章的强化学习,拿奖励模型的分当奖励,继续微调语言模型

图说:路线 A 是「照着我写」,路线 B 是「照着我的口味优化」。
B 的关键一跳:人不用写,只打分——打分便宜,所以可以打很多,
而奖励模型把有限的打分「外推」成了对任意回答的评分器。

今天的对话助手(从 ChatGPT 起)基本是「预训练 → 路线 A → 路线 B」的 三段产物。你在用的「助手人格」,是第三段加上去的,不是预训练里长出来的

4. 图像:学会逆转一场加噪(走查二)

图像的生成走了完全不同的路。回忆第 10 章去噪的坑:MSE 学的是 「所有可能答案的平均」,必糊。「会造新样本」的方法的应对:不求平均, 直接学「分布」本身,然后从中采样

扩散模型(diffusion model——原书特意注明这名字「多少有些不恰当」) 的想法分两半7:

前半(不用学,用公式写死): 定义一个逐步破坏过程。拿一张真图 x₀, 每一步加一点白噪声、再把方差归一,重复 T 步。因为每一步都在稀释 x₀, 到第 T 步,x_T 实际上就是一个标准正态分布的纯噪声—— 「任何图片」被一条写死的规则磨成了「人人会采样的东西」8

后半(要学的): 训一个深度网络 f,学会逆转一步: 给定 xt 和 t,估计「上一步的 xt−1 大概什么样」—— 形式上 xt−1 | xt 服从一个以 xt + f(xt, t) 为均值的正态分布。 有个理论保证(变分下界):只要单步逆转学得够准,从纯噪声出发连走 T 步, 出来的 x₀ 就服从真实图像的分布9

训练: 真图 → 解析加噪到第 t 步 → 让 f 猜上一步 → 按猜错程度下山
生成: 采一团纯噪声 xT → f 去噪一步 → x_{T−1} → 再一步 → … → x₀(一张新图)

图说:学「逆转一小步」比学「直接画一整张」容易得多——
每一步只需要修掉一点点噪声。这就是扩散模型绕开「直接建模高维分布
太难」的办法:把一件难事拆成 T 件易事。

生成过程还有个直观描述,原书给的:模型起初在纯噪声里凭运气凭空「看出」 一点结构(原书用的动词是 hallucinate,和「说胡话」是同一个行话),然后每步都强化「目前已有结构最可能的延续」,图像从雾中显形10

加条件(「画一只橘猫」): 在去噪的均值上加一个偏置,方向指向 「让这张图和第 10 章 CLIP 的文本匹配分更高」——每去噪一步, 都顺手往「更像描述」推一把11

5. 作者的判断与证据

  • 「模型被迫吸收知识」是机制论证(猜准下一个词需要这些知识), 三个例句是作者的演示,不是标准化的打分考卷(行话叫基准测试);
  • 「近推理能力」原书措辞是 eerily close to high-level reasoning—— 作者刻意保留「诡异地接近」而非「就是」,这个分寸本书照原样保留;
  • 「基础模型」一名原书注明出处(Bommasani et al. 2021),是命名不是论证;
  • 扩散的「单步够准则全程对」有变分下界支撑,是本章最硬的理论点;
  • RLHF 的两条路线引 Ouyang et al. 2022;原书未评估其失效模式(如奖励作弊), 属于本书之后的大量文献。

6. 边界与局限

  • 原书对 LLM 的讲述停在 GPT-3 时代:没有「把模型调成听指令」的后续工艺、查资料增强、工具使用等 后续范式(其中两个在第 12 章以「省算力技术」的身份出现);
  • 「少样本」「思维链」在书里是「能力展示」,没有可靠性讨论—— 它们会出错,而且出错方式不在本书范围;
  • 扩散只讲了无条件 + CLIP 引导;今天主流的「文本编码器直接进网络」 (如 latent diffusion)是后续发展(补充,不在书里,来自通用知识);
  • 图像生成还有一大脉——一个叫 GAN 的对抗式做法——原书放在「没讲的」里,第 12 章补。

7. 可带走的

  1. 生成 = 建模分布 + 采样;文本用逐词条件概率,图像用逐步去噪;
  2. GPT-3 的全部「新」在规模:96 块、1750 亿参数,零件一个没多;
  3. 知识是「猜下一个词」的副产品:要猜准,就得存知识;
  4. 少样本 = 在提示里给格式样例,不改参数;提示是行为的全开关;
  5. 续写器 ≠ 助手:语料统计错位;RLHF 用「人写 + 人打分训评分器→再训」两步掰正;
  6. 扩散模型:公式写死的加噪 + 学习逆转;难事拆成 T 件易事,有变分下界兜底;
  7. 文本条件 = 每步去噪时往「更像描述」的方向推一把(CLIP 在这里二次就业);
  8. 「凭空看出结构再强化」——生成过程本身就是一条自指的下山路。

8. 原文地图

主题原书章原文位置
合成 = 建模+采样Synthesistext/26-fm-synthesis.txt:5(搜「density model to training samples」)
GPT-3 规模Synthesistext/26-fm-synthesis.txt:18(搜「175-billion」)
被迫吸收知识Synthesistext/26-fm-synthesis.txt:32(搜「capital of Japan」)
少样本/近推理/基础模型Synthesistext/26-fm-synthesis.txt:37(搜「few」) · :64(搜「eerily close」) · :70(搜「foun」)
统计错位与 RLHFSynthesistext/26-fm-synthesis.txt:75(搜「inad」) · :85(搜「Reinforcement Learn」)
扩散模型原理Synthesistext/26-fm-synthesis.txt:80(搜「dif」) · :107(搜「inverting this degradation」)
加噪过程Synthesistext/26-fm-synthesis.txt:123(搜「normalize the data」)
变分下界保证Synthesistext/26-fm-synthesis.txt:141(搜「variational bound」)
幻觉出结构Synthesistext/26-fm-synthesis.txt:162(搜「hallucinates」)
文本条件Synthesistext/26-fm-synthesis.txt:168(搜「textconditioned synthesis」)

Footnotes

  1. 出处:「Synthesis」第 1–6 段(text/26-fm-synthesis.txt:5,搜「density model to training samples」)。

  2. 出处:「Synthesis」第 17–23 段(text/26-fm-synthesis.txt:18,搜「175-billion」)。

  3. 出处:「Synthesis」第 25–34 段(text/26-fm-synthesis.txt:32,搜「capital of Japan」)。

  4. 出处:「Synthesis」第 36–72 段(text/26-fm-synthesis.txt:37,搜「few」;:64,搜「eerily close」;:70,搜「foun」)。近推理引 Chowdhery et al., 2022 与 Bubeck et al., 2023;基础模型引 Bommasani et al., 2021。

  5. 出处:「Synthesis」第 74–82 段(text/26-fm-synthesis.txt:79,搜「helpful dialog」)。

  6. 出处:「Synthesis」第 83–97 段(text/26-fm-synthesis.txt:85,搜「Reinforcement Learn」)。引 Ouyang et al., 2022。

  7. 出处:「Synthesis」第 98–121 段(text/26-fm-synthesis.txt:103,搜「somehow incorrectly」;:107,搜「inverting this degradation」)。引 Ho et al., 2020。

  8. 出处:「Synthesis」第 123–136 段(text/26-fm-synthesis.txt:123,搜「normalize the data」)。

  9. 出处:「Synthesis」第 138–160 段(text/26-fm-synthesis.txt:141,搜「variational bound」;原书公式 7.1 在 :158)。

  10. 出处:「Synthesis」第 162–166 段(text/26-fm-synthesis.txt:162,搜「hallucinates」)。

  11. 出处:「Synthesis」第 168–174 段(text/26-fm-synthesis.txt:168,搜「textconditioned synthesis」)。引 Nichol et al., 2021。