跳到主要内容

文本模型这块地基 — 标记、坐标、注意力、下一个词

这一章讲三件事: 你打的字进去之后,机器到底经历了哪几道工序; 为什么「提示里每个词都在影响输出」这件事是由结构决定的; 以及这台机器有多贵——规模数字背后那条硬件军备赛。 它在全书的位置:第 01 章给了你五条「怎么做」的原则,这一章回答「为什么这些做法有效」。

1. 这一章讲什么

第 01 章的五原则全是经验法则:给方向、定格式、给例子……但你可能注意到,书里从没解释过为什么换个说法、加几个例子,输出就会变。

答案藏在这台机器的内部构造里。原书第 2 章把大语言模型拆成了四层来讲:它怎么切词、怎么把词变成数、怎么让词与词互相参照、怎么一个数一个数地算出答案。这一章照这条线走,配一条主走查:一句「The cat sat on the mat」(猫坐在垫子上),从进去到吐出下一个词,每一步旁边都写出具体的数和字串。

2. 顶层全景:四道工序,一条流水线

你输入:「The cat sat on the mat」

① 切分:变成一个个标记 The / cat / sat / on / the / mat
② 向量化:每个标记变一串数 cat → [0.21, -0.83, …, 0.05]
③ 互相打量:每个词看所有词 「sat」多分一些注意给「cat」
④ 算清单:下一个标记的可能性 . → 31% , → 12% and → 9% …

挑一个,接上去,整条流水线从头再跑一遍

图说:四道工序,每吐一个标记就完整跑一遍。
**串数与百分比是为演示编的,不是真实数值。**

第 01 章已经给过结论:它每次只在回答「下一个该是什么」。这一章是把这句话拆成四道工序。下面四节,一节一道。

3. 核心原理

3.1 第一道工序:切词——机器眼里没有「词」,只有标记

第 01 章说过,模型处理文字的最小单位是标记(token),它可能是一个完整的词,也可能只是词的一截1。这一节把「怎么切」讲清楚,因为提示计费、上下文长度、乃至「为什么它数数不行」,全都卡在这一步上。

先给量感:英文里 100 个标记大约相当于 75 个词2。所以书里反复出现的换算「400 万标记 ≈ 80 万词」就是这么来的;而「提示计费、它能看多长」这类账,全是按标记算的。

那标记是怎么切出来的?最常用的一套切法叫 BPE(byte-pair encoding;字节,即计算机存文字的最小单位,一个英文字母就是一个字节——这套切法把老黏在一起的字节对并成一个)。它的思路朴素:一开始把文本看成一个个单独的字符,然后不断把「老是黏在一起出现」的相邻片段合并成更大的片段。拿 apple 这个词演示:BPE 起初看到的是 a、p、p、l、e 五个字符;发现 p 经常跟在 a 后面、l 又经常跟在 p 后面,就合并出 appl 这样的片段,以后 apple 再出现,可能两个标记就装下了3

这个切法解释了一个你可能见过的现象:模型对常见词很熟,对生僻词也能处理。 因为生僻词不需要事先存在它的词表——词表(vocabulary)就是它认识的全部标记的清单——里;拆成片段就行。反过来,它对「几个字母」这类问题的笨拙也来自这里:它看到的是标记,不是字母4

3.2 第二道工序:词变成数——嵌入让意思变成距离

机器只会算数,所以每个标记要变成一串数才能往下走。这一串数叫向量(vector)——就是有顺序的一列数,你可以把它想成一张巨大地图上的一个坐标5

关键不在「变成数」,而在怎么变:这套编法保证意思相近的词,坐标也相近。书里给的例子:virtue(美德)和 moral(道德)、walked 和 walking,在这张地图上都挨得很近6

这种编法有个专门的名字:嵌入(embedding),就是把词「嵌」进一张坐标地图里——词与词意思上的远近,从此变成了地图上距离的远近7

回到主走查。走完第二道工序,「The cat sat on the mat」不再是六个词,而是六个坐标:

