你给它一句话,它一个字一个字地往外吐。

看起来像“理解”,其实整件事比想象中朴素得多:大模型从头到尾只做一件事——预测下一个字。

想透这件事,后面所有名词——注意力、参数、推理、温度——都只是它的技术细节。这篇文章不写代码、不推公式,只把这台“只做一件事”的机器完整过一遍。先把地图铺开,往后的文章再一格一格往里走。

第一步:把文字变成数字

模型不认识字。你输入的文字,先要被翻译成一串整数。

这个过程叫分词:把一句话切成若干“碎块”(token),每个碎块在词表里有一个编号。“今天天气不错”可能被切成 今天 / 天气 / 不错,对应三个数字。

这里没有魔法,纯粹是查字典。但怎么切、词表里有什么,本身就是一门学问——下一篇会用整篇文章讲分词器。

第二步:数字穿过一整个网络

一串数字进去,先变成一串“向量”(一组小数),然后穿过十几到上百层网络。

每一层都在做同一类事情:让每个字把上下文里其他字的信息“看”一遍,然后更新自己。看谁、看多少,不是人规定的,是训练时自己学出来的。

可以把每一层想象成一个加工车间:

关键在于深度。一层只能建立短距离关系;堆叠起来之后,模型才能处理“整篇论证依赖第三段的限定条件”这种远距离依赖。

第三步:从几万种可能里挑一个

网络最后一层输出的,是下一个字在词表里每个候选上的分数。

词表可能有几万到十几万个 token,模型给每个候选打分:接这个字,合不合适?输入“床前明月”时,“光”的分数会远远高于“灯”。

然后按分数挑一个出来——这就是“生成”的全部含义:不是冥思苦想,是开一票。

怎么“挑”大有讲究:

第四步:把吐出来的字喂回去

挑出的字接到输入末尾,整段重新过一遍网络,再挑下一个。

一步、两步、一万步,同一个网络反复运行。“生成一篇文章”并不深奥——就是把这个流程循环几千遍。

这也解释了两个现象:

为什么会有“理解”的错觉

你可能会问:只会预测下一个字,它凭什么能翻译、写代码、做数学题?

这里有个反直觉的事实:在足够长的文本里,要准确预测下一个字,你就必须“懂”很多东西。

试着预测“3.14159”后面跟什么——数学。预测 for i in range(10): 后面那一行——编程。预测侦探小说的下一句——人物关系与伏笔。每一次精准的预测背后,都压着一块对应领域的知识。

所以“预测下一个字”不是低级目标,而是一个逼着模型学会一切的目标。规模上去之后,“顺便学会”的能力反而成了主角——这就是常说的“涌现”。

这张地图的下一站

这个系列会沿这条路一格一格往下钻:分词器 → 词嵌入 → 位置编码 → 自注意力 → ……直到一个能真正跑起来的最小模型。

不跳步,不堆名词。每一篇只干一件事:把上一个黑盒拧开。