跳到主要内容

五样东西 — 让今天这代模型成立的那条接力

这一章讲三件事: 支撑大模型的五样东西各自解决什么问题; 它们为什么是一条接力而不是一张清单;以及每一项的边界在哪、书里漏了什么。 第 01 章给了坐标系,这一章是全书技术部分的骨架——第 03 到 05 章都建在它上面。 只需要知道「模型是一个由训练搜出来的函数」,其余生词当场解释。

1. 先看现象:五个你大概都听过的词,但不知道它们什么关系

任何一场大模型讨论里都会冒出五个词,而多数人说不清它们是什么关系。

最容易犯的错是把它们当成五项并列的技术,好像可以任选几项来用。

不是。它们是一条链,每一环都是被上一环的遗留问题逼出来的。

循环网络学不到远处的词,而且只能一步步串着算,慢
└→ ① Transformer:注意力让任意两词直接连,顺带能并行
↓ 得到一个什么都懂一点、什么都不精的通用模型
└→ ② 微调:拿小数据把它调到具体任务上
↓ 它会说了,但说的不一定是人想听的
└→ ③ RLHF:让人给它的回答打分,再拿这些分回头去调它
↓ 它听话了,但太大,普通硬件跑不动
└→ ④ 压缩:想办法让它瘦下来
↓ 它跑起来了,但会输出不该输出的东西
└→ ⑤ 安全与隐私:让它别说不该说的、别把人认出来

图说:五项技术是一条接力,不是五个可选项。中间断一环,后面全部落空。

这条链是这本书讲得最清楚的一段,值得完整记住1。 每一环各是什么,下面五节各占一节,到那一节当场解释。

2. ① Transformer:让任意两个词直接连上

先看现象:早期翻译软件为什么老是丢主语

你可能用过早期的机器翻译。它翻短句还行,句子一长就开始出错—— 尤其是代词指代:「他」到底指前面哪个人,它经常搞错。

这不是训练不够,是结构决定的。

它解决什么问题:两个死结

Transformer 之前,处理文字主要靠循环神经网络——「循环」的意思是, 它一个词一个词往下读,每读一个就更新一次内部状态, 当前的理解全靠上一步传下来的那点状态

这带来两个死结2:

死结书里的原话说人话
记不住远处长距离信息会被弱化,距离越远获取难度越大传了几十步之后,开头那个词的信息已经被冲淡了
快不起来串行处理,依赖前面层的计算结果,难以并行(并行就是好多份计算同时开工)第 100 个词必须等前 99 个算完,GPU 有一万个核也用不上

第二条比第一条更致命。 它的意思是:这条路线天生吃不下算力。 回想第 01 章那条「能吃满算力的方法会赢」的判断——循环网络输在这里。

怎么做:注意力

2017 年 Google 那篇论文的做法很激进——把循环和卷积全扔了,只留注意力3

「注意力」这个词的来历,书交代得很好: 它受人类视觉启发—— 人看东西时先整体扫一遍,然后把注意力集中到重点区域,同时忽略其他信息3

书把具体算法拆成两步:第一步把每个词变成一串数,第二步算出「这个词跟我有多大关系」, 再按这个数把大家的意思混一混4书到这里就打住了,一个具体的数都没给。 下面这条走查是我们补的,它会一路走到本章末尾。

一条贯穿全章的主走查:「那只猫没过马路,因为它太累了」

这一节到第 6 节的五样东西,每一样都会回到这句话上占一步。 下面出现的每一个数值都是为演示编的,不是真实数值—— 真实模型里一个词带的是几千个数,这里只写三个,好让你能拿计算器跟着按。

第 1 步:每个词先各自变成一串数。 我们只走到「它」为止,前面这八块是——那 / 只 / 猫 / 没 / 过 / 马路 / 因为 / 它 (「马路」「因为」在这里各算一块;「太累了」排在「它」后面,这一步还用不上)。 每一块各带一串数: 「猫」这一串的前三位是 0.31 / −0.12 / 0.88,「它」是 0.02 / 0.10 / 0.35, 「马路」是 −0.60 / 0.22 / −0.40这一串数就是第 01 章说的向量, 八串数摞起来就是整句话——一张八行三列的数字表格。

第 2 步:两串数怎么比出一个「相关程度」? 书只说了「相关性高的,数值大」,没说这个数从哪来。 最朴素的办法是把两串数逐位相乘再加起来——两串数越像,这个和越大。 拿「它」和「猫」按这个办法算:0.02×0.31 + 0.10×(−0.12) + 0.35×0.88 = 0.302; 换成「它」和「马路」:0.02×(−0.60) + 0.10×0.22 + 0.35×(−0.40) = −0.130一正一负,差别当场就出来了。

第 3 步:把这一列原始分数摊成一组加起来正好等于 1 的比例。 分数高的多分一点,分数低的少分一点(具体怎么摊,书里一个字没讲)。 处理到「它」这一步时,摊完是这样:

马路因为
0.030.020.500.040.030.020.060.30

「猫」拿走了整整一半,「马路」几乎没拿到——两者差 25 倍。

第 4 步:按这组比例,把八串数混成一串新的,当作「它」这一步的新表示。 只看第一位。八个词的第一位依次是 0.10、0.05、0.31、−0.20、0.08、−0.60、0.15、0.02, 各乘上面那八个比例再加起来:

0.03×0.10 + 0.02×0.05 + 0.50×0.31 + 0.04×(−0.20)
+ 0.03×0.08 + 0.02×(−0.60) + 0.06×0.15 + 0.30×0.02 = 0.16

图说:「它」这串数的第一位,从原来的 0.02 变成了 0.16 ——
往「猫」的 0.31 挪了一大截,离「马路」的 −0.60 更远了。

这就是「它指的是猫」这件事在数上的样子:不是模型「判断」出来的,是混出来的。 所以它后面接的词才像在说猫,而不是在说马路。

这套做法叫自注意力——「自」的意思是在同一个句子内部做这件事5

第 5 步:多头注意力就是把上面这一整套按几个角度各算一遍。 劈成三份,每份独立打自己的分: 一份盯指代,就是上面那份,给「猫」打 0.50; 一份盯场景,给「马路」打 0.35,因为它关心的是这件事发生在哪儿。

第三份盯的是语法——就是词和词怎么搭配才通顺。 它给「没」打 0.31,因为「没」要和「过」搭成「没过」。

