拆解大模型 《一》:语言模型到底在做什么?

4 阅读5分钟

拆解大模型1:语言模型到底在做什么?

2023年第一次用 ChatGPT 的时候,我有点懵。也有点不愿意接受和相信

它能帮我写代码、改文章、解释我没看懂的论文——感觉不像在用工具,更像在跟一个真人协作。

后来我去翻论文、看实现,才发现这东西的本质朴素到有点荒谬:

预测下一个 Token。

就这?就这。

但"就这"背后的东西,值得好好讲一讲。


一、Token 是什么

模型不直接处理文字,文字要先被切成碎片,每一片叫一个 Token

比如这句话:

北京是中国的首都

可能被切成:

[北京] [是] [中国] [的] [首都]

但 Token 不一定是完整的词,遇到生僻词或者长词,会切得更碎:

不可思议 → [不可] [思议]

切法本身是一门学问(背后的算法叫BPE,会把训练语料里高频出现的组合合并成一个 Token),不过现在不用纠结这个细节。

记住一件事就够了:模型的输入是 Token 序列,不是原始文字。


二、模型在做什么

任务描述非常简单:

给你前面所有的 Token,猜下一个是什么。

输入 中国的首都是,模型不会直接吐出"北京",而是对所有可能的 Token 都给出一个概率:

北京    0.92
上海    0.04
南京    0.02
广州    0.01
……

然后从这个分布里选一个输出。

至于怎么"选"——是每次都取概率最高的,还是按概率随机抽——这个选择会影响模型的风格,有时候故意加点随机性反而让输出更自然,这个之后再聊。


三、一段话是怎么生成的

只预测一个 Token,怎么生成几百字的回答?

靠循环。每次生成一个 Token,把它拼回输入,再预测下一个,反复迭代。

拿 中国的首都是 举例:

第一轮,模型预测 → 北京,输入变成 中国的首都是北京

第二轮,模型预测 → ,输入变成 中国的首都是北京,

第三轮,继续……

直到某一轮模型预测出特殊的"结束符",或者长度超限,才停下来。

所以你看到的每一段 AI 输出,都是这样一个字一个字"滚"出来的,没有任何神奇的地方。


四、预测词语,怎么就"智能"了

这是我当时最想不通的问题。

"预测下一个词"听起来就是个填词游戏,跟"理解语言"差得十万八千里。

但换个角度想:要在海量文本上把这个预测做好,你必须学会很多东西。

训练数据里会反复出现这类句子:

北京是中国的首都。
东京是日本的首都。
巴黎是法国的首都。

要在这些句子上预测准确,模型就得学会"首都"这个词背后的关系模式。类似的,要预测好代码补全,就得学会语法;要预测好文章续写,就得学会逻辑结构。

预测这个任务本身是个很强的信号——你没法靠死记硬背做好它,必须真正"理解"文本的结构。

还有一个有意思的现象:模型能力的提升不是线性的。当参数量和数据量堆过某个门槛,模型会突然涌现出之前完全没有的能力——比如多步推理、写能跑的代码。这个现象叫 涌现(Emergence) ,目前学界还没完全搞清楚为什么会这样。


五、训练在做什么

训练的目标说白了就一件事:

让模型猜得越来越准。

喂给模型一条训练数据 北京是中国的首都,遮住最后一个词,让它猜。猜成了 省份,就产生一个损失值,然后用梯度下降调整参数,让下次更倾向于猜 首都

把这个过程在数万亿条数据上反复跑,语言的统计规律就慢慢被"压进"模型的参数里了。


六、为什么模型会一本正经地胡说

既然只是预测 Token,模型压根不知道什么叫"真实"。它只知道,什么样的文字在训练数据里出现得合理。

你问它:

2035年世界杯冠军是谁?

它没有答案,但它会生成一段格式正确、语气笃定、内容编造的回答。

这就是大模型的 幻觉(Hallucination)

模型不是在查数据库,它是在生成"最像答案的文字"。知道这一点,你在用大模型的时候就会更清醒——哪些输出可以直接用,哪些必须自己核查。


七、为什么需要 Transformer

既然任务是预测下一个 Token,最朴素的方法是什么?

统计一下训练语料里 中国的首都是 后面最常跟什么词,直接输出频率最高的那个。

但这招很快就不够用了,因为语言里到处是"长程依赖":

小明去了超市,买了很多东西,回到家之后,他发现钱包忘在了那里。

要知道"那里"指的是"超市",你得跨越好几十个 Token 建立关联。靠统计局部词频根本处理不了这种情况。

为了解决这个问题,研究者设计了 Transformer 架构,核心是一个叫 Attention(注意力)  的机制——让模型在预测每个位置时,能直接"看到"序列里任何其他位置的信息,不管距离多远。

现在几乎所有主流大模型——GPT-4、LLaMA、Qwen、Claude——底层都是 Transformer。

下一篇,我们就来搞清楚 Attention 到底在算什么。


小结

大语言模型的底层逻辑:给定前文,预测下一个 Token,循环往复。

让这件朴素的事情产生巨大能量的,是三个东西叠在一起:海量训练数据、巨大的参数规模,以及 Transformer 这个能处理长程依赖的架构。

下一篇讲 Attention——这是整个 Transformer 最值得搞懂的部分。

Attention and my blog is all your Need...