一、什么是语言模型

语言模型(Language Model,简称LM)是自然语言处理领域最基础、最重要的一类模型,它的数学本质是定义在token序列空间上的概率分布。

通俗来讲:语言模型用来判断一段文本序列是不是符合人类语言习惯、是否通顺自然;它给每一段文本分配一个概率值,符合语言习惯、逻辑通顺的句子会得到更高概率,语序混乱、语义违和的句子概率更低。

标准学术定义:给定由token构成的序列 S=[w1,w2,w3,…,wn]S=[w_1,w_2,w_3,\dots,w_n]S=[w1​,w2​,w3​,…,wn​],语言模型负责求解该序列的联合出现概率
P(S)=P(w1,w2,w3,…,wn) P(S)=P(w_1,w_2,w_3,\dots,w_n) P(S)=P(w1​,w2​,w3​,…,wn​)

这里需要先澄清一个关键点:我们日常说的“词”在现代大模型中一般是token(子词单元),不一定是完整汉字或者单词;后文举例为了方便理解,依然使用自然词语来演示。

举几组对比案例直观感受概率差异:

  1. P(清晨的湖面飘着薄雾)>P(薄雾飘着湖面的清晨)P(清晨的湖面飘着薄雾) > P(薄雾飘着湖面的清晨)P(清晨的湖面飘着薄雾)>P(薄雾飘着湖面的清晨)
    第一句语序符合中文表达习惯,模型分配更高概率;第二句语序颠倒、读起来别扭,概率会明显更低。
  2. P(猫咪喜欢追逐蝴蝶)>P(蝴蝶喜欢追逐猫咪)P(猫咪喜欢追逐蝴蝶) > P(蝴蝶喜欢追逐猫咪)P(猫咪喜欢追逐蝴蝶)>P(蝴蝶喜欢追逐猫咪)
    单从句法上两句都通顺,但在海量真实文本里,“猫追蝴蝶”出现频次远高于反过来的场景,所以前者概率更高。
  3. P(程序员写完代码提交测试)>P(代码写完程序员提交测试)P(程序员写完代码提交测试) > P(代码写完程序员提交测试)P(程序员写完代码提交测试)>P(代码写完程序员提交测试)
    前者是日常技术文档、博客中高频出现的表达,后者语序生硬,概率偏低。

注意:概率高 ≠ 内容事实正确,语言模型只学习语言分布、句式、搭配习惯,本身不自带知识库,它判断的是“像不像人话”,而不是“这句话对不对”。这点是很多初学者容易踩的坑。

二、概率链式法则:语言模型的数学基石

直接求解长序列的联合概率 P(w1,w2,…,wn)P(w_1,w_2,\dots,w_n)P(w1​,w2​,…,wn​) 很难,概率论中的链式法则(Chain Rule)可以把联合概率拆解成一串条件概率相乘:
P(w1,w2,…,wn)=P(w1)×P(w2∣w1)×P(w3∣w1,w2)⋯×P(wn∣w1,w2,…,wn−1) \begin{align*} P(w_1,w_2,\dots,w_n) &= P(w_1) \times P(w_2|w_1) \times P(w_3|w_1,w_2) \\ &\dots \times P(w_n|w_1,w_2,\dots,w_{n-1}) \end{align*} P(w1​,w2​,…,wn​)​=P(w1​)×P(w2​∣w1​)×P(w3​∣w1​,w2​)⋯×P(wn​∣w1​,w2​,…,wn−1​)​

公式含义拆解:

  • P(w1)P(w_1)P(w1​):第一个词单独出现的先验概率;
  • P(w2∣w1)P(w_2|w_1)P(w2​∣w1​):在已经出现w1w_1w1​的前提下,下一个词是w2w_2w2​的条件概率;
  • P(wn∣w1,w2,…,wn−1)P(w_n|w_1,w_2,\dots,w_{n-1})P(wn​∣w1​,w2​,…,wn−1​):给定前面全部上文,第n个词出现的条件概率。

现代自回归语言模型(GPT系列就是典型),核心优化目标就是建模这个条件概率 P(wn∣w1,w2,…,wn−1)P(w_n|w_1,w_2,\dots,w_{n-1})P(wn​∣w1​,w2​,…,wn−1​)。
也就是说,“计算整句联合概率”和“基于上文预测下一个token”,本质是同一件事:反复预测下一个token,拼接起来就得到完整句子,把每一步条件概率相乘,就得到整句序列的联合概率。

我们拿句子「晚风拂过窗台」走一遍链式拆解:
P(晚风,拂过,窗台)=P(晚风)×P(拂过∣晚风)×P(窗台∣晚风,拂过) \begin{align*} P(晚风,拂过,窗台) &= P(晚风) \\ &\times P(拂过|晚风) \\ &\times P(窗台|晚风,拂过) \end{align*} P(晚风,拂过,窗台)​=P(晚风)×P(拂过∣晚风)×P(窗台∣晚风,拂过)​
模型先看上文“晚风”,评估后面接“拂过”的概率;再拿着上文“晚风 拂过”,评估后面接“窗台”的概率,相乘得到整句概率。

