AI 是怎么学会说话的 书架

第 04 章 / 共 10 章

第四章 · 就猜下一个词

一个朴素到可疑的任务

前面两章,我们把文字切成了 token,又给每个 token 发了一个带意思的「住址」。现在,主角登场。大语言模型干的全部工作,说出来你可能不信——

给定前面一段话,猜下一个 token 是什么。就这一件事。

不是「理解问题」,不是「组织回答」,不是「思考人生」。就是猜下一个词。你跟 ChatGPT 聊了一下午,它写的每一首诗、改的每一行代码、讲的每一个道理,拆到底层,全是一次又一次「猜下一个词」串起来的:猜一个,接上去,再猜下一个,再接上去,直到说完。

这听起来像个脑筋急转弯:这么简单的事,怎么可能撑起那么聪明的表现?这正是本章要掰扯清楚的。答案是:「猜下一个词」这件事,难到离谱。

想猜得准,你得懂整个世界

我们来玩这个游戏。给你前半句,你猜后半句:

「今天下雨,出门记得带——」

简单,「伞」。你甚至不用动脑子。但再看这个:

「《红楼梦》的作者是——」

要接「曹雪芹」,你光懂语法没用,你得知道事实。再看:

「小明把果汁倒进空杯子,杯子满了;他又拿起瓶子,发现里面是空的,因为果汁已经被倒进了——」

要接「杯子」,你得在脑内跟踪「果汁在哪儿」这件事的物理变化。再看:

「def quicksort(arr): if len(arr) <= 1: return arr; pivot = arr[0]; rest = arr[1:]; return quicksort([x for x in rest if x < pivot]) + [pivot] + ——」

要接下去,你得懂 Python、懂递归、懂快排的算法逻辑。

看出来了吗?「猜下一个词」是个无底洞:想把各种文本里的下一个词都猜准,语法、常识、事实、逻辑、代码、人心,你全都得会。一个能把猜词游戏玩到满分的考生,实际上就是把这个世界的规律压缩进了自己的脑子里。这就是大语言模型的核心洞见——

大白话:教机器「理解世界」这件事没法直接教,但「猜下一个词」是个可以打分、可以海量出题的考试。而把这场考试考好所需要学会的东西,恰好约等于理解世界。考试是手段,压缩世界知识是结果。

它不猜一个死答案,它给一堆候选打分

再具体一层。机器猜词的时候,不是拍脑袋蹦出一个字,而是给词表里每一个 token 算一个「可能性」:接「伞」的可能 70%,接「雨衣」的 15%,接「防晒霜」的 0.001%……加起来正好 100%。这种「给所有候选各打一个分、分数加起来是 1」的东西叫概率分布——大白话说,就是一张「接下来最可能是什么」的排行榜,榜上每个候选都标着把握有多大

然后它从排行榜靠前的候选里挑一个接上去,把新接的这个也算作「已有的话」,再算一轮排行榜,再挑一个……一个词一个词地滚下去,一篇文章就滚出来了。

这里藏着一个重要的细节:因为每次是从高分候选里「挑」而不是永远只取第一名,所以同一个问题,它每次的回答可以不一样。这也解释了 AI 身上那股「像人」的灵气——它不是一台查表机,它每走一步都在一个带随机性的排行榜上做选择。Temperature(温度)这个参数调的就是这件事:温度低,永远选第一名,回答稳但死板;温度高,敢选排名靠后的,回答活但容易跑偏。

那台「打分机」长什么样

所以整个问题的关键,都收敛到一件事上:那台「给词表每个词打分」的机器,内部是怎么构造的?

它的名字叫神经网络——别怕这个词,大白话版本是:一个由几十亿个「旋钮」组成的巨型打分器。前面那段话的每个 token 的坐标进去,经过一层又一层的内部计算(每层本质上就是对坐标做大量的乘法和加法,旋钮的位置决定乘多少加多少),最后吐出那张排行榜。

这几十亿个旋钮,就是整本书第一章说的「机器自己拧出来的规则」。拧到位之后,语法知识、事实知识、逻辑知识,全都被压缩存储在这些旋钮的数值里——不是存成一条条能读出来的文字,而是存成一种「混在一起、直接影响打分结果」的形态。这就是为什么没人能直接打开模型指着某个旋钮说「这就是它知道曹雪芹的那一位」:知识是弥散在整个网络里的。

但这个打分器有个难关要过。看这句话:

「小狗追着球跑进了花园,它浑身都湿透了,因为外面正在下雨。」

读到「它」的时候,机器得知道「它」指的是小狗而不是花园;读到「湿透了」的时候,得联系到几十个词之前的「下雨」。早期的方法逐字往前读、读到后面忘了前面,就像一个人读书从不回头翻页。解决这个问题的那把钥匙,叫「注意力」——它是整个现代 AI 的引爆点。下一章专门讲它。

AI 是怎么学会说话的 · 百姓AI
费曼式写法 · 由多个 AI 代理撰写与互相审校