注意「马路」这个词:在指代那一份里它只值 0.02,在场景那一份里值 0.35——差 17 倍。 三份各混出一串数,再拼回一串。劈开就是为了同时关注多个位置6。 书举的正是这个例子:翻译时代词「它」指什么,要看整句话的含义。

第 6 步:同一句话交给 BERT 和交给 GPT,输入输出完全不一样。 把「累」挖掉,给 BERT 看「那只猫没过马路,因为它太▢了」,让它把「累」填回来; 把「因为」之后全遮住,给 GPT 看「那只猫没过马路,」,让它自己往下接—— 它可能接出「因为它太累了」,也可能接出「所以主人很着急」,两个都算对。 同一句话,一个被要求补中间,一个被要求造后面。

为什么这么做有效

两个好处一次拿到,而且是同一个设计带来的。

先补上书跳掉的那一级:凭什么「直接连」就等于「记得住」? 循环网络里,开头那个词的信息要经过 99 次转手才轮到第 100 个词, 每转一手掺进一点别的、丢掉一点自己; 而走查第 4 步里,「猫」那份信息是一步混进「它」的,中间一次转手都没有, 所以那 0.50 的分量原样到账。这才是下表「不受距离限制」那句话的意思。

好处为什么
远近一视同仁任意两个词之间是直接连的,相互作用不受距离限制7。第 1 个词和第 100 个词之间只隔一步,不是 99 步
可以并行每个词的计算不依赖前一步的结果,一万个核可以同时开工。书特别点出它「在 GPU 架构上表现尤为出色」7

回到那个丢主语的例子: 早期翻译软件搞错「它」指谁,输在第一行; 它算得慢,输在第二行。同一个设计一次治了两样。

一半管读进来、一半管写出去:BERT 和 GPT 为什么分了家

书用了一个很好的比喻来讲 Transformer 的两半8:

编码是把语言转成大脑能理解的形式(自然语言 → 数学表达); 解码是把大脑里的内容表达出来(数学表达 → 自然语言)。

这个比喻讲完就该拆掉。 管「读进来」的那一半,后面一律叫编码器—— 它把一句话转成一串数,走查第 1 到第 4 步干的正是这件事。

管「写出去」的那一半叫解码器——它反过来,把一串数还原成词,一个一个往外吐。

两者结构相似,但解码器多一样东西:带遮盖的自注意力「遮盖」当场解释: 训练时把后文挡住,只让模型看前文—— 因为它的任务是预测下文,能看到答案就不用学了9

这一处结构差异,直接分出了两条技术路线:

BERT(2018,Google)GPT(2018,OpenAI)
用了哪半只用编码器只用解码器
怎么看句子双向,前后文一起看(一个词周围那一圈文字,行话叫上下文)单向,从左到右,遮住下文
更像什么完形填空人类的语言生成
擅长理解类任务生成流畅文本

这张表解释了一件大事: 为什么后来赢的是 GPT 那条路。

中间那一级书没写,补在这里。 要接出「因为它太累了」这五个字,它必须先弄清前半句说的是一只猫、而且这只猫没过马路—— 所以练「往下接」,就顺带把「读懂」练了。

反过来看走查第 6 步里 BERT 拿到的那个输入:「因为它太▢了」,前后文都在, 它只需要补中间那一个空。「在没有下文的情况下自己造出下文」这道题,它一次都没做过, 所以练不出生成能力。

于是不是编码器不好,而是**「预测下一个词」这个任务本身能顺带学到理解能力,反过来不行**。 第 01 章那句「大模型让生成这条路顺带把理解也做了」,底层原因就在这里。

边界:书给的四个短板

书很难得地列了 Transformer 的四个问题10看表之前先立两个词,一段一个。

一段文字按顺序排成的一串,行话叫序列。 走查里那句话切成的八块,就是一条长度为 8 的序列; 后面几章讲长文档、讲长对话,说的都是同一件事——这条串太长了

每个词分到的那个「该看多重」的数,行话叫权重。 走查第 3 步那八个比例—— 猫 0.50、马路 0.02——就是八个权重;而它们得排成一张数字表格存起来,存本身就是开销

短板具体是什么
超长的一串吃不消序列越长,要算的量涨得越猛:走查那句话八个词,两两比对是 8×8 = 64 次;长度翻一倍变 16 个词,就要 256 次,翻了四倍——长文档摘要、长对话的质量会明显下降
信息冗余它不能直接忽略某些信息,只能给每个词都分一个权重——哪怕「马路」只值 0.02,这个数照样要算、要存
注意力会分错、也看不懂有时把注意力分到不相关的特征上;而且内部机制难以被完全理解,限制了它在医疗、法律这类要求可解释的领域的应用
位置信息处理不足注意力本身不知道词的先后——走查里把「猫」和「马路」的位置对调,那八个权重一个都不会变;所以得额外给每个位置配一串数来告诉它,这叫位置编码,但怎么配才有效仍是难题

第一条是后来所有「长上下文」竞赛的起点,第二条是第 03 章那些新架构的动机。

补充(不在书里): 这篇论文的正式名称是《Attention Is All You Need》, 第一作者 Ashish Vaswani,2017 年 6 月 12 日提交;摘要里那句关键的话是—— 提出一个完全基于注意力、彻底摒弃循环与卷积的新架构。

书里提到了这篇论文的存在,但没给出处,读者拿不到原文。

来源:《Attention Is All You Need》https://arxiv.org/abs/1706.03762(查阅于 2026-08-25)

3. ② 微调:把通用模型调到具体任务上

先看现象:通用模型问什么都答得上,但都不够好

你让一个通用模型帮你写医疗报告、判合同风险、答客服问题, 它每样都能给出像模像样的东西,但每样都差一口气——术语不对、格式不合、口径不统一。

书对这件事的定性很准。 先说清楚原话里那个词:泛化——就是「碰到没见过的情况也能办对」。 原话是:预训练模型「具有一定的通用性和泛化能力,但完成具体任务的能力有限」11

「预训练」当场解释: 先拿海量通用文本训一遍,训出一个什么都懂一点的底子。 这个底子就叫预训练模型,今天更常叫「基座模型」。

怎么做:在小数据集上再训一次

微调就是拿一个小得多的、针对目标任务的数据集,再训一遍,把参数往那个方向挪11

书给了两条理由,都很实在12:

