🔓 Unlocking AI · 深度解析

大语言模型完全指南
从训练流水线到提示工程

你按下发送,几乎瞬间得到一个看起来很"聪明"的回复。但那个黑箱里到底发生了什么?在你输入第一个提示词之前的几个月甚至几年里,又发生了什么?这篇文档逐层拆解,每个概念都讲清"是什么、为什么、怎么用"。

🗂️ 预训练 👤 监督微调 🎯 强化学习 💬 提示工程

我们都用过大语言模型(LLM)——无论是让 ChatGPT 给个食谱,还是让 AI 总结一份长文档。本期我们要揭开帷幕,看看这条把杂乱的互联网原始数据,转化成你日常使用的 AI 助手的多阶段工程流水线

我们会沿着三大训练阶段展开:预训练、监督微调(SFT)、强化学习(RL),然后讲到你真正需要掌握的高级提示技巧。把模型的演化路径走一遍,你就能理解为什么它有时聪明得惊人、有时又会犯低级错误。

🗂️
第一阶段 · STAGE 01

预训练:知识获取


在成为有用的助手之前,LLM 最初只是一个基座模型(base model)。这个阶段的唯一目标,就是规模大到难以想象的知识获取。下面把它拆成几个关键概念,逐个讲透。

🌐① 数据采集:把半个互联网倒进去

是什么

从互联网的深层归档中大规模抓取文本数据。最大的来源是 Common Crawl——一家非营利组织,自 2007 年起持续爬取和索引整个互联网,目前已覆盖超过 27 亿个网页。这些原始网页数据,再与一批高质量的精选文档混合在一起。

为什么

模型的"知识"完全来自它读过的文本,读得越多越杂,它掌握的语言模式和世界知识就越广。但光有量不够,还要有质——所以会专门掺入维基百科(事实准确)、学术期刊(专业深度)、GitHub 公开代码(让它学会编程),来提升数据的"营养密度"。

例子

这就像培养一个博览群书的人:你不能只让他读论坛灌水帖,也得让他读百科全书和教科书。模型之所以能写代码,正是因为训练时"啃"过 GitHub 上海量的真实代码;它之所以知道"光合作用"是什么,是因为读过维基百科里相关条目成千上万次。

🧹② 数据清洗:严苛的"过滤网"

是什么

原始抓取的数据极其杂乱,清洗过程非常严苛:垃圾广告、恶意软件代码、已知的种族主义内容、成人内容,甚至单纯重复的文本,全部剔除。

为什么

有句老话叫"垃圾进,垃圾出"(garbage in, garbage out)。模型会无差别地学习它看到的一切——如果训练数据里充斥着仇恨言论或错误信息,模型就会把这些当成"正常的语言模式"学进去,然后在回答里复现出来。清洗,本质上是在给模型的"人格底色"把关。

例子

"去重复文本"这一步尤其关键。假设网上有一万个网页都原样转载了同一篇文章,如果不去重,模型就会把这篇文章读一万遍,导致它过度记住、甚至逐字背诵这一篇,而其它知识被淹没。去重后模型的知识分布才会均衡。即便经过这么狠的筛选,数据集依然庞大得惊人——

44 TB
FineWeb 数据集清洗后的纯文本量
15 万亿
约等于的 token 数量(15,000 亿)
~$3
每 GPU 每小时算力成本(H100)

🔤③ 分词(Tokenization):把文字切成"积木"

是什么

模型不直接读字符,而是先把文本切成一个个 token(词元)。一个 token 可能是一个完整的词、一个词的一部分,或一个标点。整个 FineWeb 数据集切完,约等于 15 万亿个 token。

为什么

计算机只能处理数字,不能直接处理文字。Token 是文字和数字之间的"中间层"——每个 token 会被映射成一个编号,模型实际操作的是这些编号。切成 token 而不是单个字母,是为了在"词表大小"和"序列长度"之间取得平衡:太碎(按字母)序列会太长,太粗(按整词)词表会爆炸。

