先设定一个诚实的期望

你不可能在笔记本电脑上从零训练出一个能媲美 GPT 或 Claude 的模型。那些模型耗费数千万美元的计算资源和庞大的工程团队。这不是目标。目标是深入理解这条流水线,让你能自己构建每个阶段的微小可用版本,能推理大模型的行为,不再对任何细节感到神秘。

各家公司在规模、数据和工程细节上有所不同,但流程骨架处处相同:数据 → 预训练 → 监督微调 → 奖励建模 → 强化学习。以下按实际发生的顺序展开。

图解 06 大模型的 5 阶段流水线:每一步的产物是什么 高中 / 工程师
大语言模型五阶段构建流水线:数据、预训练、监督微调、奖励建模、强化学习及各阶段产物 第一阶段数据:收集清洗令牌化,产物是干净的令牌数据集。第二阶段预训练:在万亿令牌上预测下一个令牌,产物是基座模型。第三阶段监督微调:学习数千条优质示范,产物是会当助手的模型。第四阶段奖励建模:用人类排序训练评分器,产物是奖励模型。第五阶段强化学习 RLHF:生成打分改进的循环,产物是最终发布的模型。幻觉源自第二阶段,讨好用户的倾向源自第五阶段。 1 数据 收集 → 清洗去重 → 令牌化 产物:干净的令牌数据集 2 预训练 在万亿令牌上反复「预测下一个令牌」 产物:基座模型(有知识、没礼貌) 3 监督微调 看数千条人类写的优质示范(SFT) 产物:会当助手的模型 4 奖励建模 人类给多个答案排序 → 训练一个评分器 产物:奖励模型(幕后评委) 5 强化学习 生成 → 打分 → 改进,循环打磨(RLHF) 产物:你每天在用的那个模型 「幻觉」的根源在阶段 2 ↑ 「总顺着你说」的根源在阶段 5 ↑
五个阶段的关系可以一句话串起来:阶段 2 给了它知识和流畅,阶段 3 给了它礼貌,阶段 4、5 给了它精致。把图记住最大的好处是能反推行为:幻觉来自阶段 2(训练目标是合理续写,不是说真话);爱顺着你说话来自阶段 5(奖励信号来自人类偏好,而人偏好自信顺从的回答)。理解流水线,就是从「工具使用者」变成「能推理工具的人」。

← 图片可左右拖动查看 →

阶段 1:数据——一切建立的基础

在模型存在之前,先要有文本。海量的文本。第一阶段是收集和准备模型将要学习的数据:公共互联网的很大一部分、书籍、代码库等等。但原始文本是杂乱的,所以这个阶段的大部分工作不是收集,而是清洗——过滤垃圾、去除重复(同一段落出现上千次会扭曲学习)、筛除低质量或有害内容。

垃圾进,垃圾出。用更干净、更高质量的数据训练出的模型,比用更多但更杂乱的数据训练出的模型学得更好。数据质量是整个领域最重要却也最不引人注目的杠杆之一。

— Khairallah AL-Awady

接着是让初学者惊讶的一步:令牌化(Tokenization)。模型无法直接阅读文本,文本会被拆分成令牌(大致相当于一个单词的一部分)。「tokenization」这个词可能变成三四个令牌。从此以后模型只看到数字,再也看不到字母——这就是为什么它们有时会数错单词里的字母:它们从未见过字母,只见过令牌。这个阶段的输出是一个庞大、干净、已令牌化的数据集,此时还没有任何学习发生。

图解 07 令牌化:为什么模型会数错单词里的字母 初中起可读
令牌化过程示意:单词被切成若干令牌再转换为数字编号 文本先被切成令牌,再被转换成数字编号。模型只看到数字序列,从未见过字母,所以在数单词里的字母数量这类任务上会出错。 你写下的文字 tokenization ① 切成令牌 token iz ation ② 换成编号,模型只看到这一行 3323 1229 367 它从来没见过字母,只见过这一串编号 —— 所以「strawberry 里有几个 r」它会答错
模型看不到字母,只看到编号。「tokenization」在它眼里是三个令牌、三个数字,而不是 12 个字母——这就是它数错单词里字母数量的原因,不是它笨,是输入里根本没有那个信息。顺带解释了两件实用的事:中文一个字往往约等于一个令牌,英文一个词可能拆成三个,所以同样长度的中英文文本消耗的额度并不一样;而让它做字符级操作(数字母、倒写单词)天生不擅长,交给代码更稳。

