拆解大模型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...