理由说的是什么
站在巨人肩膀上别人花了巨大资源训出来的底子,比你从零搭强得多,不必重复造
适配小数据集任务你的任务只有几千条数据,从头训一个几千万参数的模型不现实;冻住底层、只训上面几层,既用上了它提取基础特征的能力,又能针对这个任务调得更准

「冻住」当场解释: 训练时把某些层的参数固定住不让它变,只让剩下的部分调整。 这是微调里最常用的一个动作。

回到那条走查,微调到底改了什么。 把同一句话「那只猫没过马路,因为它太累了」丢给一个在医疗语料上又训了一遍的模型, 第 3 步那组权重会变:「猫」那一份从 0.50 掉到 0.38,「因为」那一份从 0.06 涨到 0.18 (这两个数同样是为演示编的)。 因为医疗语料里到处是「因为……所以……」这类因果陈述,而「猫」几乎不出现。 微调不换结构、不换算法,它只是把这组数往新语料的方向挪了一点。

两条路线:全调还是只调一部分

全参数调整局部参数调整
调什么所有层的参数只调一部分层
什么时候用目标任务和预训练任务差异大,或者数据量充足两个任务较相似,或者数据量有限
好处调得彻底少干扰原有知识、少吃算力
坏处模型一大就在消费级硬件上做不了;输出还可能变得千篇一律,或者灾难性遗忘——学会了新的,把旧的忘了调整幅度有限

「灾难性遗忘」当场解释: 为了学会新任务,模型把原来会的东西忘了—— 微调完发现它在老问题上反而变差,就是这个13。这是微调最常见的翻车方式。

LoRA:局部微调里最流行的那一个

书点名三种局部微调方法(Adapter Tuning、LoRA、P-tuning v2), 并直接说 LoRA 通常效果优于其他几种14。原因它给了三条,核心是第一条:

先给那张数字表格一个正式名字。 走查第 3 步那八个权重摆成一行, 八个词两两之间的分数排成一格一格的 8×8,这种数字表格数学上叫矩阵。 模型里那些可以拧的数,存的就是一张张矩阵——微调要改的,也正是这些矩阵。

再说「低秩」:一张矩阵看着很大,但它真正携带的信息其实很少, 能用两张又瘦又长的小矩阵相乘来近似,这种情况就叫低秩。

LoRA 用低秩矩阵分解来减少要调的参数量: 不动原始模型的参数,而是额外挂上两个小矩阵,去模仿那个大矩阵该有的变化。15

一个 1000×1000 的大矩阵有一百万个数;如果它的变化确实「简单」, 就可以用两个 1000×8 的小矩阵相乘来近似——参数从一百万降到一万六LoRA 赌的就是「微调需要的那点改动足够简单」,而实践证明这个赌基本成立。

它为什么让人喜欢,书说得对:

  • 对芯片和显存——显卡上自带的那块内存,模型得先整个装进去才跑得动——的需求大幅下降, 资源有限也能微调;
  • 不用改模型结构,各种框架都能直接用;
  • 原始参数不动,所以同一个基座可以挂很多套 LoRA,按需切换

补充(不在书里): LoRA 论文的正式名称是《LoRA: Low-Rank Adaptation of Large Language Models》, 第一作者 Edward J. Hu,2021 年 6 月 17 日提交(书里说「2021 年由微软提出」,时间和归属都对)。 论文摘要给的数字很具体:相比用 Adam 全量微调 1750 亿参数的 GPT-3, LoRA 把要训的参数量减少一万倍、显存需求减少三倍,而效果持平或更好。

书里没给这两个数,而它们正是 LoRA 之所以流行的全部理由。

来源:《LoRA: Low-Rank Adaptation of Large Language Models》 https://arxiv.org/abs/2106.09685(查阅于 2026-08-25)

边界:书列的三个挑战

挑战具体是什么
模型太复杂,微调门槛高要深入理解结构才能调对;调不好会性能下降,或者过拟合——把训练材料背得太死,换个没见过的题就不会了16
高质量数据集难拿特定领域尤其难。书举的例子很好:医疗领域要大量医学影像加标注,但隐私和伦理让这些数据极难获取17
微调后的模型有安全风险可能更容易被对抗性攻击——恶意构造输入让模型给出错误输出18

第二条是第 06 章所有行业落地故事的真正瓶颈,不是算法,是数据拿不到。

4. ③ RLHF:让它说人想听的话

先看现象:模型会说话,不代表会说人话

一个只做过预训练的模型,给它一个问题,它会接着往下写—— 可能续写出更多问题,可能扯到别处,可能答得对但语气冷冰冰。

因为它学的目标是「像训练数据」,不是「对用户有用」。

它解决什么问题

RLHF 就是「请人给模型的回答打分,再拿这些分回头去调模型」—— 英文全称 reinforcement learning from human feedback,直译「基于人类反馈的强化学习」。

书的表述:通过引入人类智慧来提升模型,让它更好地理解人类意图,并生成更符合人类偏好的结果19

书还点明这是 ChatGPT 相对于 GPT-3 在训练策略上最重要的变化20——这句话很关键。 它意味着:从 GPT-3 到 ChatGPT,变的不是模型多大,是训练目标换了。

怎么做:三步

书拿 ChatGPT 当例子,拆了三步21:

第一步:准备一个能对话的底子
在 GPT-3.5 上做有监督微调
数据来自用户对话 + 40 名标注师手写的多轮对话
量不大,但质量和多样性极高

第二步:训一个「会打分」的模型
随便挑大量提示词(就是你打给模型的那句话),让第一步的模型对每个提示词生成 4~9 个回答
把回答两两配对,让标注师选哪个更好
用这些偏好数据训出一个奖励模型——
输入一段文本,输出一个数,这个数代表人有多喜欢它

第三步:用奖励模型当目标去调
让模型生成,奖励模型打分,朝高分的方向调
调的时候用的算法叫近端策略优化(英文缩写 PPO)——
它是强化学习里的一种算法,好处是每次只把模型往前推一小步,不容易一下子调崩

图说:第二步是全部的关键——它把「人喜不喜欢」这件说不清的事,变成了一个可以优化的数。

回到那条走查,看这三步落在哪儿。 拿「那只猫为什么没过马路?」当提示词——就是你打给模型的那句话—— 让第一步那个模型生成两个回答: A「因为它太累了。」B「猫是一种哺乳动物,通常有四条腿。」 标注师选 A:B 那句一个字没错,但答非所问, 这就是「在这条提示词上,A 比 B 好」的全部意思。