the → [-0.02, 0.91, …] (288 个数)
cat → [ 0.21, -0.83, …] (同样长的一串)
sat → [ 0.65, 0.11, …]


图说:每个词此刻是一串固定长度的数。**这些数是为演示编的**;
真实的嵌入有几千个数,第 09 章讲向量数据库时会拿到真数(1536 个)。

这一步是全书的枢纽之一。 后面第 09 章的整套「按意思搜索」的技术,地基就打在这里:既然意思是距离,那「找意思相近的文本」就变成了「找坐标相近的点」。

3.3 第三道工序:互相打量——注意力让词知道上下文

现在每个词有了一串数,但这串数还是「脱离语境的」:bank 在 riverbank(河岸)和 financial bank(银行)里是同一串数。第三道工序要解决的正是这个。

这道工序依赖的结构叫 Transformer,2017 年由 Google 团队在论文《Attention Is All You Need》里提出——这篇论文是整个大模型时代的起点8。书里用一句话讲清了它的突破:在那之前,模型处理文字是一个词一个词按顺序读过去的,前后的关联要穿过整个模型才能互相影响;Transformer 的做法是让句子里的每个词直接看所有其他词,不管隔多远9

这个「互相看」的机制叫自注意力(self-attention)。书里的比方很准:每个词都在给其他词投票,投的是「你对我理解自己的意思有多重要」10。回到主走查,处理到 sat(坐)这个词时:

sat 眼中的其他词(每个词的得票,为演示编的):
the → 0.02 几乎不看
cat → 0.61 主要看它:谁坐?猫
on → 0.18 次要:坐在哪?→ 后面该接「在…上」
mat → 0.15
the → 0.04

图说:sat 把其他词的数按得票掺进自己这份里。掺完之后,
sat 的新表示里就带着「是猫在垫子上坐」这层上下文了。

所以「它读没读懂这句话」,在机器里对应的是一件很具体的事:每个词的那串数,被其他词的数按相关性加权改造过一遍。「prompt 里每个词都在影响输出」——五原则背后那条总的物理直觉——说的就是:你写进提示的每个词,都会参与这场互相打量。

3.4 一个结构事实:有「只读」的,也有「只写」的

Transformer 不是一个东西而是一族。书里只点了最重要的一组对立:编码器(encoder)类的模型只负责把输入读成带上下文的表示——输出不再是一段话,而是每个词被改造后的那串数,适合做「理解」类任务,比如分类、按意思查找。

与之相对的是解码器(decoder)类:在给定前文之后,一个标记一个标记地往外写,适合做「生成」。这本书全程打交道的是后者。

编码器路线的代表是 Google 的 BERT——2018 年发布的理解类模型,曾长期主导搜索、分类这类活;解码器路线的代表就是 GPT。原书用一张结构图对比了两者11

GPT 这个名字本身就是一张简历:generative(生成的)、pretrained(预训练的)、transformer——三个词分别对应「它是干什么的」「它怎么训出来的」「它是什么结构」12

3.5 第四道工序:算清单——每个下一个词都有一个数

前三道工序跑完,模型手里有了对整段文字的理解。第四步是产出:为「下一个标记」算一张清单,每个候选标一个数——这个数就是它接下来出现的概率,即可能性有多大。

书里的写法是从里面挑概率最大的那个(数学上这种「取最大值」的操作叫 argmax);第 01 章补了另一半:实际使用时常常故意不挑最大的,由温度控制随机的程度13。两半合起来才是完整图景:

清单(为演示编的): . → 31% , → 12% and → 9% quietly → 4% …
温度 0 :每次都挑「.」——句号收尾
温度调高 :and、quietly 这类次选也开始被挑中,句子续下去了

图说:清单由模型结构决定,温度只改挑法。

挑出「.」之后,把它接到原文末尾,整条流水线从头再跑一遍——算下一个标记。你看到的「字一个个往外蹦」,就是这个循环的外在表现。

3.6 它是怎么学会的:预训练与微调