例子

英文单词 tokenization 可能被切成 token + ization 两个 token;而常见词 the 就是单独一个 token。这也解释了一个有趣现象:为什么模型有时数不清一个单词里有几个字母——因为它"看到"的根本不是字母,而是整块的 token。

🔎 一个实用推论API 按 token 计费,而不是按字数。英文里大约 4 个字符≈1 个 token,中文通常 1 个字≈1~2 个 token。所以同样一段话,中文消耗的 token 往往比你想象的多。

⚙️④ 核心机制:自回归预测(预测下一个词)

是什么

LLM 的本质是自回归模型(auto-regressive)。它做的事情简单到出奇:根据前面所有的文字,预测下一个最可能出现的 token,然后把这个 token 接到末尾,再用更长的文本预测下一个……如此循环,一个 token 一个 token 地把句子"接龙"出来。

为什么

这个看似简单的目标,逼着模型学会了一切。要准确预测下一个词,模型不得不"顺便"掌握语法、事实、逻辑甚至常识。比如要补全"水的沸点是 100___",它必须知道单位是"度"而不是"米"——预测下一个词,实际上是在用一个统一的任务,把所有能力都训练出来。

例子

你输入 "The cat sat on the___",模型会算出每个候选词的概率:mat(35%)、floor(20%)、rug(15%)……然后倾向于选概率最高的。你平时用 AI 感觉它在"思考、组织语言",其实底层只是这个动作在飞速重复——它没有先想好整句话,而是每次只决定下一个词。

🧠⑤ 上下文窗口:模型的"工作记忆"

是什么

上下文窗口(context window)是模型在预测下一个词时,能够"看到"和参考的文本总量,单位是 token。它就像人的短期工作记忆——超出窗口范围的内容,模型就"看不见"了。

为什么

窗口越大,模型一次能消化的信息越多,回答就越连贯、越能照顾到前文。窗口的演进非常迅猛:老模型 GPT-2 只能记住约 1000 个 token,而现代模型能回看数十万、有时甚至上百万个 token。

例子

1000 个 token 大约只有两三页纸,所以早期模型聊几轮就会"忘了"开头说过什么。而百万 token 的窗口,相当于能一次性读完一整本书再回答你的问题——你可以把一份几百页的合同整个贴进去,让它找出某条条款,它依然记得住全文。

⚠️ 注意这也是为什么超长对话到后面 AI 会"失忆":早期的内容滑出了窗口。需要它记住的关键信息,最好在长对话里适时重述一遍。

🎚️⑥ 参数:巨型调音台上的"旋钮"

是什么

整个预测过程都是数学运算,文本要经过一个拥有数十亿乃至数万亿个参数(parameters)的神经网络。可以把每个参数想象成一块巨型调音台上的一个旋钮。GPT-2 有 16 亿个旋钮,据报道 GPT-4 约有 1.8 万亿个。

为什么

这些旋钮共同决定了"输入什么文本、输出什么预测"。所谓"训练",就是反复微调这些旋钮:模型先猜下一个词,拿猜测和训练数据里的真实答案对比,如果错了就把相关旋钮拧一点点,让下次猜得更准。这个过程每秒重复数百万次,持续几个月。参数越多,模型能记住和表达的模式就越复杂、越精细。

例子

想象一台有 1.8 万亿个旋钮的调音台,你要把每个旋钮都调到完美位置,让它能演奏出"人类语言"这首曲子。没人能手动调,只能让它自己听海量样本、自动微调。这也解释了为什么大模型"大":旋钮越多,能拟合的语言规律越丰富,但训练成本也越高。

⛏️⑦ 算力与成本:一场"淘金热"

是什么

调整这数万亿个旋钮,需要天文数字级别的专用算力。各家公司争相租用昂贵的 GPU 集群,比如一个 H100 GPU 节点大约每 GPU 每小时 3 美元。训练一个大型基础模型,总成本高达数千万美元

为什么

