语言模型核心 20% — 只有一条主线:预测下一个 token

一句话:所有语言模型(包括 GPT)做的事只有一件——给定前文,预测下一个 token 的概率分布。理解这句话,就能解释为什么它会幻觉、为什么会”遗忘”长文、为什么分词方式会影响数学能力。


🎯 这 20% 能解决哪些问题

常见困惑本质本页答案
模型为什么会”胡说”目标是概率最大,不是事实正确见「为什么必然幻觉」
上下文窗口标 128k,为什么中间内容被忽略注意力分布不均衡见「长上下文真相」
为什么模型算不好乘法分词把数字切碎见「Tokenization 的三个后果」
微调还是提示工程没分清知识注入与行为对齐见「三阶段训练」
困惑度低就说明模型好吗指标只衡量拟合见「评估的两个层次」

一、一条主线:从 n-gram 到 Transformer

graph LR
    A["n-gram<br/>统计共现"] --> B["RNN/LSTM<br/>隐状态"]
    B --> C["Transformer<br/>自注意力"]
    C --> D["预训练 + 微调<br/>BERT/GPT"]
    D --> E["大模型 + 对齐<br/>RLHF/DPO"]
阶段核心机制解决什么遗留问题
n-gram统计 P(w|前 n-1 个词)简单可用稀疏、无长依赖
RNN/LSTM隐状态传递变长依赖串行、难并行
Transformer自注意力,全局可见并行 + 长依赖计算随长度平方增长
对齐RLHF / DPO让输出符合偏好对齐税、谄媚

二、Tokenization 的三个后果

现象原因工程应对
数不清”strawberry 里有几个 r”被切成 1–2 个 token让它逐字符拆开处理
中文比英文更费 token常用词表以英文为主选中文词表更优的模型
算术错误数字被切成不规则片段用工具调用/代码解释器

记住:模型的”读写单位”是 token,不是字符也不是词。任何涉及字符级、数字位的任务,都要先考虑分词。


三、三阶段训练与你要做什么

阶段数据目标你的对应动作
预训练海量无标注文本学会语言与世界知识一般无法参与,选底座即可
监督微调(SFT)指令-回答对学会遵循指令高质量 1k–10k 条胜过 100k 条噪声数据
偏好对齐(RLHF/DPO)偏好对比符合人类偏好定义”什么是好回答”比算法更重要

选择顺序:先改提示(成本最低)→ 再补检索(RAG,注入知识)→ 再微调(改行为/格式)→ 最后才考虑继续预训练(改领域分布)。

常见错误:想用微调让模型”记住公司文档”。这既昂贵又不可靠,正确答案是 RAG。


四、为什么必然幻觉

[ P(\text{下一个 token}) \ne P(\text{事实为真}) ]

原因说明
目标错配训练目标是”像人写的”,不是”说真话”
知识截止训练后发生的事它不知道,但会照常补全
缺乏拒答机制不会说”我不知道”,因为训练数据里少
长尾稀疏冷门实体只出现过一两次,更易编

四层缓解:

  1. 检索增强(给出证据并要求引用)
  2. 结构化输出 + 字段校验
  3. 明确允许”不知道”并在提示中给出示例
  4. 关键结论二次核验(另一个模型或规则)

五、长上下文真相

现象原因应对
中间内容被忽略(lost in the middle)注意力对首尾更强把关键信息放开头或结尾
上下文越长越慢越贵注意力计算随长度增长分块摘要、只放相关片段
长文回答问题质量下降干扰信息增多先检索再回答

六、评估的两个层次

层次指标局限
语言拟合困惑度(Perplexity)只衡量”像不像语料”,不衡量有用
任务效果准确率、通过率、人工评分成本高、需要固定测试集

实用做法:建 30–100 条”黄金测试集”,覆盖典型任务与边界情况,每次换模型/改提示都跑一遍。这比任何榜单都可靠。


七、选型速查

需求建议
高频简单分类/抽取小模型微调,成本低延迟低
复杂推理与长文大模型 + 结构化提示
强事实性要求大模型 + RAG + 引用校验
私有数据不出域私有化部署开源模型
中文场景优先中文语料占比高的底座

📋 一页速查

问题答案
语言模型的本质预测下一个 token 的概率
幻觉的根因目标是最可能,不是最真实
为什么数学差分词把数字切碎
长文关键信息放哪开头或结尾
想注入知识用什么RAG,不是微调
怎么评估自建黄金测试集

🔗 相关链接

主题链接
自然语言处理概览自然语言处理
文本处理文本处理核心 20%
机器翻译机器翻译核心 20%
提示工程LLM 提示工程
RAGRAG 检索增强生成