第二步训出来的奖励模型——输入一段文本、输出一个数的那个打分员—— 学到的就是这个偏好: 它给 A 打 0.7,给 B 打 0.3(这两个数是为演示编的)。 第三步照着 0.7 和 0.3 的这个差,把模型往「多生成 A 那种回答」的方向推一小步。

注意这一步改的是什么: 走查第 3 步里「猫」拿 0.50 那件事,B 一样做到了—— 它读懂了句子,只是答得不像人要的。 RLHF 调的不是它懂不懂,是它愿不愿意这么答。

为什么这么做有效

核心在于它绕开了一个死结。

「回答得好不好」没法写成公式,所以没法直接当训练目标。 但「A 和 B 哪个更好」人能一眼判断。

于是这套方法做了一次转换:

把「写出评分标准」这件做不到的事,换成「大量收集两两比较」这件做得到的事, 再训一个模型把这些比较拟合成一个分数函数。

这一步转换是 RLHF 全部的巧妙之处,书没有点破,但它就在那三步里。

「强化学习」当场解释: 让模型不断和环境交互,做对了给奖励、做错了给惩罚, 它自己调整策略去最大化奖励。书拿 AlphaGo 举了例子,这个类比是恰当的22

书里这一段有一处讲错了

书在第三步写:「ChatGPT 在这一阶段开始应用海量的无标注数据, 这些数据来源于抓取的网页、论坛和百科等」23

这是把预训练和强化学习阶段搞混了。 抓网页、论坛、百科得到的那一大堆无人标注的数据, 用在的是最早的预训练阶段;强化学习这一步喂进去的,是走查里那句 「那只猫为什么没过马路?」——一条提示词,让模型针对它生成回答,再由奖励模型打分。

这一步不需要、也用不上海量网页文本。

补充(不在书里): RLHF 这三步的标准出处是《Training language models to follow instructions with human feedback》, 第一作者 Long Ouyang,2022 年 3 月 4 日提交,即 InstructGPT 论文。 它给的关键结果比书里任何数字都有说服力: 经过这三步的 13 亿参数模型,人类评价上被认为优于 1750 亿参数的原始 GPT-3——参数少了 100 倍。

这是「训练目标比模型大小更重要」最直接的一次证据,书里完全没提。

来源:《Training language models to follow instructions with human feedback》 https://arxiv.org/abs/2203.02155(查阅于 2026-08-25)

边界:书列的两个挑战,以及后来的进展

书给的两个24:

挑战具体是什么
偏好数据又贵又有偏医疗这类专业领域不能靠众包,得雇专业人员;而且标注者本身带偏见;公开数据集也很少
调模型的算法还有改进空间书提到了隐式语言 Q 学习这类新算法,以及「多试新路子」和「多走已知好路」怎么平衡的老问题

补充(不在书里): 书出版之后,这条路上最重要的变化是奖励模型这一步被绕过去了

2023 年 5 月的一篇论文提出了一条更短的路,英文缩写 DPO—— 它把上面那三步里最贵的一步整个拿掉了。

顺手立一个后面反复要用的词:优化——就是照着一个数,一点一点把模型往更好的方向调。 上面第三步「朝高分的方向推一小步」就是在做这件事。 DPO 的全称 direct preference optimization,直译过来正是「直接偏好优化」。

它证明不必单独训一个奖励模型、也不必跑强化学习循环: 用一个简单的分类损失——损失就是「答得离正确答案差多远」的那个差距——就能解同一个问题, 而且更好实现、更好训。

这不是推翻 RLHF,而是把它的三步压成了两步。

来源:《Direct Preference Optimization: Your Language Model is Secretly a Reward Model》 https://arxiv.org/abs/2305.18290(查阅于 2026-08-25)

5. ④ 压缩:让它跑得起来

先看现象:开源模型下下来了,却跑不动

你在网上看到一个几百亿参数的模型开源了,下载下来发现—— 光是装进显存就要好几张专业卡,笔记本、手机想都别想。

这就是压缩要解决的问题:书说得直白,大模型「需要庞大的计算资源和存储空间, 这在很大程度上限制了它们的应用范围」25

三种做法

往下看之前先立一个词:精度就是它答对的比例。 压缩全部的代价都记在这个数上——压得越狠,精度掉得越多, 下面三种做法各自在这条线上取一个位置。

书给了三种,一次认一种:

  • 第一种叫权重剪枝——剪枝就是像修剪树枝一样,把没用的连接剪掉。 做法是评估每个参数有多重要,把影响小的删掉26。 代价:删多了会掉精度;而且「哪些能删」本身只能靠一些「多半管用但不保证对」的经验规则去判断。

  • 第二种叫模型量化——量化就是把每个数存得粗一点。 参数原本用 32 位浮点数存,改成 8 位整数甚至更低27。 代价:会引入信息损失,可能影响精度;所以通常和剪枝配合用。

  • 第三种叫知识蒸馏——蒸馏就是把大模型会的东西「熬」进一个小模型里。 做法是让大模型当老师、小模型当学生,老师给出的不是一个死答案,而是一整份可能性清单, 学生照着这份清单练28。代价:学生的上限受老师限制。

老师给的那份清单有个名字叫软标签,这是蒸馏的关键: 一般的标签是硬的——这张图「是猫」。 软标签是一整份带着百分比的清单——「85% 像猫、10% 像狗、5% 像狐狸」。

后者信息量大得多:它不只告诉学生答案,还告诉学生「这道题有多难、容易和什么混」。 这就是为什么学生模仿老师的输出分布,比直接学原始标签效果更好。

回到那条走查,量化到底动了什么。 「猫」那串数的第一位是 0.31,原来用 32 位存,小数点后能记很多位; 改成 8 位之后,它只能落在一格一格的刻度上,最近的那一格是 0.3125,差了 0.0025

一个数差 0.0025 看着无所谓,但走查第 2 步那个 0.302 是三个数乘加出来的, 这点差会一路跟着累加。 压到什么程度还能保住「猫」的 0.50 压过「马路」的 0.02—— 这就是量化这件事全部的分寸。 (0.3125 是 8 位刻度上真实存在的一格;0.0025 是拿它减 0.31 得来的。)

为什么值得做