四道工序是「用」的时候的样子。那这台机器是怎么来的?书里给了两个阶段14:

  • 预训练(pretraining):拿海量文本——从几 TB 到几 PB 的互联网内容、论文、书籍——让它反复做「猜下一个词」的练习,把内部参数调对。这一步产出的是一个见多识广但不懂规矩的底座;
  • 微调(fine-tuning):在预训练的基础上,拿特定任务的数据继续调整,让它学会「按指令办事」「像客服一样答话」这类具体行为。

这两个词都值得记住,因为它们是本书反复出现的分水岭:第 01 章说的「例子攒到几千个时微调胜过提示」,说的就是第二阶段;第 03 章讲开源模型时,还会讲到让微调便宜到消费级显卡也能做的两类技术。

3.7 规模账单:参数、钱和显卡

书里给了三个数,值得带上参照物一起记15:

参照物
GPT-4 估算 1.7 万亿个参数(模型内部那些可调的数)作者换算:相当于一张铺开来覆盖三万个足球场的 Excel 表
GPT-4 训练成本估算约 6300 万美元大致是一架中型客机的报价(参照物不在书里,来自通用知识)
GPT-4 的训练数据大约能装满 650 公里的书架一座中型图书馆的藏书大约占几公里书架(参照物不在书里,来自通用知识)

参数这个词第 01 章提过,这里钉死:参数(parameter)就是模型内部在训练中被反复调整的那些数;它的另一个常用名字叫权重(weight),两个词指同一批数,模型「学会的东西」全部存在里面16

这种「一层层简单零件叠起来、层与层之间全靠这批可调的数连接」的机器,正式名字叫神经网络(neural network)——名字借自人脑神经元的连接方式,但内部只是大批数的乘加16

这么大的账催生了一条硬件军备赛:训练和运行这类模型需要大量 GPU(图形处理器——一种为「同时算几千个同类乘法」而生的芯片,恰好对口模型内部几千亿个数一起算的需求)。书里点名了 NVIDIA 的 H100(专为大模型运算造的 GPU)和 Google 自研的 TPU,并指出顶级 GPU 供不应求、价格一路走高17。这条线索对我们有一个直接含义:模型服务按标记计费不是苛捐,是成本结构——每一次调用,背后都是成群的这类芯片在运转。

4. 作者的判断与证据

这一章的立场性内容主要是两处,都标出来:

第一,书里引用了 AI 教育家吴恩达(Andrew Ng)的说法:早期自然语言处理(NLP——让计算机处理人类语言的那个研究领域)研究——包括 Transformer 的基础工作——的重要资金来源是美国军事情报机构18

他们当时想要的是机器翻译和语音识别(把说的话转成文字)这类工具。这是一段「时代背景」性质的陈述,书里只给了吴恩达这个来源,我们没有独立核到更原始的出处,引用时建议保留「吴恩达说」的限定。

第二,关于 GPT-4 的三个规模数字(1.7 万亿参数、6300 万美元、650 公里书架),书里用的都是估算口径(「estimated」),OpenAI 官方从未公布过 GPT-4 到底有多少参数19写进你自己的文档时,不要当官方数字引。

机制部分(BPE、嵌入、自注意力、预训练/微调两阶段)是行业共识层的内容,与这个领域的教科书口径一致,书里讲得浅但没有错。

判断(我们的,不是书里的): 这一章对提示工程实践者真正有用的,不是四道工序本身,而是它解释了三条经验法则的物理基础——「每个词都在影响输出」(注意力)、「格式会漂移,因为输出是带随机地挑出来的」(概率清单)、「提示越长越贵越慢」(每个标记都要全套工序跑一遍)。以后遇到任何一条提示技巧,先问它落在哪道工序上,落不上的多半是玄学。 如果错,会错在: 如果新一代模型改了基本结构(比如不再逐标记生成),这个归因框架就失效——但本书写成至今,主流大语言模型仍是这套结构。