再看一个英文示例:The coffee tastes great
P(The,coffee,tastes,great)=P(The)⋅P(coffee∣The)⋅P(tastes∣The,coffee)⋅P(great∣The,coffee,tastes) P(The,coffee,tastes,great)=P(The) \cdot P(coffee|The) \cdot P(tastes|The,coffee) \cdot P(great|The,coffee,tastes) P(The,coffee,tastes,great)=P(The)⋅P(coffee∣The)⋅P(tastes∣The,coffee)⋅P(great∣The,coffee,tastes)

三、两种理解视角(初学者容易混淆)

很多教材会从两个角度描述语言模型,这两种说法并不冲突:

  1. 序列打分视角:输入一整段完整句子,输出这个句子的整体概率,用来评估通顺度;早期N-gram统计语言模型大多是这个使用方式,常用于语音识别、OCR结果择优。
  2. 下一个token预测视角:输入一段上文上下文,输出词表上所有候选token的概率分布,采样选出下一个token,循环生成文本;现在的LLM、GPT都属于这类自回归语言模型。

举一个生成视角的例子:
上下文:周末我打算去公园
模型输出候选概率分布:

  • P(散步∣周末我打算去公园)P(散步|周末我打算去公园)P(散步∣周末我打算去公园) = 0.42
  • P(吃饭∣周末我打算去公园)P(吃饭|周末我打算去公园)P(吃饭∣周末我打算去公园) = 0.18
  • P(敲代码∣周末我打算去公园)P(敲代码|周末我打算去公园)P(敲代码∣周末我打算去公园) = 0.03

模型优先选择概率最高的“散步”追加到句子,新序列变成周末我打算去公园散步,再把新序列喂回去,继续预测下一个token,直到输出结束符。

四、简单区分:统计语言模型 vs 现代预训练语言模型

  1. N-gram统计语言模型(传统)
    做近似简化:只看前面N-1个词,忽略更早的上文。比如bigram(二元语法)只依赖前一个词,trigram依赖前两个词。优点是简单可统计,缺点是长距离依赖完全丢失,上下文记忆能力极差。
    例如 trigram 近似:P(wn∣w1…wn−1)≈P(wn∣wn−2,wn−1)P(w_n|w_1\dots w_{n-1}) \approx P(w_n|w_{n-2},w_{n-1})P(wn​∣w1​…wn−1​)≈P(wn​∣wn−2​,wn−1​)
  2. Transformer自回归语言模型(现代LLM)
    通过注意力机制,可以利用全部历史上文来预测下一个token,没有固定窗口限制,能够捕捉远距离语义依赖,也是现在大模型的基础范式。

五、语言模型的常见应用场景

语言模型是很多上层任务的底座:

  • 文本生成:对话机器人、文案续写、代码生成;
  • 候选结果重打分:语音识别、拼音输入法、OCR识别,从多个候选里挑最通顺的一条;
  • 提示词范式迁移:把分类、摘要、翻译等任务,都包装成“续写预测”的形式(Prompt范式);
  • 困惑度(PPL)评估:困惑度是语言模型最经典评价指标,PPL越低,代表模型对文本的拟合越好,句子越符合模型学到的语言分布。

六、初学者高频误区总结

  1. ❌ 误区:语言模型学习知识,用来判断一句话真假
    ✅ 正解:它学习语言分布,只判断通顺程度,会一本正经输出逻辑通顺但事实错误的内容,也就是“幻觉”。
  2. ❌ 误区:链式法则是大模型独有的公式
    ✅ 正解:链式法则是概率论通用公式,传统N-gram和Transformer LLM都基于它,二者区别只在于怎么估算条件概率。
  3. ❌ 误区:概率高的句子一定是我们想要的回答
    ✅ 正解:高概率代表常见、通顺;有时候我们需要新颖内容,会调高采样温度,主动降低对最高概率token的偏好。

七、结语

语言模型的底层逻辑非常简洁:它本质就是一套概率分布,依托概率链式法则,要么给整段文本打分,要么迭代预测下一个token。后续我们讲N-gram、困惑度、GPT自回归训练、因果掩码、MLM掩码语言模型(BERT)的时候,全部建立在这个基础概念之上。

写在最后

📚 想要系统吃透大模型、RAG、Agent完整链路,不零散啃知识点?欢迎了解购买主页《大模型入门精品课 +简历和面试指导》(对于小白和想转行小伙伴而已,如果没有简历和面试辅导是很难通过面试的),课程内容包括:

  • 纯干货一个月学完(没有冗余的理论,项目都是大型企业生产项目,非教学demo)。
  • 项目覆盖 RAG、智能体、Lora微调实战项目、VLLM私有化部署大模型、模型压缩(剪枝、量化、蒸馏)。
  • 助力丰富个人项目技术栈和简历面试求职。课程地址:https://edu.csdn.net/course/detail/41422
Logo

更多推荐