跳到主要内容

大模型发展历程

学习目标

完成本节后,你将能够:

  • 理解大模型不是凭空出现的,而是 NLP 长期演进的结果
  • 说清楚从规则系统到 Transformer 的关键转折
  • 理解“为什么是 Transformer 把大模型时代真正推起来了”
  • 通过一个小例子感受早期语言模型的工作方式

一、先把全景图记住

语言模型的发展可以先粗略记成这 5 个阶段:

  1. 规则系统时代
  2. 统计语言模型时代
  3. 神经网络语言模型时代
  4. Transformer 时代
  5. 大模型与指令对齐时代

你可以把它理解成一条不断升级的“自动补全”路线:

  • 先靠人工规则
  • 再靠统计频率
  • 再靠神经网络学表示
  • 再靠 Transformer 学长距离上下文
  • 最后靠规模化训练和对齐技术变得更实用

二、规则系统:最早的“人工语言智能”

在早期 NLP 里,人们经常手写规则:

  • 如果句子里出现“订票”,归类到出行
  • 如果出现“天气”,归类到天气查询

优点是:

  • 简单
  • 可解释
  • 小任务启动快

缺点是:

  • 写起来费劲
  • 一变场景就容易失效
  • 很难覆盖复杂表达

这就像你训练一个新人客服,全靠一本厚厚的“话术规则手册”。
能用,但上限不高。


三、统计语言模型:开始用“出现频率”预测下一个词

统计语言模型的核心想法是:

一个词后面接什么,跟前面出现过什么词有关。

比如:

  • “今天 天气 很” 后面很可能接 “好”
  • “我 喜欢 吃” 后面可能接 “面” 或 “饭”

这就是经典的 n-gram 思路。

一个最小可运行例子:二元语言模型

from collections import defaultdict, Counter

corpus = [
"我 喜欢 学 AI",
"我 喜欢 学 Python",
"你 喜欢 学 NLP",
"我 喜欢 做 项目"
]

next_word_counter = defaultdict(Counter)

for sentence in corpus:
tokens = sentence.split()
for current_word, next_word in zip(tokens[:-1], tokens[1:]):
next_word_counter[current_word][next_word] += 1

def suggest_next(word):
candidates = next_word_counter[word]
if not candidates:
return []
return candidates.most_common()

print("“我” 后面常见的词:", suggest_next("我"))
print("“喜欢” 后面常见的词:", suggest_next("喜欢"))
print("“学” 后面常见的词:", suggest_next("学"))

这个思路已经很像“预测下一个词”了。
但它的局限也很明显:

  • 只能看很短的上下文
  • 词组合一多,统计就很稀疏
  • 没法真正理解语义

四、神经网络语言模型:开始学“表示”

后来,人们不满足于“只统计词频”,开始让神经网络自己学习词和上下文表示。

这带来了几个重要变化:

  • 词不再只是离散编号,而有了向量表示
  • 模型开始能学习语义相近性
  • 语言建模不再只靠硬统计

这一阶段的重要路线包括:

  • Word2Vec / GloVe
  • RNN
  • LSTM / GRU

它们解决了什么?

比如:

  • kingqueen 会更接近
  • “今天下雨,我没带伞,所以我被淋湿了” 这种句子,可以利用更长的上下文

但问题也还在:

  • 序列很长时,RNN 很难处理
  • 训练效率不高
  • 长距离依赖依然困难

五、Transformer:真正改变局面的关键拐点

Transformer 的核心突破,是注意力机制(Attention)。

你可以把它想成:

读一句话时,不再只能按顺序一点点传递记忆,而是可以直接看“当前词和所有词之间的关系”。

这就像:

  • RNN 更像逐句读书,边读边记
  • Transformer 更像摊开整页,同时圈重点

它的优势非常关键:

  • 更适合并行训练
  • 更擅长处理长上下文
  • 更容易扩展到超大规模

这正是为什么后来 GPT、BERT 这些模型能快速崛起。


六、预训练模型时代:先通读海量文本,再做具体任务

这一阶段的核心思想是:

  1. 先在海量语料上做通用预训练
  2. 再迁移到具体任务

这比过去“每个任务从零训练一个模型”高效得多。

典型代表有:

  • BERT:偏理解
  • GPT:偏生成
  • T5:统一文本到文本框架

这带来了一个非常重要的变化:

模型开始具备越来越强的“通用语言能力”。


七、大语言模型时代:规模带来能力跃迁

当模型参数、数据量、计算资源都大幅提升后,出现了我们今天常说的大语言模型(LLM)。

大模型时代的几个关键词:

  • 更大的参数规模
  • 更长的上下文
  • 更强的生成能力
  • 指令跟随能力
  • 工具使用能力

这一阶段,模型不再只是“做分类器”,而是越来越像一个通用文本接口:

  • 写代码
  • 总结文档
  • 翻译
  • 问答
  • 推理
  • 调用工具

八、为什么“光大还不够”?

模型变大后,能力是更强了,但也会出现问题:

  • 不一定懂用户意图
  • 不一定按要求回答
  • 可能输出有害或不稳定内容

所以后来又发展出一整套“对齐”技术:

  • 指令微调
  • 偏好学习
  • RLHF
  • 安全对齐

这就像:

模型先靠海量读书变聪明,再靠人类反馈学会“更像一个会配合的助手”。


九、今天的大模型为什么不只属于 NLP?

因为 Transformer 和大模型方法后来扩展到了更多模态:

  • 图像
  • 语音
  • 视频
  • 多模态

再进一步,就出现了:

  • RAG
  • Agent
  • 工具调用
  • 多模态问答

所以“大模型发展史”其实不是 NLP 的一个小分支,而是后面整个 AI 应用工程的前史。


十、一张时间线速记表

阶段核心思路局限
规则系统人写规则泛化差、维护难
统计语言模型用频率预测稀疏、看不远
RNN/LSTM用神经网络建模序列长距离依赖仍难
Transformer用注意力看全局关系训练成本高
大语言模型规模化预训练 + 对齐成本、安全、幻觉问题

小结

这一节最重要的不是背年份,而是看懂一条主线:

语言模型一路都在解决同一个问题:怎样更好地利用上下文,预测和理解语言。

规则不够灵活,统计不够深,RNN 不够远,Transformer 才真正把规模化语言建模推到了今天的大模型阶段。


练习

  1. 修改上面的 corpus,加入更多句子,观察 n-gram 的预测结果怎么变化。
  2. 思考:为什么只靠 “当前词 -> 下一个词” 的统计,很难理解长文章?
  3. 用你自己的话解释一下:Transformer 相比 RNN,到底强在哪。