它只会做一件事:看前面的字,猜下一个字。你说的"请回答我",它只是猜"答"之后该写什么,恰好写对了。


一个容易被忽略的事实

你打开 ChatGPT,输入"中国的首都是什么?",它回复"中国的首都是北京。"

你以为它在回答问题。但它没有。

它对"回答"这个概念一无所知。它不知道你是人类,不知道自己在被提问,不知道自己输出了什么内容。

它只做了一件事:给定前面所有的文字,预测最可能接在后面的 Token 是哪个。

"中国的首都是什么?"→ 最可能的后续是"北京"。

就这么简单。没有理解,没有推理,没有意识。只有概率。


自回归:一个字一个字往外蹦

这个过程有一个学名叫"自回归"。原理非常简单。

输入:"中国的首都是" 模型预测:下一个字是"北"。

现在文本变成了:"中国的首都是北" 模型预测:下一个字是"京"。

现在文本变成了:"中国的首都是北京" 模型预测:下一个字是"。"(句号)。

每一次预测,模型都把刚生成的字接到末尾,当作下一次预测的输入。 这就是"自回归"——用自己的输出给自己当输入。

这里有一个值得停下来想的问题:如果每一次预测都是独立的,模型怎么保证"北京"的两个字是连贯的?

答案:因为"北"被接进去之后,模型在预测下一个字时,已经看到了"中国的首都是北"。在它的训练数据里,"北"后面最常跟的就是"京"。连贯性不是被规划出来的,是被统计出来的。


为什么"猜下一个字"能回答问题?

这是核心谜题。

用"猜下一个字"回答"中国的首都是什么",答案"北京"恰好正确。这不是魔法。是训练数据的统计性质。

GPT 在训练时读过互联网上几乎所有的公开文本。在这些文本中,"中国的首都是"后面跟着"北京"的次数是最多的。模型不需要知道"首都"是什么意思,不需要知道中国在哪——它只需要记住:在几万亿字的文本里,这个词序列之后最常出现的是哪个词。

它不是在推理。它是在再现训练数据中最常见的延续。

同理,当模型看到"1+1="时,训练数据里这个序列后面最常见的延续是"2"。不是模型算了 1+1,是它见过的所有"1+1="后面都跟着"2"。如果训练数据里所有"1+1="后面都跟着"3",模型就会输出"3"。


那它怎么做到写代码和翻译?

你可能会反驳:ChatGPT 可以写一篇全新的文章,翻译一段从未有人翻译过的文字。如果它只是在重复训练数据里见过的东西,这些全新的输出怎么解释?

因为"猜下一个字"的能力,随着模型变大,发生了一次质变。

当模型只有几百万参数时,它确实只是在背模板。但当参数膨胀到千亿级别时,模型学到的不是"中国的首都是"后面跟"北京"这样的具体搭配,而是更抽象的模式——语法结构、逻辑关系、文体风格。

"翻译成英文:你好"→ 模型没有见过这句话。但它见过大量"翻译成英文:[中文] → [English]"的模板。也见过"你好"对应的英文是"Hello"。把这些抽象模式拼在一起,它就能生成"Hello"。

它不是在理解你的问题。它是在匹配一种模式:前面是"翻译成英文:[某段中文]",后面应该跟"[对应的英文]"——然后它从记忆中调取了"你好"和"Hello"的对应关系。


打开聊天界面背后的黑箱

你看到的 ChatGPT 是一个聊天窗口。但你输入的文字在进入模型之前,被拼接成了一段特殊的格式。

<|system|>你是一个有帮助的AI助手
<|user|>北京的首都是哪里?
<|assistant|>

模型从 <|assistant|> 标记之后开始预测下一个字。它看到前面的文本里有 <|system|> 标记设定了"你是一个有帮助的AI助手",有 <|user|> 标记包含一个问题,然后 <|assistant|> 标记告诉它:从这里开始,你该扮演回答者的角色。

训练数据里有无数这种格式的对话。"扮演AI助手"在 <|assistant|> 之后写出有帮助的、准确的回答——因为在所有训练样本中,assistant 角色后面跟的内容都是高质量的答案。

聊天界面只是这套格式的外壳。每次你发消息,系统把你的话拼接进去,加一个 <|assistant|> 标记,然后问模型:这段文字之后,最可能接什么?模型开始一个字一个字往外蹦——这就是你看到的回复。


所以它到底"懂"还是"不懂"?

这个问题问错了方向。

"懂"是一个人类概念。当你问一个人"你懂吗",你在问一个内部体验——这个人脑子里有没有形成一个准确的心理模型。

模型没有脑子。它没有内部体验。它只有一个极其巨大的概率表。

但它的行为在功能层面等价于"懂"。当它说"北京是中国的首都"时,这句话和真的"懂"的人说出来的一模一样。区别不在输出上,在输出背后的机制上。

一个只会预测下一个字的机器,在读过足够多的文字之后,它的输出在功能上无法和一个"真正理解"的系统区分开。

这不是哲学。这是工程现实。当你的训练数据覆盖了所有人类知识的文本表达,最高概率的延续恰好就是正确的延续。


下一步:预训练

"预测下一个字"这件事本身不新鲜。几十年前就有语言模型在做同样的事。

GPT 和之前所有模型的区别在于——它不是被训练来回答问题的。它只是被训练来预测下一个字。在预测下一个字的过程中,它顺便学会了回答问题、翻译、写代码。

这就是"预训练"要讲的故事:一个只会预测下一个字的模型,怎么拥有了通才能力。


从零学习 AI 系列 · 第六篇 下一篇:预训练——一个只会预测下一个字的模型,怎么学会了整个世界

Logo

AtomGit AI 社区提供模型库、数据集、Agent、Token等资源

更多推荐