查看全课大纲(第 56 / 69 节)
- 1.NLP 的研究领域、应用与学习路径
- 2.自然语言的基本术语
- 3.信息论基础:信息熵与交叉熵
- 4.语言的进化与语义变迁
- 5.主观概率、客观概率与条件概率
- 6.贝叶斯原理与推理
- 7.随机变量:二项式、期望方差与联合概率
- 8.常见概率分布
- 9.辛普森悖论与贝叶斯解题实例
- 10.语言模型:语言概率与词袋模型
- 11.n-gram 语言模型(二元 / 三元 / N-Gram)
- 12.语言模型评价:交叉熵、困惑度与插值
- 13.朴素贝叶斯文本分类:垃圾邮件
- 14.拼写检查
- 15.中文分词:构词法、最大匹配、最优路径与 Jieba
- 16.词表示问题与语义相似度
- 17.TF-IDF 权重处理
- 18.One-Hot 表达与词表示的局限
- 19.Word2Vec 核心思想
- 20.Word2Vec 训练过程
- 21.Skip-gram 模型详解
- 22.词性标注任务与标注方法(规则 + N-Gram)
- 23.EM 算法与混合模型
- 24.高斯混合模型 GMM
- 25.从混合模型到隐马尔可夫模型
- 26.隐马尔可夫模型(HMM)推导与维特比解码
- 27.线性链条件随机场 CRF
- 28.贝叶斯网络与图模型
- 29.隐马尔可夫链与 HMM 推导
- 30.PLSA 主题模型
- 31.LSI 与 SVD 向量表达
- 32.LDA 与狄利克雷分布
- 33.主题模型实验复现(困惑度 / 分类 / 相似度 / 延展)
- 34.上下文无关文法(CFG)与句法分析
- 35.概率上下文无关文法 PCFG
- 36.统计机器翻译:词对齐与翻译模型
- 37.统计机器翻译中的对齐模型与参数估计
- 38.从统计机器翻译到神经机器翻译
- 39.神经元与反向传播速览(指向深度学习课)
- 40.CNN 原理及其在 NLP 中的应用
- 41.循环神经网络的基本原理与 Elman / Jordan 网络
- 42.LSTM:长短期记忆网络的核心思想与分步实现
- 43.Encoder-Decoder 框架
- 44.Seq2Seq 与早期注意力机制
- 45.注意力机制的背景与动机
- 46.注意力模型实现原理与匹配函数
- 47.记忆网络:组成与计算
- 48.注意力机制的应用与历史延展
- 49.Transformer 结构:Encoder-Decoder 栈与 Self-Attention
- 50.Multi-Head Attention、FFNN 与位置编码
- 51.层归一化、损失函数与 Universal Transformer 延展
- 52.预训练范式:从 ELMo 到 BERT
- 53.BERT 与掩码语言模型
- 54.BERT 下游任务微调与 GLUE 口径
- 55.GPT 与自回归语言建模
- 56.GPT-1 到 GPT-4 的演进
- 57.指令微调与 RLHF
- 58.分词器:BPE、WordPiece 与中文词表
- 59.上下文窗口与长文本处理
- 60.能力边界、成本与适用场景
- 61.文本分类实战:从朴素贝叶斯到逻辑回归
- 62.命名实体识别实战
- 63.文本生成与摘要实战
- 64.语义检索与向量库实战
- 65.RAG 知识库问答
- 66.NLP 评估指标:BLEU / ROUGE / BERTScore 与人工评估
- 67.幻觉与事实性问题
- 68.文本与知识结合(知识图谱压缩)
- 69.跨媒体信息检索与未来展望
GPT-1 到 GPT-4 的演进
小象实战讲义 · 自然语言处理
在掌握了 Transformer 架构和 BERT 等预训练模型后,我们自然要追问:那条专注于生成任务的预训练路径是如何发展的?本节将系统梳理 OpenAI GPT 系列模型的演进脉络,从开创性的两阶段预训练微调范式,到无需微调的提示与上下文学习,再到多模态与黑箱化的现代大模型。理解这条路径,能帮助我们看清自然语言处理如何从依赖任务标注数据,走向依赖大规模预训练与提示工程。
💡 核心导读
- GPT-1:确立了“无监督预训练 + 有监督微调”的两阶段范式,证明了预训练知识的可迁移性。
- GPT-2:提出“语言模型即多任务学习者”,探索仅通过提示(Prompt)进行零样本(Zero-shot)推理,无需微调。
- GPT-3:系统化“上下文学习”(In-context Learning),模型仅通过前向推理,利用提示中的少量示例(Few-shot)即可完成任务。
- GPT-4:迈向多模态输入(图像与文本),技术细节转为黑箱,报告重点转向能力评估与安全对齐。
演进主线:从微调到提示,再到黑箱
GPT 系列的演进,清晰地反映了自然语言处理范式的变迁。我们可以从三个维度来把握这条主线:
| 代 | 核心创新 | 训练/使用方式 | 定位简述 |
|---|---|---|---|
| GPT-1 | 预训练 + 有监督微调两阶段;任务改写成 token 序列 | 下游任务需微调全部模型参数 | 将“预训练知识可迁移”工程化为标准流程 |
| GPT-2 | 不微调,任务当作语言模型的续写(Zero-shot) | 仅前向推理,不更新任何参数 | 尝试用模型规模与提示设计替代下游任务数据 |
| GPT-3 | 上下文学习(0/1/Few-shot 示例) | 仅前向推理,不更新任何参数 | 将“少样本学习”内化为模型的核心能力 |
| GPT-4 | 多模态输入(图像+文本)与强化学习对齐 | 报告明确不披露架构、参数、数据、算力细节 | 能力边界继续扩展,但技术细节转入产品黑箱 |
共同趋势是:下游任务所需的标注数据越来越少,对预训练模型规模、提示工程和上下文学习能力的依赖越来越大。
逐代详解:一手报告中的关键设计
GPT-1:两阶段范式的确立
GPT-1 的贡献在于系统性地验证并工程化了生成式预训练的有效性 (Improving Language Understanding by Generative Pre-Training, Radford et al., 2018,官方PDF)。
- 模型结构:采用12层Decoder-only的Transformer架构,隐层维度768,12个注意力头,参数总量约1.17亿(报告值)。
- 预训练数据:使用BooksCorpus数据集,包含约7,000本未出版书籍的文本。
- 核心流程:
- 无监督预训练:标准语言模型目标,最大化序列的似然概率。
- 有监督微调:将下游任务(如分类、蕴含、相似度)的输入改写成单一的token序列(使用
[START],[DELIM],[EXTRACT]等特殊token分隔),模型在任务数据上继续训练。微调目标函数为 ,即任务损失加上一个辅助的语言模型损失,以防止灾难性遗忘。
- 意义:在12个评测任务中的9个取得了当时的最优结果,证明了基于Transformer的生成式预训练是一种强大的通用文本表示学习方法。
GPT-2:零样本任务执行的探索
GPT-2 的核心主张是:一个足够强大的语言模型,无需微调就能通过理解任务描述(提示)来执行多种任务 (Language Models are Unsupervised Multitask Learners, Radford et al., 2019,官方PDF)。
- 模型规模:最大版本拥有15.42亿参数(报告值),48层,隐层维度1600,使用50,257大小的BPE词表,上下文窗口为1024个token。
- 核心思想:零样本(Zero-shot)学习。例如,将翻译任务提示写成“
translate English to French: cheese =>”,让模型直接续写“fromage”。模型在训练时见过大量互联网文本中自然存在的“任务描述-结果”模式,从而学会了在推理时执行任务。 - 重要影响:论文明确讨论了模型能力可能被双用途(Dual Use)的问题,因此采取了分阶段发布的策略。这标志着大模型的社会影响开始进入研究者的核心考量。
顺手算一笔参数账,看看「词表」和「上下文」这两个数字到底意味着什么(只用乘法和百分比,不涉及任何训练):
import numpy as np
vocab, d_model = 50257, 1600
emb_params = vocab * d_model
print(f"词表嵌入参数量 = {emb_params:,} ≈ {emb_params/1e6:.2f}M")
print(f"占 GPT-2 最大版 1.542B 的比例 = {emb_params/1.542e9:.2%}")
for ctx in (1024, 2048, 4096):
scores = ctx * ctx
print(f"上下文 {ctx:>4} → 单层单头注意力分数矩阵 {scores:,} 个数,是 1024 时的 {scores/1024**2:.0f} 倍")词表嵌入参数量 = 80,411,200 ≈ 80.41M
占 GPT-2 最大版 1.542B 的比例 = 5.21%
上下文 1024 → 单层单头注意力分数矩阵 1,048,576 个数,是 1024 时的 1 倍
上下文 2048 → 单层单头注意力分数矩阵 4,194,304 个数,是 1024 时的 4 倍
上下文 4096 → 单层单头注意力分数矩阵 16,777,216 个数,是 1024 时的 16 倍两行读数各有用途:① 光词表嵌入就吃掉 5.21% 的参数,所以后面讲义讲「词表大小」时不能当成无关紧要的一个数;② 上下文从 1024 翻到 4096 是 4 倍长度,但注意力分数矩阵涨了 16 倍——长度线性、成本平方,这就是长上下文要额外做工程(如分块、稀疏注意力、位置外推)的原因。
GPT-3:上下文学习的系统化
GPT-3 在结构上没有革命性改动,其真正的贡献是将 上下文学习(In-context Learning) 作为一种可靠的能力进行了系统性探索和展示 (Language Models are Few-Shot Learners, Brown et al., 2020,arXiv:2005.14165)。
- 模型规模:参数量达到1750亿(报告值)。论文用规模-性能曲线呈现「参数越大、同样设置下分数越高」这一规律(scaling law 的提法出自同期另一篇专门研究,见论文引用);把它当成「规模一涨就自动出现新能力」的涌现叙事,是后来才流行起来的解读,本节不作此断言。
- 三种推理设置:
- Zero-shot:仅给出任务指令。
- One-shot:给出指令和一个示例。
- Few-shot:给出指令和少量(通常10-100个)示例。
- 关键澄清:上下文学习不是微调。模型参数在整个过程中完全冻结,仅通过一次前向传播,利用注意力机制将提示中的示例作为“临时工作记忆”来指导对当前问题的回答。这是一种基于推理的元学习。
- 结果:在众多任务上,GPT-3的Few-shot性能接近甚至超过了需要大量任务特定数据微调的模型基线。
GPT-4:多模态与黑箱时代
GPT-4 报告标志着大模型开发从“可复现的研究”向“黑箱化的产品”的转变 (GPT-4 Technical Report, OpenAI, 2023,arXiv:2303.08774)。
- 最直观的革新:支持多模态输入,能够同时处理图像和文本,并基于此生成文本输出。这超越了纯文本语言模型的范畴。
- 最大的变化:技术细节的隐匿。报告开篇即声明:“鉴于竞争格局和安全影响,本报告不包含关于架构(包括模型大小)、硬件、训练计算、数据集构建、训练方法等的进一步细节。” 因此:
- 任何关于GPT-4具体参数量、层数、训练数据量的数字都属于猜测,不应在讲义中引用。
- 报告重点转向对模型能力的广泛评估(尤其在专业和学术考试上的表现)以及对齐(Alignment)与安全性的讨论(配套的 System Card 文档详细记录了红队测试和风险缓解措施)。
- 意义:GPT-4的报告更像一份产品能力说明书和安全白皮书,而非可供学术界复现的技术论文。这提醒我们,学习此类报告的目标是理解模型的能力边界和产业界的安全评估方法,而非其实现细节。
演进背后的轴线
- 范式轴:全参数微调 → 零样本提示 → 上下文学习 → 多模态对齐。这条轴线反映了人机交互方式的根本变化:机器越来越擅长理解人的意图(通过自然语言提示),而人需要提供的任务特异性信息越来越少。
- 规模轴:1.17亿 → 15.42亿 → 1750亿 → 不披露。规模扩大是能力提升的关键驱动力,但GPT-4对规模的保密也表明,规模优势本身已成为企业的核心壁垒。
- 透明度轴:完整的技术论文 → 保留部分细节的论文 → 侧重能力评估的报告。透明度降低是产业竞争与安全顾虑下的必然结果,也促使开源社区(如LLaMA系列)发展出另一条可复现、可研究的路径。
今天怎么做:预训练、对齐与增强
GPT系列的演进指明了当代大语言模型发展的核心范式:“预训练 + 对齐 + 工具/检索增强”。
- 预训练:在海量文本(和多模态)数据上训练一个基础语言模型,获得通用知识和能力。
- 对齐:通过指令微调(Instruction Tuning)和基于人类反馈的强化学习(RLHF)等技术,使模型行为与人类价值观和意图对齐。这将在下一节详细讨论。
- 增强:通过检索增强生成(RAG)为模型接入外部知识库,或通过函数调用(Function Calling)让模型使用外部工具,以克服其固有缺陷(如知识过时、幻觉等)。这将在第11、12章的实战中涉及。
本节作为演进历史的梳理,旨在帮助大家建立清晰的坐标系,理解当前各种大模型技术所处的历史位置。
📝 动手练一练
- 概念辨析:请简述 GPT-3 的“Few-shot 上下文学习”与传统的“有监督微调”最根本的区别是什么?
👉 点击查看参考答案
最根本的区别在于模型参数是否更新。
- 有监督微调:需要准备任务特定的标注数据集,在此数据集上通过反向传播算法更新模型的权重参数。这是一个训练过程。
- Few-shot 上下文学习:不需要准备专门的数据集进行训练,也不更新模型的任何参数。用户只是在推理时,将任务描述和几个示例作为提示(Prompt)输入给模型,模型通过单次前向传播,利用注意力机制“参考”这些示例,然后生成答案。这是一个纯粹的推理过程。
- 报告理解:为什么在撰写关于 GPT-4 的技术内容时,我们不能引用其具体的参数量或层数?
👉 点击查看参考答案
因为在官方发布的 GPT-4 Technical Report 中,OpenAI 明确声明:“鉴于竞争格局和安全影响,本报告不包含关于架构(包括模型大小)、硬件、训练计算、数据集构建、训练方法等的进一步细节。” 这意味着所有关于 GPT-4 具体参数量、层数、数据量的信息都未被官方披露,外界流传的数字均属猜测。作为严谨的讲义,我们必须依据一手信源,因此不能引用这些未经官方确认的猜测性数据。
延伸阅读
- Improving Language Understanding by Generative Pre-Training (Radford et al., 2018) – 官方PDF
- Language Models are Unsupervised Multitask Learners (Radford et al., 2019) – 官方PDF
- Language Models are Few-Shot Learners (Brown et al., 2020) – arXiv:2005.14165
- GPT-4 Technical Report (OpenAI, 2023) – arXiv:2303.08774
- GPT-4 System Card (OpenAI, 2023) – 官方PDF
本章小结
本节我们追溯了 GPT 系列模型从 1 到 4 的演进历程,这条路径清晰地展示了自然语言处理如何从依赖任务微调,走向依赖大规模预训练、提示工程和上下文学习。GPT-1 确立了预训练-微调范式;GPT-2 探索了零样本提示的潜力;GPT-3 将上下文学习能力推向主流;GPT-4 则开启了多模态与黑箱化的产品新时代。理解这一演进,是理解当前大模型生态的基础。
📋 行动清单
- 能够清晰阐述 GPT-1, GPT-2, GPT-3 各自解决的核心问题与采用的关键技术。
- 理解“上下文学习”与“微调”的本质区别,并能向他人解释。
- 认识到 GPT-4 技术报告的特点(重能力评估与安全,轻技术细节),并以此为例思考大模型时代技术透明度的变化。
—— 小象教研组