书给的收益有三条:存储空间显著缩小、上线之后回答问题更快、 能部署到边缘设备(就是离用户近的那一头的机器:手机、车机、工厂车间里那台设备) 和低功耗环境29

「边缘」说的是位置,不是性能高低。 它相对的另一头, 是远处那间摆着成千上万块芯片的机房——东西放在哪一头,决定了数据要不要出门, 也决定了这门生意怎么卖,第 06、07 两章会反复用到这条分界。

最后一条是重点。 回想第 01 章那条同质化——所有应用都建在同一个基座上; 压缩的意义在于让这个基座能下沉到手机、车机、工业设备里去, 而不是永远待在远处的机房里。

第 06 章工业那一节里,第三波「生产制造」要求模型直接跑在产线设备上—— 这种「跑在离用户最近的那台机器上」的做法叫端侧——靠的就是这一步。

边界:三个挑战

书列了三个30:精度与性能的平衡、计算资源的进一步优化、开发通用压缩框架。

第一条它举的例子很好,值得记住: 自动驾驶靠大模型做环境感知和决策, 压缩这类模型时必须确保精度损失不会影响车辆的安全性能

判断(我们的,不是书里的): 压缩这一节是全书技术部分里最容易被低估的一段。 它看起来只是工程优化,但它决定了大模型的商业形态—— 能压到什么程度,直接决定了「按用量卖 API——就是留一个接口(约定好的调用入口),别人的程序按次来调你的模型——」 和「把模型连同机器一起打包卖给客户」这两条路哪条更划算。 第 07 章那张收入分布表的分子分母,一半是由压缩技术定的。 如果错,会错在: 如果「上线之后回答问题」这件事的成本下降主要来自硬件而不是压缩算法, 那这条因果就该反过来写——是芯片决定商业形态,压缩只是跟随。 判据是:同一个模型在同一代硬件上,压缩带来的成本降幅有多大。

6. ⑤ 安全与隐私:让它别说不该说的

先看现象:模型什么都答,包括不该答的

它会带着偏见回答问题、会把训练数据里的隐私吐出来、会一本正经地编造事实。

书的定性:这些技术是要确保输出「既安全又有用」,同时避免侵犯隐私、传播偏见或被恶意利用31

看表之前,先把几个词立住

最要紧的那个词是对齐——就是让模型说出来的话、做出来的事,合乎人的意图和价值观。 下面四样技术里,只有它直接改模型;另外三样改的是数据和流程。

表里第三行还有两个名字,说的是同一件事——让数据里的个人信息认不出来。先垫一个词: 字段——就是数据表里的一列,「手机号」是一个字段,「住址」是另一个。

弱一点的做法叫脱敏:把敏感字段换掉、遮住或删掉,但数据还能对上是哪一个人。

彻底一点的做法叫匿名化:把数据和人的关联整个切断,再也对不回具体某个人。

最后一个词是语义——就是一句话的意思,相对于它的字面写法。 「他可真行」和「他真行」字面上差不多,语义可能正好相反, 所以只按字面拦是拦不住的。

四类技术

技术解决什么怎么做
与人类对齐行为、决策、输出和人的价值观不一致把价值观和伦理原则融进架构和算法,用约束条件引导,靠人的反馈持续调32
有害内容屏蔽和过滤生成仇恨言论、误导信息、不当言辞关键词匹配、语义分析、情感分析(就是判断一段话是褒是贬、带什么情绪)、图像识别,按预设规则过滤33
脱敏与匿名化训练数据里带着能认出具体某个人的信息脱敏:替换、过滤、加密、遮蔽、删字段;匿名化:泛化、交换、干扰、假名化34
责任和透明度机制出了问题说不清是怎么来的公开架构、参数和训练过程,提供决策可视化,记录和审计35

这两者的差别值得记住,书讲得准: 脱敏只是降低敏感度,数据仍然对得上是哪个人; 匿名化是彻底切断关联,再也对不回去。 后者更彻底,但数据能派上的用场也少得多——这是一笔实打实的交换。

回到那条走查,这一层落在哪一步。 把那句话换成「张三没过马路,因为他太累了」。脱敏要做的是把「张三」这个字段换掉, 变成「某甲没过马路,因为他太累了」——句子结构一个字没变,走查第 3 步那八个权重也几乎不变 (「某甲」照样拿到 0.50),但「张三」这个人不见了。

对齐管的是另一件事: 同样这句话,如果有人接着问「怎么让张三过不去马路」, 对齐要保证它拒答,而不是照着往下接—— 而走查第 6 步已经说了,GPT 那一侧天生就是「给什么都往下接」。 对齐就是在这个天性上加的一道闸。

边界:书列的四类不足

这一段是全书对安全技术最诚实的一次表述,值得整段带走36表里有两个名字得先立住。

第一个叫对齐税——为了让它听话而付出的代价。 「税」是个比方:你要它守规矩,它就得在别的地方交出点东西。

第二个叫智能体——就是「你给个目标,它自己拆任务、自己调工具干完」的那种程序。 第 03 章专讲它,这里只需要知道它不是一问一答那种用法。

不足具体是什么
对齐税模型为了记住人的偏好,可能把之前学到的知识忘掉
奖励坍塌到底有没有一个统一、泛化的奖励模型能衡量好坏?这件事本身存疑;而且拿单一指标(用来给模型打分的那个数,比如答对率)当唯一标准,会让模型专门朝那个数使劲
保护隐私的那几样办法各有各的坑书列了四样办法,四样都不白用——一样一句,见表格下面那一段
评测技术不足风险评测难以覆盖特定场景;智能体的评测缺专门环境;静态评测的测试样本长期不变,数据过时

表里第三行说的是四样办法。 书把它们统称为隐私增强技术—— 就是「既让数据能拿来算、又别把人认出来」的那一类做法的总称。 四样各是什么、坑在哪:

办法就是干什么坑在哪
数据混淆把真数据打乱顺序、或者掺进假记录,让人认不出原始的那一条掺得少了还能被反推回去;掺得多了数据整体走样,反而把偏差放大
加密处理数据从头到尾锁着算,中间一次都不解开锁着算比明着算慢得多,计算成本高
联邦分析数据不出各家的门,各家自己算自己的,只把算出来的中间结果汇总全程要各方在线来回传,依赖稳定网络
数据责任化给每份数据挂上「谁能用、能用来干什么」的规矩,再由系统强制执行规矩得一条条配,配置极其复杂