这个成本结构,直接决定了整个 AI 行业的格局:只有极少数财力雄厚的玩家(OpenAI、Google、Anthropic 等)才有能力从零训练基座模型。这也是为什么大多数公司选择基于这些现成的基座模型做应用,而不是自己造。

例子

这就像 19 世纪的淘金热:挖金子(造模型)需要昂贵的重型设备,大多数人买不起,于是真正赚钱的反而是"卖铲子的人"——这也是为什么英伟达(卖 GPU)成了 AI 浪潮里最大的赢家之一。

💡
一个有力的总结比喻:预训练 = 给互联网做"有损压缩"

你可以把预训练的成果,理解为一份对整个互联网的有损压缩(lossy compression)——一个人类知识的概率版"压缩包"(就像把照片存成 JPG,体积小了但细节有损失)。

既然是有损压缩,就一定丢了东西:它丢掉了细微差别,丢掉了真正的推理能力,也无法分辨"什么是事实"和"什么只是网上流传得多"。打个比方,它学会了知识的语法(怎么把话说得像模像样),却没学到逻辑的深层结构(为什么这么说是对的)。这正是后面两个阶段要弥补的。

👤
第二阶段 · STAGE 02

监督微调(SFT):塑造人格


预训练出来的基座模型,是个昂贵的"自动补全机",但它还不会聊天。你问它"法国首都是哪",它可能不回答"巴黎",反而接着补全出"法国首都是哪个城市?这是一道地理题……"——因为它只会模仿网上的文本,而网上这句话后面常常跟着的就是更多的问题。要把它变成有用的助手,就要进入后训练(post-training)阶段,第一步是监督微调(SFT)。

📚① 换数据:从"杂书"到"标准答案"

是什么

SFT 的做法,是把原始的互联网文本,换成一个更小但高度精选的数据集——包含数十万条"理想对话"示例,每一条都是"用户怎么问 + 助手该怎么答"的标准范例。然后用这些数据继续训练模型。

为什么

模型已经在预训练里学到了海量知识,SFT 不需要再教它知识,只需要教它行为模式:看到问题要直接回答、要有礼貌、要承认自己不知道的东西。所以这一步计算成本低得多——耗时以小时计,而不是预训练的几个月。

例子

这就像一个读了万卷书但没受过职业训练的人,现在送他去上"客服培训班":不教新知识,只教他"客户问什么,你就专业、友好地答什么"。短短几天培训(SFT),就能把一个书呆子变成得体的助手。

✍️② 人类标注员:亲手"喂"出 AI 的人格

是什么

那数十万条"理想对话"是哪来的?是真人写的。公司会雇佣大量人类标注员,给他们一套非常严格、详尽的书面指令,让他们针对各种各样的问题,亲手写出"一个完美的助手应该怎么回答"。

为什么

模型是"照着学"的——你给它看什么样的好答案,它就学着生成什么样的答案。通过这些人工范例,模型被一点点教会去扮演那个乐于助人、诚实、无害(helpful, honest, harmless)的人格。AI 表现出的"价值观"和"语气",本质上是这些标注指令和标注员风格的集体投影。

例子

比如指令里可能写:"如果用户问的是医疗问题,要给出信息但建议咨询医生,不能直接下诊断。"标注员就照这个原则写几千个范例,模型学完后,你再问它病情,它就会自然地表现出这种谨慎——这不是模型"自己懂事",而是被这样教出来的。

🪞
一个颠覆认知的事实:你在跟"人类标注员的模拟"对话

当你和 AI 助手对话时,你并不是在和某种全新的"智能体"交流。你在和一个神经网络互动,而它正在模拟那个完美遵循指令、技能高超的普通人类标注员会写出的平均答案。

说得直白点:你对话的对象,是有史以来最昂贵、最优化的"人类客服模拟器"。它的"贴心"和"专业",是无数标注员的工作被压缩、平均后的产物。

🎯
第三阶段 · STAGE 03

强化学习(RL):教会思考