5. 边界与局限

  • 这一章是科普深度,不是实现深度。 书里没讲注意力具体怎么算、嵌入具体怎么训——它的目标是让「做提示的人」建立直觉,不是让「造模型的人」上手。要更深的地基,我们书架上《这就是 ChatGPT》的拆解(第 03、04 章)补得更细;
  • BERT 编码器路线在书中一笔带过。 全书用的都是解码器类(负责往外写)的模型,理解类模型(BERT 家族)只在第 09 章讲嵌入时再次出现;
  • 数字全部是 2024 年中的快照。 GPU 供需、训练成本都在快速变动,引用时务必带年份;
  • 书里有一处值得照实写的坦白(写在第 5 章):这些由数据学出来的内部模式,「常常没有人读得懂的解释」——模型内部那几千个数各自管什么,人类并不知道20

6. 可带走的

  1. 四道工序:切标记 → 变成数 → 互相打量 → 算清单;每个标记都要全套跑一遍;
  2. 100 个标记 ≈ 75 个英文单词——估成本、估上下文长度都靠这个换算;
  3. BPE 按「老黏在一起就合并」切词,所以模型懂片段、不懂字母;
  4. 嵌入把意思变成了距离——这是第 09 章那套「按意思找文本」技术的地基;
  5. 注意力 = 每个词给其他词投票;「提示里每个词都在影响输出」的物理基础就是它;
  6. 写提示时记住:生成是带随机地从清单里挑——这就是格式会漂移、同一问题两次答案不同的结构原因;
  7. 预训练出底座、微调出规矩;例子攒到几千个,该考虑微调而不是继续堆提示;
  8. 参数个数、训练成本这类数字,书里的都是估算值,引用带年份;
  9. 模型按标记计费是成本结构,不是苛捐——提示工程师的工作就是让每个标记都算数。

7. 原文地图

主题原书章原文位置
标记与 100 标记≈75 词Ch.2 文本模型导论text/05-fm-what-are-text-generation-models.txt:11(搜「75 words」)
BPE 与 apple 切分Ch.2 文本模型导论text/05-fm-what-are-text-generation-models.txt:13(搜「Byte-Pair Encoding」) · text/05-fm-what-are-text-generation-models.txt:15(搜「appl」)
向量与嵌入、语义邻近Ch.2 文本模型导论text/05-fm-what-are-text-generation-models.txt:25(搜「multi-dimensional arrays」) · text/05-fm-what-are-text-generation-models.txt:45(搜「virtue」)
Transformer 与自注意力Ch.2 文本模型导论text/05-fm-what-are-text-generation-models.txt:71(搜「casting votes」)
编码器与解码器Ch.2 文本模型导论text/05-fm-what-are-text-generation-models.txt:53(搜「encoder」)
argmax 概率生成Ch.2 文本模型导论text/05-fm-what-are-text-generation-models.txt:75(搜「likelihood」)
Attention 论文与历史Ch.2 文本模型导论text/05-fm-what-are-text-generation-models.txt:103(搜「Attention Is All You Need」) · text/05-fm-what-are-text-generation-models.txt:105(搜「directly relate distant words」)
吴恩达谈军方资助Ch.2 文本模型导论text/05-fm-what-are-text-generation-models.txt:109(搜「military intelligence」)
预训练与微调Ch.2 文本模型导论text/05-fm-what-are-text-generation-models.txt:21(搜「fine-tuning phase」)
GPT-4 规模账单Ch.2 文本模型导论text/05-fm-what-are-text-generation-models.txt:113(搜「soccer fields」)
GPU 军备赛Ch.2 文本模型导论text/05-fm-what-are-text-generation-models.txt:117(搜「NVIDIA」) · text/05-fm-what-are-text-generation-models.txt:119(搜「H100」)
特征不可解释Ch.5 向量数据库text/37-ch05-chapter-5-vector-databases-with-faiss-and-pineco.txt:20(搜「hard for humans to interpret」)