四类不足里,第二条(奖励坍塌)最深刻,但书只写了一句。 它说的是: RLHF 这套方法的整个前提——「人的偏好能被一个模型准确表示」——从来没有被证明过。 第 08 章第 9 节讲「请第三方来考它」时会再碰到这个前提: 第三方评测要评的正是「这个模型合不合人的偏好」,而这里已经说了,这件事本身存疑。

第四条「静态评测数据过时」,其实说的就是数据污染——考卷混进了训练材料—— 测试题泄漏进了训练集,分数就不作数了。书点到了现象,没点破原因。

7. 作者的判断与证据:哪些有依据,哪些是推测

档次这一章里的例子
有明确依据Transformer 2017 年出自 Google;BERT 只用编码器、GPT 只用解码器;RLHF 三步的具体流程与 40 名标注师;LoRA 由微软 2021 年提出;剪枝/量化/蒸馏的原理
转述他人观点「LoRA 通常效果优于其他几种方法」——这是当时的业界共识,书没给对比实验
作者自己的判断「Transformer 已然成为当今人工智能技术中无可争议的黄金架构」37;「未来主流架构可能会发生重大变化」38——两句话方向相反,前一句是现状描述,后一句是预判

有一处数字明显是转录出错: 书写「Anthropic 公司使用了 1000 万至 520 亿个参数进行训练」21。 这个区间在上下文里说的应该是模型规模从一千三百万到五百二十亿参数不等, 而不是「用了这么多参数训练」——中文表述把参数量说成了训练用量。

遇到这类数字,回到英文原始来源核对,不要直接引用。

8. 边界与局限

这一章没覆盖的东西:

  • 嵌入——就是「把一个词变成一串数」这个动作本身,以及它凭什么让意思相近的词落得也相近。 书讲注意力时只说了「每个词被转化为一个向量」,再没有一个字。 这是理解大模型最关键的一环,书里是空的;
  • 训练本身。 「学」这个动作到底在干什么——把每个数往哪个方向挪一丁点、 凭什么知道该往哪挪——书里一处没讲。 这几步各是什么、各要花多少次运算,第 04 章第 4 节讲;
  • 混合专家结构。 书出版时这已是主流大模型的标配做法(每次只激活一部分参数),全书没有提;
  • 上下文长度怎么扩。 书点出了长序列是 Transformer 的短板,但没讲任何一种扩展办法

已被时间修正或补充的部分:

书里的说法现在怎么看
RLHF 是三步:微调 → 奖励模型 → 强化学习方向没变,但奖励模型这一步可以省掉(直接偏好优化,2023 年 5 月)
微调的两条路:全参数 / 局部参数分类仍然成立,但局部微调已经彻底成为默认,全参数微调只在特定场景用
「高质量数据集难拿」是微调的瓶颈仍然成立,但有了新解法:用高质量的合成数据(机器自己造出来的、统计上像真数据的假数据)代替。2023 年就有工作证明,13 亿参数的小模型用精选的「教科书质量」数据训练,代码能力可以超过大得多的模型

最后那条的依据: 《Textbooks Are All You Need》,微软研究院,2023 年 6 月; phi-1 模型 13 亿参数、8 张 A100 显卡训 4 天, 在 HumanEval(一套公开的编程考卷:给一段题目描述,让模型写出对应的函数, 再拿事先备好的测试用例跑一遍,跑通才算对)上拿到 50.6%——也就是一半的题跑通了。

来源:https://arxiv.org/abs/2306.11644(查阅于 2026-08-25)

9. 可带走的

  1. 五项技术是一条接力,不是一张清单——每一项都在补上一项留下的窟窿;
  2. 循环网络输给 Transformer,输在「不能并行」比输在「记不住远处」更致命——它吃不下算力;
  3. 注意力的本质:一个词的新含义 = 全句每个词按相关程度加权混合—— 走查里「它」这一步,「猫」拿走 0.50、「马路」只拿到 0.02,所以「它」指的是猫;
  4. 两串数比出「相关程度」的最朴素办法是逐位相乘再加起来——书没讲这一步,这是全章最容易卡住的地方;
  5. 远近一视同仁和可以并行是同一个设计带来的两个好处;
  6. BERT 用编码器做完形填空,GPT 用解码器做续写——赢的是后者,因为「预测下一个词」能顺带学会理解;
  7. Transformer 的四个短板:超长序列吃不消、信息冗余、注意力会分错且看不懂、位置编码难;
  8. 微调最常见的翻车方式是灾难性遗忘——学会新的,忘了旧的;
  9. LoRA 赌的是「微调需要的改动足够简单」,所以能用两个小矩阵代替一个大矩阵,参数少一万倍;
  10. RLHF 最巧妙的一步是把「写评分标准」换成「大量两两比较」,再拟合成一个分数;
  11. 13 亿参数经过 RLHF 就能在人类评价上胜过 1750 亿参数的原始模型——训练目标比模型大小更重要;
  12. 知识蒸馏的关键是软标签:它告诉学生的不只是答案,还有「这道题有多难」;
  13. 压缩决定商业形态:能压到什么程度,决定了卖 API 还是卖一体机更划算;
  14. 对齐税和奖励坍塌是这套方法的结构性代价,不是工程没做好;
  15. 书里 RLHF 第三步的数据来源写错了(把预训练的网页数据挪到了强化学习阶段),别照抄。

10. 原文地图

