跳到主要内容

1.1 语言模型:预测下一个词的机器

你的手机里早就住着一个​

在手机上打出「今天天气」,键盘上方立刻冒出三个候选:「真好」「不错」「很冷」。

先停下来想一秒:手机怎么知道该推荐这三个词,而不是「香蕉」「篮球」「微积分」?

答案是:输入法统计过海量的中文文本,发现「今天天气」后面最常跟着这几个词。它没有「理解」天气,它只是在做一件事——根据你已经打出的字,猜下一个词最可能是什么。

这就是语言模型:

一句话定义

语言模型 = 给定上文,输出「下一个词是什么」的概率分布的模型。

写成式子只有一个:

P(下一个词∣上文)P(\text{下一个词} \mid \text{上文})

还记得 0.3 节的「语言骰子」吗?「今天天气真」后面接「好」的概率 50%、「不错」18%……语言模型的全部工作,就是为任意上文造出这样一枚骰子。生成整段话,则是掷骰子 → 把结果接到上文 → 再掷 → 再接……循环往复。

亲手玩一个真的语言模型​

下面是一个真的在你浏览器里运行的迷你语言模型。它刚「读」完 40 句小学生日记水平的语料,学到的全部本事就是一张「上文 → 下一个字」的频率表。

建议按这个顺序玩:

  1. 保持「上文长度:1 个字」,点几次「✍️ 自动续写 20 字」——它会写出每两个字都通顺、连起来胡言乱语的句子;
  2. 点「↺ 重置」,切到「2 个字」再自动续写——连贯度肉眼可见地提升;
  3. 多续写几轮,如果看到「⚠️ 数据稀疏」提示,别跳过:那正是老式语言模型的死穴(下一节细讲);
  4. 对比「🎲 按概率抽一个字」和「⭐ 总选概率最大的」——后者写出来的句子更「安全」但也更死板。
🎮 动手实验
迷你语言模型:它真的在预测下一个字
这个模型刚刚「读」完下面那份 40 句话的小语料,学到的全部本事就是一张「上文 → 下一个字」的频率表。点击候选字帮它写下去,或让它自动写。
模型看多长的上文:
今天▌
模型说:「今天」后面出现过这些字 ↓(点击可选用)
天
50% ·3次
我
17% ·1次
很
17% ·1次
的
17% ·1次
📚 查看它读过的全部语料(这就是它的整个世界)

今天天气很好。今天天气很冷。今天天气不错。明天天气会更好。昨天下了一场大雨。今天我去学校上课。我在学校学习数学。数学老师讲了新的知识。数学考试有点难。我喜欢学习数学。我喜欢吃苹果。我喜欢吃香蕉。苹果很好吃。香蕉也很好吃。妈妈买了很多苹果。我们一起去公园玩。公园里有很多人。小明在公园里跑步。小明喜欢打篮球。我和小明是好朋友。老师表扬了小明。我今天很开心。大家都很开心。学习让我很开心。我每天都去跑步。跑步让身体更健康。健康比什么都重要。我们要好好学习。好好学习天天向上。明天我要去北京。北京是中国的首都。北京有很多好玩的地方。我坐火车去北京。火车跑得很快。时间过得真快。今天的作业很多。我写完作业再玩。写作业要认真。认真的人运气不会差。

💡 要点:这个只会数数的小模型和 GPT 干的是同一件事——根据上文给下一个字(token)分配概率。差别在于:它靠死记硬背查表,看 1~2 个字的上文;GPT 用几千亿参数的神经网络「理解」几万字的上文。把「上文长度」从 1 调到 2,再对比生成质量,你就能体会为什么「看得远」如此重要。

它和 GPT 干的是同一件事​

请记住这个实验,因为全书剩下的内容都建立在它上面:

这个迷你模型GPT / Claude / Qwen(2025 年的旗舰级)
任务根据上文,给下一个字分配概率完全相同
生成方式掷骰子、接上、再掷完全相同
「大脑」一张查频率的表数千亿参数的神经网络
能看的上文1~2 个字几万到上百万个词元
读过的语料40 句话十几万亿词的互联网文本

所以,从第 2 章到第 4 章,整本书其实只在回答一个问题:怎么把「查表」换成一个更聪明的东西,让模型看得更远、猜得更准、还能举一反三。

这个类比在哪里不准确?

「输入法联想」的候选来自词库规则加上简单统计,只看眼前几个字,也从不需要「懂」你在说什么。大模型虽然做同一个任务,但为了在几万字的上下文里把下一个词猜准,它被迫在训练中学会了语法、事实甚至推理(见下面的深入层)——「任务相同」不等于「能力相同」。另外,真实的大模型处理的不是「字」而是 token(1.3 节),预测范围是几万到二十几万个候选,而不是表里见过的那几个。

小结​

本节要点
  • 语言模型只做一件事:给定上文,输出下一个词的概率分布;生成 = 反复「掷骰子 → 接上 → 再掷」。
  • 你手机的输入法联想和 GPT 是同一任务的两个极端实现。
  • 迷你模型靠查表,只能看 1~2 个字;后面所有章节都在回答「怎么把查表换成更聪明的东西」。
📝 动手自测0/3
1. 严格来说,语言模型每一步的直接输出是什么?
2. 实验里的迷你模型和 GPT 最本质的共同点是?
3. 把上文长度从 1 个字调到 2 个字后,生成质量明显变好。那为什么不直接调到 20 个字?

延伸阅读​