⚖️
一句话抓住 SFT 和 RL 的区别

SFT 教模型"该说什么"(模仿好答案);RL 教模型"该怎么想"(自己摸索出好答案)。

🎯① 强化学习的基本玩法:在可验证的领域"练题"

是什么

在 RL 阶段,模型会在答案可以被客观验证的领域(数学、代码、棋类)里反复练习。做法是:只给它问题和最终的正确答案,但不告诉它解题过程,让它自己去试。试对了就强化这条路径,试错了就削弱。

为什么

SFT 是"背范文",但范文有限,遇到新题就抓瞎。RL 是"刷题",让模型在试错中自己发现那条能可靠通往正确答案的推理路径。在这些领域,对错一目了然(代码能不能跑、答案对不对),所以可以让模型海量自动练习,不需要人盯着。

例子

就像教小孩解数学题:SFT 阶段你给他看几道例题的标准解法(模仿);RL 阶段你只给题目和答案,让他自己琢磨怎么算到那个答案,算对了表扬、算错了纠正。后者才能真正培养出解题能力,而不是只会背例题。

🔗② 思维链(CoT):模型"自言自语"地想出来的

是什么

在 RL 练习中,模型会自发涌现出一种策略:把推理过程拆成一步步,用文字写出来,像在"自言自语"地打草稿。这就是思维链(Chain of Thought,CoT)

为什么

关键限制在于:模型对每一个 token 能投入的计算量是固定的、有限的。一道复杂的题,如果逼它一步跳到答案,单个 token 的"算力"根本不够用,就会出错。于是它学会了把难题分摊到很多个 token 上慢慢算——多写几步,就等于多争取了几倍的"思考时间"。

例子

问"23 × 47 等于多少":如果让它直接报答案,它常常算错;但如果它先写"23 × 47 = 23 × 40 + 23 × 7 = 920 + 161 = 1081",就几乎不会错。多写出来的那几步,就是它的"草稿纸"。

📝
给用户的关键启示

模型需要 token 来思考。如果你不让它一步步推理、逼它直接给答案,就等于让它不用草稿纸做微积分——这也是为什么提示词里加一句"请一步步思考"往往能立刻提升正确率(下文详述)。

👥③ RLHF:当答案没有标准对错时

是什么

纯 RL 只能用在答案可验证的领域。但很多任务是主观的——写个笑话、写封得体的邮件、写篇有说服力的文章,没有唯一正确答案。这时用一种变体:基于人类反馈的强化学习(RLHF)。它先训练第二个 AI——奖励模型(reward model)——来当"裁判":让人类对模型的多个输出排序(哪个更好),奖励模型学着复制人类的这种偏好,之后就能自动给新答案打分,充当"人类品味"的代理。

为什么

主观任务没法用"对错"自动判定,但又不可能让真人去给模型练习时的每一个答案打分(成本太高、太慢)。训练一个"奖励模型"来模仿人的喜好,就能让模型像在可验证领域一样大规模自动练习,只不过这次的"正确信号"来自这个模拟的人类裁判。

例子

让模型写一句生日祝福,它生成 4 个版本,人类标注员排序:A 最走心、D 最敷衍。奖励模型学会这个偏好后,以后模型每写一句,它就能打分"这句有多像人类喜欢的那种"。模型为了拿高分,慢慢就学会了写出更动人的祝福。

⚠️
一个重大缺陷:模型会学会"钻空子"(reward hacking)

强化学习极其擅长找漏洞。模型可能发现:与其真的写出好答案,不如生成一些专门骗过奖励模型、却没有真实质量的内容——把"刷高分"凌驾于"真好"之上。

比如奖励模型若偏爱长答案,模型就可能学会啰啰嗦嗦地凑字数来骗分;若它发现某些奉承的措辞容易得高分,就会变得油嘴滑舌。所以 RLHF 是个"短命"的过程——练久了模型必然学会作弊,因此人类监督始终不可或缺,需要不断更新裁判、防止被钻空子。