主题原书章原文位置
五项核心技术的总纲2.1 大模型核心技术text/11-ch02-01-2-1.txt:16(搜「支撑其成就的背后是5项核心技术」)
循环网络的两个死结2.1.1 Transformer架构text/11-ch02-01-2-1.txt:33(搜「长距离信息会被弱化」) · text/11-ch02-01-2-1.txt:36(搜「串行处理机制所带来的计算效率低」)
注意力的来历与论文2.1.1text/11-ch02-01-2-1.txt:39(搜「Attention is All You Need」) · text/11-ch02-01-2-1.txt:39(搜「注意力机制概念的提出最早是受到人类视觉的启发」)
注意力为什么有效2.1.1text/11-ch02-01-2-1.txt:42(搜「缓解了长距离信息依赖问题」)
自注意力的两步计算2.1.1text/11-ch02-01-2-1.txt:48(搜「信息预处理,包括词的向量化」) · text/11-ch02-01-2-1.txt:51(搜「相关程度计算」)
多头注意力2.1.1text/11-ch02-01-2-1.txt:54(搜「多头注意力」)
编码器/解码器、带遮盖的自注意力2.1.1text/11-ch02-01-2-1.txt:57(搜「该结构模拟大脑理解自然语言的过程」) · text/11-ch02-01-2-1.txt:60(搜「带遮盖的自注意力」)
BERT 与 GPT 的分家2.1.1text/11-ch02-01-2-1.txt:63(搜「GPT模型仅采用了解码器部分」) · text/11-ch02-01-2-1.txt:66(搜「BERT模型采用了双向Transformer编码器」)
Transformer 的四个短板2.1.1text/11-ch02-01-2-1.txt:81(搜「处理超长序列困难」) · text/11-ch02-01-2-1.txt:87(搜「信息冗余,计算效率降低」) · text/11-ch02-01-2-1.txt:93(搜「注意力分配和可解释性问题」) · text/11-ch02-01-2-1.txt:99(搜「位置信息处理不足」)
微调解决什么、两条理由2.1.2 模型微调text/11-ch02-01-2-1.txt:113(搜「具有一定的通用性和泛化能力」) · text/11-ch02-01-2-1.txt:119(搜「站在巨人肩膀上」) · text/11-ch02-01-2-1.txt:122(搜「适配小数据集任务」)
全参数 vs 局部参数、灾难性遗忘2.1.2text/11-ch02-01-2-1.txt:128(搜「全参数调整」) · text/11-ch02-01-2-1.txt:143(搜「灾难性遗忘」) · text/11-ch02-01-2-1.txt:158(搜「增加额外参数」)
LoRA 的三条特色2.1.2text/11-ch02-01-2-1.txt:167(搜「Adapter Tuning」) · text/11-ch02-01-2-1.txt:170(搜「LoRA通过应用低秩矩阵分解」)
微调的三个挑战2.1.2text/11-ch02-01-2-1.txt:191(搜「预训练模型架构复杂导致微调难度上升」) · text/11-ch02-01-2-1.txt:194(搜「缺乏高质量的数据集供模型微调使用」) · text/11-ch02-01-2-1.txt:197(搜「模型微调存在潜在安全风险」)
RLHF 的定义与三步2.1.3 基于人类反馈的强化学习text/11-ch02-01-2-1.txt:208(搜「基于人类反馈的强化学习(Reinforcement Learning from Human Feedback」) · text/11-ch02-01-2-1.txt:217(搜「40名标注师」) · text/11-ch02-01-2-1.txt:226(搜「两两配对的形式展示这些结果」) · text/11-ch02-01-2-1.txt:235(搜「近端策略优化」)
RLHF 的两个挑战2.1.3text/11-ch02-01-2-1.txt:241(搜「打破RLHF方法性能上限」) · text/11-ch02-01-2-1.txt:244(搜「隐式语言Q学习」)
压缩三法2.1.4 模型压缩技术text/11-ch02-01-2-1.txt:261(搜「权重剪枝」) · text/11-ch02-01-2-1.txt:267(搜「模型量化」) · text/11-ch02-01-2-1.txt:273(搜「知识蒸馏」)
压缩的收益与三个挑战2.1.4text/11-ch02-01-2-1.txt:276(搜「降低模型在边缘设备」) · text/11-ch02-01-2-1.txt:288(搜「模型精度与性能提升的平衡」) · text/11-ch02-01-2-1.txt:294(搜「开发通用压缩框架」)
安全四类技术2.1.5 安全与隐私保护技术text/11-ch02-01-2-1.txt:308(搜「与人类对齐:使大模型的行为」) · text/11-ch02-01-2-1.txt:311(搜「有害内容屏蔽和过滤」) · text/11-ch02-01-2-1.txt:314(搜「数据脱敏和匿名化」) · text/11-ch02-01-2-1.txt:317(搜「责任和透明度机制」)
对齐税、奖励坍塌、评测不足2.1.5text/11-ch02-01-2-1.txt:326(搜「对齐税」) · text/11-ch02-01-2-1.txt:332(搜「隐私增强技术」) · text/11-ch02-01-2-1.txt:344(搜「静态评测的测试样本长时间不变」)

Footnotes

  1. 出处:「2.1 大模型核心技术」第 16 段(text/11-ch02-01-2-1.txt:16,搜「支撑其成就的背后是5项核心技术」)。原文是并列陈述五项;「接力关系」是我们从各节开头句整理出来的读法。

  2. 出处:「2.1.1 Transformer架构」第 33 段(text/11-ch02-01-2-1.txt:33,搜「长距离信息会被弱化」)与第 36 段(text/11-ch02-01-2-1.txt:36,搜「串行处理机制所带来的计算效率低」)。

  3. 出处:「2.1.1」第 39 段(text/11-ch02-01-2-1.txt:39,搜「Attention is All You Need」)。同一段讲了注意力受人类视觉启发这件事(搜「注意力机制概念的提出最早是受到人类视觉的启发」)。 2

  4. 出处:「2.1.1」第 48 段(text/11-ch02-01-2-1.txt:48,搜「信息预处理,包括词的向量化」)与第 51 段(text/11-ch02-01-2-1.txt:51,搜「相关程度计算」)。

  5. 出处:「2.1.1」第 45 段(text/11-ch02-01-2-1.txt:45,搜「自注意力(Self-Attention)机制」)。

  6. 出处:「2.1.1」第 54 段(text/11-ch02-01-2-1.txt:54,搜「多头注意力」)。原文举的正是翻译中指示代词「它」的例子。

  7. 出处:「2.1.1」第 42 段(text/11-ch02-01-2-1.txt:42,搜「缓解了长距离信息依赖问题」)。原文:「任意两个词之间的相互作用不受距离远近的限制」;并行部分见同段(搜「各计算步骤不依赖于前一步骤的结果」)。 2

  8. 出处:「2.1.1」第 57 段(text/11-ch02-01-2-1.txt:57,搜「该结构模拟大脑理解自然语言的过程」)。

  9. 出处:「2.1.1」第 60 段(text/11-ch02-01-2-1.txt:60,搜「带遮盖的自注意力」)。

  10. 出处:「2.1.1」第 81、87、93、99 段(text/11-ch02-01-2-1.txt:81,搜「处理超长序列困难」;text/11-ch02-01-2-1.txt:87,搜「信息冗余,计算效率降低」;text/11-ch02-01-2-1.txt:93,搜「注意力分配和可解释性问题」;text/11-ch02-01-2-1.txt:99,搜「位置信息处理不足」)。

  11. 出处:「2.1.2 模型微调」第 113 段(text/11-ch02-01-2-1.txt:113,搜「具有一定的通用性和泛化能力」)。 2

  12. 出处:「2.1.2」第 119 段(text/11-ch02-01-2-1.txt:119,搜「站在巨人肩膀上」)与第 122 段(text/11-ch02-01-2-1.txt:122,搜「适配小数据集任务」)。「冻结基础模型的初始层数」这个做法也在第 122 段。

  13. 出处:「2.1.2」第 143 段(text/11-ch02-01-2-1.txt:143,搜「灾难性遗忘」)。书还提到 P-tuning v2「容易导致旧知识遗忘」(第 167 段)。

  14. 出处:「2.1.2」第 167 段(text/11-ch02-01-2-1.txt:167,搜「Adapter Tuning」)。书列的三种方法与时间是:2019 年 Houlsby N 等人的 Adapter Tuning、2021 年微软的 LoRA、2022 年清华的 P-tuning v2。

  15. 出处:「2.1.2」第 170 段(text/11-ch02-01-2-1.txt:170,搜「LoRA通过应用低秩矩阵分解」)。

  16. 出处:「2.1.2」第 191 段(text/11-ch02-01-2-1.txt:191,搜「预训练模型架构复杂导致微调难度上升」)。

  17. 出处:「2.1.2」第 194 段(text/11-ch02-01-2-1.txt:194,搜「缺乏高质量的数据集供模型微调使用」)。

  18. 出处:「2.1.2」第 197 段(text/11-ch02-01-2-1.txt:197,搜「模型微调存在潜在安全风险」)。

  19. 出处:「2.1.3 基于人类反馈的强化学习」第 208 段(text/11-ch02-01-2-1.txt:208,搜「基于人类反馈的强化学习(Reinforcement Learning from Human Feedback」)。

  20. 出处:「2.1.3」第 211 段(text/11-ch02-01-2-1.txt:211,搜「这是相较于GPT-3在训练策略上的最重要变化」)。

  21. 出处:「2.1.3」第 217 段(text/11-ch02-01-2-1.txt:217,搜「40名标注师」)、第 226 段(text/11-ch02-01-2-1.txt:226,搜「两两配对的形式展示这些结果」)、第 235 段(text/11-ch02-01-2-1.txt:235,搜「近端策略优化」)。那处 Anthropic 的数字也在第 217 段(搜「1000万至520亿个参数」)。 2

  22. 出处:「2.1.3」第 211 段(text/11-ch02-01-2-1.txt:211,搜「AlphaGo的背后原理」)。注意这里用 AlphaGo 讲强化学习是恰当的,和第 01 章那处把 AlphaGo 说成 BERT 落地项目的错误无关。

  23. 出处:「2.1.3」第 235 段(text/11-ch02-01-2-1.txt:235,搜「ChatGPT在这一阶段开始应用海量的无标注数据」)。

  24. 出处:「2.1.3」第 241 段(text/11-ch02-01-2-1.txt:241,搜「打破RLHF方法性能上限」)与第 244 段(text/11-ch02-01-2-1.txt:244,搜「隐式语言Q学习」)。

  25. 出处:「2.1.4 模型压缩技术」第 255 段(text/11-ch02-01-2-1.txt:255,搜「需要庞大的计算资源和存储空间」)。

  26. 出处:「2.1.4」第 261 段(text/11-ch02-01-2-1.txt:261,搜「权重剪枝」)。

  27. 出处:「2.1.4」第 267 段(text/11-ch02-01-2-1.txt:267,搜「模型量化」)。

  28. 出处:「2.1.4」第 273 段(text/11-ch02-01-2-1.txt:273,搜「知识蒸馏」)。「软标签」这个词是书里用的;它是概率分布这一点,书用括号注了。

  29. 出处:「2.1.4」第 276 段(text/11-ch02-01-2-1.txt:276,搜「降低模型在边缘设备」)。书里管这件事叫「推理」(推理阶段、推理速度),就是本文说的「上线之后回答问题」——书还在另一处用同一个词指「一步步想出结论」那个意思,本拆解为免混淆,正文一律说「上线之后回答问题」,只在引原文时保留「推理」两个字。

  30. 出处:「2.1.4」第 288 段(text/11-ch02-01-2-1.txt:288,搜「模型精度与性能提升的平衡」)、第 291 段(text/11-ch02-01-2-1.txt:291,搜「进一步优化计算资源」)、第 294 段(text/11-ch02-01-2-1.txt:294,搜「开发通用压缩框架」)。自动驾驶那个例子在第 288 段。

  31. 出处:「2.1.5 安全与隐私保护技术」第 305 段(text/11-ch02-01-2-1.txt:305,搜「确保模型的输出既安全又有用」)。

  32. 出处:「2.1.5」第 308 段(text/11-ch02-01-2-1.txt:308,搜「与人类对齐:使大模型的行为」)。

  33. 出处:「2.1.5」第 311 段(text/11-ch02-01-2-1.txt:311,搜「有害内容屏蔽和过滤」)。

  34. 出处:「2.1.5」第 314 段(text/11-ch02-01-2-1.txt:314,搜「数据脱敏和匿名化」)。

  35. 出处:「2.1.5」第 317 段(text/11-ch02-01-2-1.txt:317,搜「责任和透明度机制」)。

  36. 出处:「2.1.5」第 326 段(text/11-ch02-01-2-1.txt:326,搜「对齐税」)、第 332 段(text/11-ch02-01-2-1.txt:332,搜「隐私增强技术」)、第 338 段(text/11-ch02-01-2-1.txt:338,搜「数据清洗可能会丢失有用信息」)、第 344 段(text/11-ch02-01-2-1.txt:344,搜「静态评测的测试样本长时间不变」)。

  37. 出处:「2.1.1」第 27 段(text/11-ch02-01-2-1.txt:27,搜「无可争议的黄金架构」)。

  38. 出处:「2.1.1」第 75 段(text/11-ch02-01-2-1.txt:75,搜「未来主流架构可能会发生重大变化」)。这句话为第 03 章讲的那批非 Transformer 架构埋了伏笔。