Footnotes

  1. 出处:「Ch.2 文本模型导论」第 11 段(text/05-fm-what-are-text-generation-models.txt:11,搜「fundamental linguistic unit」)。

  2. 出处:「Ch.2 文本模型导论」第 11 段(text/05-fm-what-are-text-generation-models.txt:11,搜「75 words」)。原文:「a text of 100 tokens roughly equates to about 75 words」。

  3. 出处:「Ch.2 文本模型导论」第 15 段(text/05-fm-what-are-text-generation-models.txt:15,搜「appl」)。书里还提到 WordPiece、SentencePiece 两种切法,思路相近,不展开。

  4. 出处:「Ch.2 文本模型导论」第 17 段(text/05-fm-what-are-text-generation-models.txt:17,搜「adaptable and versatile」)。「它数数不行」是第 01 章排列组合提示一节的观察(模型连图里有几个人都数不对)。

  5. 出处:「Ch.2 文本模型导论」第 25 段(text/05-fm-what-are-text-generation-models.txt:25,搜「multi-dimensional arrays」)。

  6. 出处:「Ch.2 文本模型导论」第 45 段(text/05-fm-what-are-text-generation-models.txt:45,搜「virtue」)。

  7. 出处:「Ch.2 文本模型导论」第 41 段(text/05-fm-what-are-text-generation-models.txt:41,搜「word embeddings」)。「高维空间」就是坐标有很多个分量的空间——第 09 章会给实数:OpenAI 的嵌入模型给每个词编 1536 个数。

  8. 出处:「Ch.2 文本模型导论」第 103 段(text/05-fm-what-are-text-generation-models.txt:103,搜「Attention Is All You Need」)。补充(不在书里,来自通用知识):该论文 2017 年发表,作者来自 Google Brain 与 Google Research;书里只说「Google Brain 团队」。

  9. 出处:「Ch.2 文本模型导论」第 105 段(text/05-fm-what-are-text-generation-models.txt:105,搜「directly relate distant words」)。

  10. 出处:「Ch.2 文本模型导论」第 71 段(text/05-fm-what-are-text-generation-models.txt:71,搜「casting votes」)。

  11. 出处:「Ch.2 文本模型导论」第 53 段(text/05-fm-what-are-text-generation-models.txt:53,搜「encoder」)。原书用图 2-2 对比 BERT 与 GPT 的结构。

  12. 出处:「Ch.2 文本模型导论」第 103 段(text/05-fm-what-are-text-generation-models.txt:103,搜「generative pretrained transformer」)。

  13. 出处:「Ch.2 文本模型导论」第 75 段(text/05-fm-what-are-text-generation-models.txt:75,搜「likelihood」)。原书公式写的是 argmax;温度的作用见第 01 章脚注 8。

  14. 出处:「Ch.2 文本模型导论」第 21 段(text/05-fm-what-are-text-generation-models.txt:21,搜「fine-tuning phase」)与第 111 段(text/05-fm-what-are-text-generation-models.txt:111,搜「terabytes to petabytes」)。

  15. 出处:「Ch.2 文本模型导论」第 113 段(text/05-fm-what-are-text-generation-models.txt:113,搜「soccer fields」)。

  16. 出处:「Ch.2 文本模型导论」第 113 段(text/05-fm-what-are-text-generation-models.txt:113,搜「weights and biases」)。原文:「Parameters in the context of neural networks are the weights and biases adjusted throughout the training process」。 2

  17. 出处:「Ch.2 文本模型导论」第 117 段(text/05-fm-what-are-text-generation-models.txt:117,搜「NVIDIA」)与第 119 段(text/05-fm-what-are-text-generation-models.txt:119,搜「H100」)。书里还提到张量(tensor):机器学习里的多维数组,GPU 上的基本运算对象。

  18. 出处:「Ch.2 文本模型导论」第 109 段(text/05-fm-what-are-text-generation-models.txt:109,搜「military intelligence」)。

  19. 出处:「Ch.2 文本模型导论」第 113 段(text/05-fm-what-are-text-generation-models.txt:113,搜「estimated」)。原文用词:boasts an estimated 1.7 trillion parameters。

  20. 出处:「Ch.5 向量数据库」第 20 段(text/37-ch05-chapter-5-vector-databases-with-faiss-and-pineco.txt:20,搜「hard for humans to interpret」)。原文:「Often there is no human-understandable explanation of what a feature means」。