← 图片可左右拖动查看 →

阶段 2:预训练——模型真正学习语言的地方

这是花费数百万美元的阶段,也是模型学到几乎所有知识的地方。预训练的目标简单而优美:预测下一个令牌。模型看到一串令牌,被要求猜下一个;猜测与真实结果对比,内部数十亿个参数被微调,使下次猜得更好。跨越数以万亿计的令牌,一遍又一遍。

从这个极其简单的目标中,涌现出某种非凡的东西。为了在整个人类文本上擅长预测下一个令牌,模型被迫学习语法、事实、推理模式、编码语法和论证结构,因为所有这些都有助于它更好地预测。没有人明确教它语法,它学会语法是因为语法有助于它猜对下一个词。

一旦你明白这些模型的核心是大规模的下一令牌预测,它们的流畅性和幻觉就都说得通了——它们被构建为合理续写,而不是说出真相。真相是后续阶段和你自己的工程需要加上去的东西。

— Khairallah AL-Awady

我的看法:这是全篇最重要的一句话,我完全认同,也建议每个用 AI 的人把它当成第一原则记住。但我想补一句作者没展开的地方:「合理续写」不是一个中性的目标,它天然带有一种偏差——续写会向训练数据里出现频率最高的模式靠拢,而不是向正确的模式靠拢。当网络上关于某个话题的错误说法比正确说法更常见时,模型会更自信地续写那个错误说法。这解释了为什么幻觉在冷门但网上讨论热闹的话题上格外严重,而不只是「样本少」这么简单。

预训练的结果被称为基座模型(Base Model)。它是一个强大的语言引擎,但仍是原始的。你问它一个问题,它可能只是继续你的句子,或者生成一系列类似问题,因为它学到的只是合理地续写文本。它拥有广博的知识,却毫无礼貌。

阶段 3:监督微调——教会模型变得有用

现在你拿那个才华横溢但缺乏礼貌的基座模型,教它自己的职责。监督微调(SFT)解决这个问题:向模型展示数千个你期望的行为示例——一个问题配一个好答案,一条指令配一个正确回应,一个问题配一个清晰解决方案。

模型在这些示例上以与预训练相同的方式训练——预测令牌——但现在数据是经过策划的演示,精确展示了有用助手的回应方式。它学会了「有用」的格式:收到问题时提供有帮助的答案,而不是续写文本或喋喋不休。

这些示例的数量远少于预训练——有时只有数千或数万个,而非数万亿令牌——但它们高质量、有目的、有针对性。相对少量的优秀演示,就能把原始基座模型转变为行为像助手的东西。

— Khairallah AL-Awady

SFT 之后,你得到一个真正有用的模型。它能遵循指令、回答问题、保持专注。对许多用途来说,这已经是一个可用的助手。但它还没有你实际使用的那些模型那么乐于助人、无害和精致——这正是最后两个阶段的用途。

阶段 4:奖励建模——教会模型什么是「好」

这是大多数讲解会跳过的阶段,也是现代模型之所以如此精致的巧妙核心。SFT 之后模型给出不错的答案,但仅靠示例很难定义「好」。对大多数问题来说,并不只有一个正确答案,而是有优劣之分。当无法写出明确规则时,怎么教模型偏好更优的答案?

解决方案很优雅:让模型对同一个提示生成多个不同答案,让人类看这些答案并排序——「这个比那个好」。你收集大量这类人类偏好比较。接着,你不直接使用它们,而是训练第二个模型,称为奖励模型(Reward Model),它的唯一工作就是看任何答案,并预测人类会如何评价它。

你不可能让人类去评价主模型产生的每一个答案——那永远无法扩展。奖励模型是「人类喜欢什么」和「计算机可以优化的对象」之间的桥梁。

