大模型发展历程
学习目标
完成本节后,你将能够:
- 理解大模型不是凭空出现的,而是 NLP 长期演进的结果
- 说清楚从规则系统到 Transformer 的关键转折
- 理解“为什么是 Transformer 把大模型时代真正推起来了”
- 通过一个小例子感受早期语言模型的工作方式
一、先把全景图记住
语言模型的发展可以先粗略记成这 5 个阶段:
- 规则系统时代
- 统计语言模型时代
- 神经网络语言模型时代
- Transformer 时代
- 大模型与指令对齐时代
你可以把它理解成一条不断升级的“自动补全”路线:
- 先靠人工规则
- 再靠统计频率
- 再靠神经网络学表示
- 再靠 Transformer 学长距离上下文
- 最后靠规模化训练和对齐技术变得更实用
1.1 如果你想先被这条历史线吸引住,先记三个画面
这条发展史最容易让初学者有感觉的,通常不是概念,而是三个画面:
-
早期系统像一本厚厚的规则手册
能做事,但特别依赖人写规则。 -
Transformer 出来时像一次公开宣告
Attention Is All You Need这个标题,本身就像在说: “也许序列建模不需要再被 RNN 绑住了。” -
GPT-3 之后,很多人第一次直观感受到
原来“只做下一个 token 预测”这件事,放到足够大规模后,真的会长出很像通用能力的现象。
所以这条历史线最吸引人的地方在于:
很多今天看起来理所当然的 能力,当年都不是慢慢加上去的,而是经过了好几次路线切换。
二、规则系统:最早的“人工语言智能”
在早期 NLP 里,人们经常手写规则:
- 如果句子里出现“订票”,归类到出行
- 如果出现“天气”,归类到天气查询
优点是:
- 简单
- 可解释
- 小任务启动快
缺点是:
- 写起来费劲
- 一变场景就容易失效
- 很难覆盖复杂表达
这就像你训练一个新人客服,全靠一本厚厚的“话术规则手册”。
能用,但上限不高。
2.1 为什么很多人后来会觉得这条路“注定很累”?
因为它太依赖人先把世界拆给机器看。
只要场景一复杂,维护成本就会迅速上升:
- 表达方式一变,规则就可能漏
- 场景一扩,规则就越写越厚
所以早期规则系统最有代表性的气氛就是:
- 它真的能用
- 但人会越来越强烈地意识到,这条路很 难扩展到开放世界
三、统计语言模型:开始用“出现频率”预测下一个词
统计语言模型的核心想法是:
一个词后面接什么,跟前面出现过什么词有关。
比如:
- “今天 天气 很” 后面很可能接 “好”
- “我 喜欢 吃” 后面可能接 “面” 或 “饭”
这就是经典的 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("学"))
这个思路已经很像“预测下一个词”了。
但它的局限也很明显:
- 只能看很短的上下文
- 词组合一多,统计就很稀疏
- 没法真正理解语义
3.1 为什么这一代方法仍然非常重要?
因为它第一次让 NLP 主线真正从:
- 人写规则
走向:
- 让数据自己告诉系统“什么更常见、什么更合理”
也就是说,这一代虽然今天看起来不够强,
但它非常像一块过渡踏板:
先把语言问题从“规则题”变成“统计题”。
四、神经网络语言模型:开始学“表示”
后来,人们不满足于“只统计词频”,开始让神经网络自己学习词和上下文表示。
这带来了几个重要变化:
- 词不再只是离散编号,而有了向量表示
- 模型开始能学习语义相近性
- 语言建模不再只靠硬统计
这一阶段的重要路线包括:
- Word2Vec / GloVe
- RNN
- LSTM / GRU
它们解决了什么?
比如:
king和queen会更接近- “今天下雨,我没带伞,所以我被淋湿了” 这种句子,可以利用更长的上下文
但问题也还在:
- 序列很长时,RNN 很难处理
- 训练效率不高
- 长距离依赖依然困难
4.1 这一代为什么会让很多人重新兴奋起来?
因为从这里开始,语言模型不再只是:
- 数一数哪个词后面常接哪个词
而是开始真的学到:
- 词和词之间的关系
- 上下文里的语义结构
所以这一代的吸引力在于:
语言开始不只是一串符号,而是第一次真正“进入表示空间”。
五、Transformer:真正改变局面的关键拐点
Transformer 的核心突破,是注意力机制(Attention)。
你可以把它想成:
读一句话时,不再只能按顺序一点点传递记忆,而是可以直接看“当前词和所有词之间的关系”。
这就像:
- RNN 更像逐句读书,边读边记
- Transformer 更像摊开整页,同时圈重点
它的优势非常关键:
- 更适合并行训练
- 更擅长处理长上下文
- 更容易扩展到超大规模
这正是为什么后来 GPT、BERT 这些模型能快速崛起。
5.1.1 这篇论文为什么会让人一下子记住?
一部分原因当然是技术本身,
但还有一部分原因,是标题真的太有“时代切换感”了:
Attention Is All You Need
它不像传统论文那样保守,
而是带着一种很强的判断:
- 也许整个序列建模主线都要换了
后来历史证明,这种判断不是口号,
而是真的改写了后面大模型时代的底座。
六、预训练模型时代:先通读海量文本,再做具体任务
这一阶段的核心思想是:
- 先在海量语料上做通用预训练
- 再迁移到具体任务
这比过去“每个任务从零训练一个模型”高效得多。
典型代表有:
- BERT:偏理解
- GPT:偏生成
- T5:统一文本到文本框架
这带来了一个非常重要的变化:
模型开始具备越来越强的“通用语言能力”。
七、大语言模型时代:规模带来能力跃迁
当模型参数、数据量、计算资源都大幅提升后,出现了我们今天常说的大语言模型(LLM)。
大模型时代的几个关键词:
- 更大的参数规模
- 更长的上下文
- 更强的生成能力
- 指令跟随能力
- 工具使用能力
这一阶段,模型不再只是“做分类器”,而是越来越像一个通用文本接口:
- 写代码
- 总结文档
- 翻译
- 问答
- 推理
- 调用工具
7.1 GPT-3 为什么会被很多人当成一个“气氛转折点”?
因为 GPT-3 给很多人的感觉,不只是:
- 模型变大了
而是:
- 有些能力开始不像单点功能,而像一种更通用的语言接口
它让很多人第一次强烈意识到:
- 也许参数规模、数据规模、训练范式这几件事叠加起来,会把“语言模型”推成更像平台级能力的东西
所以 GPT-3 对很多人来说,不只是论文节点,
而更像:
“大模型时代真的开始了”的情绪节点。
八、为什么“光大还不够”?
模型变大后,能力是更强了,但也会出现问题:
- 不一定懂用户意图
- 不一定按要求回答
- 可能输出有害或不稳定内容
所以后来又发展出一整套“对齐”技术:
- 指令微调
- 偏好学习
- RLHF
- 安全对齐
这就像:
模型先靠海量读书变聪明,再靠人类反馈学会“更像一个会配合的助手”。
8.1 为什么这一步会让很多人突然意识到“训练目标不等于产品目标”?
因为 GPT-3 之后,大家已经看到:
- 模型可以很强
- 但“强”不自动等于“好用”
它可能:
- 不够听指令
- 不够稳
- 不够符合人类期望
所以对齐阶段真正带来的不是又一个术语,
而是一种很重要的行业共识:
模型能力和模型行为,不是同一件事。
九、今天的大模型为什么不只属于 NLP?
因为 Transformer 和大模型方法后来扩展到了更多模态:
- 图像
- 语音
- 视频
- 多模态
再进一步,就出现了:
- RAG
- Agent
- 工具调用
- 多模态问答
所以“大模型发展史”其实不是 NLP 的一个小分支,而是后面整个 AI 应用工程的前史。
十、一张时间线速记表
| 阶段 | 核心思路 | 局限 |
|---|---|---|
| 规则系统 | 人写规则 | 泛化差、维护难 |
| 统计语言模型 | 用频率预测 | 稀疏、看不远 |
| RNN/LSTM | 用神经网络建模序列 | 长距离依赖仍难 |
| Transformer | 用注意力看全局关系 | 训练成本高 |
| 大语言模型 | 规模化预训练 + 对齐 | 成本、安全、幻觉问题 |
小结
这一节最重要的不是背年份,而是看懂一条主线:
语言模型一路都在解决同一个问题:怎样更好地利用上下文,预测和理解语言。
规则不够灵活,统计不够深,RNN 不够远,Transformer 才真正把规模化语言建模推到了今天的大模型阶段。
练习
- 修改上面的
corpus,加入更多句子,观察n-gram的预测结果怎么变化。 - 思考:为什么只靠 “当前词 -> 下一个词” 的统计,很难理解长文章?
- 用你自己的话解释一下:Transformer 相比 RNN,到底强在哪。