语言模型基础 入门 约 18 分钟 更新 2026-10-02

语言建模的概率本质:从 n-gram 到神经语言模型

学习状态:
未学

一句话定义

语言建模是在给定前文条件下估计下一个词元概率分布的任务;从 n-gram 的频率计数到神经网络的函数拟合,七十年来方法在变,「条件概率 + 生成」的框架从未变。

为什么重要

预训练损失、解码采样、困惑度评估、幻觉成因,全部可以用这一个概率框架解释。抓住它,后续所有模块都会变得「理所当然」;跳过它,你只能记住一堆名词。

前置知识

核心概念

原理与机制

模型输出的是整个词表上的概率分布,训练时用交叉熵损失衡量它与真实下一个词的距离;推理时按这个分布逐词采样,把已生成内容拼回输入再预测下一词,即自回归生成。n-gram 失败于维数灾难——词表 V 下,n-gram 状态空间是 V 的 n-1 次方,绝大多数组合从未在语料中出现;神经方法通过低维嵌入与共享参数把相似上下文映射到相近表示,实现泛化。

公式或模型

交叉熵损失与困惑度:

L = - (1/T) · Σ_t log P(x_t | x_<t) ; PPL = exp(L)

若模型每步平均困惑度为 20,相当于模型面对约 20 个同样可信的候选词。

图示

前文: "今天天气真"  ──▶  模型  ──▶ 分布
                              好 0.41   不错 0.22   糟糕 0.08   ... 其余
采样 ──▶ 拼回输入: "今天天气真好" ──▶ 再预测下一词(循环)

直观类比

像一位「文字接龙冠军」:n-gram 选手只会背短语搭配表;神经选手读过海量文本后形成了「语境直觉」,见到不同措辞的相似语境也能给出合理接续。

实例或案例

输入法联想词就是 n-gram 思路的缩影:只看前几个字给出候选。而 GPT 类模型同一套目标换成 Transformer 实现,配合兆级词元的语料,就能从接龙升级为写代码、做总结(实现演进见 kp-010)。

常见误区

与其他知识点的关系

自测题

  1. 写出「整句概率等于逐词条件概率连乘」的链式展开形式。
    答案要点:P(w1..wT) = Π P(wt | w1..wt-1)。
  2. n-gram 模型的根本缺陷是什么?
    答案要点:状态空间指数爆炸导致数据稀疏,未见组合无法泛化;神经模型靠共享参数与低维嵌入解决。
  3. 困惑度为 1 意味着什么?是否一定是好事?
    答案要点:每步分布近乎确定;在自然语言上过低的 PPL 常意味着过拟合或记忆。

延伸阅读