— Khairallah AL-Awady

奖励模型从不与用户对话。它是一个幕后的评判者。但它是解锁最后阶段的关键,因为它给了你一种方式,将主模型推向人类真正偏好的答案,规模之大是任何人类团队都做不到的。

这一段我想加一句作者没有点破的推论:奖励模型优化的是「人类会不会打高分」,不是「答案是否正确」。这两者在大多数情况下重合,但一旦不重合,模型学到的会是前者——这正是后面阶段 5 里「爱顺着你说话」这个问题的根源,作者在图解里也标出来了,只是没有明确说这是奖励模型这一步就已经埋下的偏差,不是强化学习阶段才产生的。

阶段 5:强化学习——打磨成你实际使用的模型

最后阶段利用之前所有成果,将模型精炼为你实际交互的那个乐于助人、谨慎细致的助手。这个阶段通常称为 RLHF(基于人类反馈的强化学习)。各部分这样组合:拿出阶段 3 微调后的模型和阶段 4 的奖励模型;微调模型生成答案,奖励模型给它们打分,然后微调模型通过强化学习被引导去生成得分更高的答案。这是一个循环:生成、打分、改进、重复。

因为奖励模型可以无限打分,主模型就能持续练习和改进,远超直接人类示例所能达到的极限。经过多轮迭代,它学会更乐于助人、更连贯、更好地遵循细微差别,并更好地拒绝不该做的事。这个阶段赋予模型精致感、良好的判断力以及许多安全行为。

一个现代变体:部分人类反馈可以用基于书面原则生成的反馈替代或补充,有时被称为 RLAIF 或「宪法式方法」。精神相同——不单纯依赖人类打分,而是通过明确陈述的价值观来扩大反馈规模。

— Khairallah AL-Awady

在此阶段之后,你得到最终产品:一个从预训练获得流畅性、从微调获得实用性、从强化学习获得精炼与对齐的模型。这就是你打开 ChatGPT 或 Claude 时对话的对象。五个阶段,环环相扣。

不过我要提一个技术上的补充:现实中这五个阶段远没有教程画的这么线性。各家公司会在预训练阶段就掺入部分指令数据,会在 SFT 和 RLHF 之间反复来回好几轮,甚至同一批数据会在不同阶段被反复使用。把流水线画成一条直线,是为了教学而做的简化,理解这一点,你在读任何一家公司「我们的训练方法」的技术报告时,才不会觉得跟这篇文章讲的对不上。

一口气看完整条流水线

你收集并清洗一座文本山,将其转化为令牌。你训练模型预测所有这些文本中的下一个令牌,从这个简单目标中涌现出一个理解语言但缺乏礼貌的基座模型。你用策划好的示例对它进行微调,使它学会像一个有用的助手那样行事。你收集人类对答案的排序,训练一个奖励模型来模仿人类判断。最后,你利用那个奖励模型通过强化学习来精炼助手,直到它变得精致、有用且对齐。

数据、预训练、微调、奖励建模、强化学习。五个阶段。这就是每一个前沿模型的制造方式。

关于自己构建 LLM 的实话

你不会在自己的卧室里超越前沿实验室,这从来就不是重点。重点是理解。一旦你在脑中理清了这条流水线,你就不再是这些工具的被动用户,而是能对它们进行推理的人:你理解它们为什么产生幻觉(下一令牌预测);理解为什么提示词有效(你在塑造将被预测的内容);理解为什么有些模型感觉更对齐(阶段四和五的质量);理解为什么在你自己的微调实验中,你自己的数据如此重要。

你可以自己在小规模上构建每一个阶段的微小可用版本,用于学习。你不会造出 Claude,但你可以造出某个东西,它恰好教会你 Claude 是如何建造的——而这份知识会在你余下的职业生涯中不断复利。

— Khairallah AL-Awady

大多数人会用这些模型很多年,却从未理解它们是如何被造出来的。你刚刚读完了整条流水线,已经领先于每天在这些工具里打字的大多数人。唯一的问题是:你是否会自己去构建一个小版本,把理解转化为实际的能力?