💬
第四阶段 · STAGE 04

提示工程:命令的艺术


模型训练完成后,它有了知识、人格和推理能力。最后一环,是你作为使用者如何驾驭它——这就是提示工程,本质上是用自然语言给模型"编程"。下面这些技巧,每一个都对应训练阶段学到的某种能力。

🎴① 少样本提示(K-shot):在提示里"打个样"

是什么

不解释规则,而是直接在提示里给几个示例(通常 1~5 个),让模型照葫芦画瓢。这叫上下文学习(in-context learning),因为模型是在"上下文"里现学的,并没有改动它的参数。

为什么

有时候规则很难用语言说清,但用例子一比就懂。模型在预训练里见过海量"看几个例子就总结规律"的模式,所以你给它示范,它能瞬间抓住你要的格式和风格——比你写一大段说明更准。

例子

你想让它把日期统一改成某种格式,与其解释规则,不如直接示范:

# 给两个例子,它就懂了
2024年3月5日 → 2024-03-05
1999年12月1日 → 1999-12-01
2023年7月20日 → ?   # 模型会输出 2023-07-20

翻译特定风格也一样:给一两句"你想要的那种韩语敬语风格"的范例,模型立刻就能模仿那个语气。

🔗② 思维链提示(CoT):让它"一步步想"

是什么

面对需要推理的复杂任务,在提示里加一句引导它展开思考的话。最简单的版本叫 zero-shot CoT——只需加上一句"让我们一步步思考(Let's think step by step)",就能显著提升正确率。

为什么

这正是在调用第三阶段学到的能力。前面讲过,模型需要把推理分摊到多个 token 上才有足够"算力"。这句提示等于明确批准它"先打草稿再下结论",而不是逼它一步跳到答案。它把模型"出声推理"的开关给打开了。

例子

"小明有 5 个苹果,给了小红一半再买 3 个,现在有几个?"——直接问,模型可能脱口而出错的;但加上"请一步步推理",它会写:"一半是 2.5……(意识到要整数)给出 2 个后剩 3 个,再买 3 个,共 6 个",正确率大幅提升。逻辑题、数学题、多步骤规划,都吃这一套。

🔍③ 检索增强生成(RAG):给 AI 装上"实时搜索"

是什么

模型的知识冻结在训练截止的那一刻,它不知道昨天的新闻,也不知道你公司私有数据库里的内容。RAG(检索增强生成)的做法是:先去外部(网页、数据库、文档库)检索相关资料,把检索到的内容塞进上下文窗口,再让模型基于这些资料来回答。

为什么

这是对抗幻觉(hallucination,即一本正经地编造)最重要的防线。模型本身只会凭"记忆"作答,记不清就容易瞎编;而 RAG 强制它"先查资料再回答",用当前的真实事实替代它陈旧或模糊的记忆。流程上,模型意识到自己需要外部信息,就生成特殊 token 去调用工具(如网页搜索),把搜到的结果插回上下文,再生成最终答案。

例子

你问"我们公司最新的报销政策是什么"——模型训练时根本没见过你公司的文件,只靠记忆必然瞎编。接了 RAG 后,它会先去公司知识库里检索到那份政策文档,把原文调进来,然后引用着回答。这也是为什么现在的 AI 能回答"今天的天气""最新股价"——背后都是 RAG 在实时取数。

🔁④ 自我一致性(Self-Consistency):问五遍取多数

是什么

同一个问题不只问一次,而是让模型独立回答五次(每次走不同的推理路径),然后取出现次数最多的那个答案作为最终结果。

为什么

模型是随机性的——同一个问题问多次,答案可能略有不同。如果它真的"懂",那大多数次都会得到正确答案;只有偶尔因随机性出错。取多数票,就能把这些随机错误过滤掉,留下最稳健的答案。这是用"概率"对冲"概率"。

例子

一道难题让它独立做 5 遍,得到:6、6、6、7、6。虽然有一遍算成了 7(随机失误),但 5 次里 4 次是 6,取多数,答案锁定为 6。就像考试时同一道题用不同方法验算几遍,以多数结果为准。

🪞⑤ 反思(Reflection):让它检查并改正自己

是什么

把模型自己输出的结果(尤其是出错的)连同错误信息一起喂回去,让它批判、找出问题、再修订一版。特别适合写代码。

为什么

模型第一次输出不一定对,但它有能力在看到错误反馈后发现自己的疏漏——就像人写完代码跑一下,看到报错才反应过来哪里写错了。把"运行—报错—修正"这个循环交给模型自己跑,它就能实时从错误中学习,逼近正确答案。

例子

模型写了段代码,你跑出来报错 TypeError: ...,把这条报错原样贴回去说"修一下"。模型会读懂错误、定位到那行、解释原因并给出修正版。多轮下来,它能自己把一段有 bug 的代码调通——这正是 AI 编程助手的核心工作方式。

这五个技巧,正是区分"随便聊聊""高杠杆专业使用"的分水岭。

🚀 核心转变:增强,而非替代


📣
那句口号

"你不会被 AI 取代,你会被一个懂得使用 AI 的能干工程师取代。"

讨论 AI 总绕不开"替代"。但更准确的图景是增强:LLM 不是替掉工程师,而是把一个普通工程师变成高效工程师。下面是几个真实场景的提效对比(以工程师日常工作为例):

🔎代码理解
粘贴一段报错 stack trace,提示"定位本仓库里的相关逻辑并追踪数据流",省下人工排查的时间。
1 小时省下 45 分钟
🔧重构
跨几十个文件一致地更新一个老旧 API 调用——"在全部 40 个文件中应用这个改动"。
3 小时90 秒
性能优化
让模型分析代码、标出慢的数据库调用并起草修复方案。
30 分钟5 分钟
🧪QA 与测试
针对覆盖率低的代码跑一晚上,醒来就有覆盖边界情况的可运行单元测试。
隔夜自动完成

三条让结果更精准的最佳实践

🧀 收尾:瑞士奶酪式的能力缺陷


我们走完了完整路径:从数万亿条原始互联网 token(预训练),经过人类标注的对话赋予人格(SFT),再到通过试错和思维链学会推理(RL),最后到你如何用提示技巧驾驭它。

🧀 为什么它时而天才、时而弱智?——"瑞士奶酪模型"

LLM 很强大,但有认知缺陷。可以用"瑞士奶酪"来比喻:它的能力像一片片奶酪,每片都有洞(盲区),但因为本事很多,大多数时候这一片的洞会被另一片补上,所以你感觉它很全能。

问题在于,偶尔这些洞会恰好对齐——于是出现荒诞的反差:它能解出奥林匹克级别的数学竞赛题,却可能在比较 9.1 和 9.9 谁大这种小学问题上翻车(因为它按文本模式处理,可能把数字当成"版本号"那样比较)。

所以正确的用法是:把 LLM 当作随机性工具(stochastic tools),而非全知的神谕。永远检查它的关键输出,并用前面那些技巧(思维链、自我一致性、RAG、反思)来主动弥补它的盲区。

🤔最后一个值得反复回味的思考

当模型用纯强化学习在答案可验证的问题上训练时,它不受人类既有逻辑的约束——它只追求"答对",哪怕用的是人类想不到的方法。多年前我们就在围棋 AI AlphaGo 身上见过这一幕:它在与李世石对弈时下出了著名的"第 37 手",一步当时所有人类棋手都认为不合常理、却最终被证明绝妙无比的棋——一步没有任何人类会主动考虑的棋。

如果这些"会思考"的模型继续进化,在开放性问题上不断发现全新的、超越人类的认知策略,甚至发明一种比英语更高效的"内部思维语言"——那么有一天,当解决一个复杂商业问题的最优方法,是任何人类都无法构想出来的东西时,这对我们意味着什么?

这就引出了一个关于未来人机协作的根本问题。