[CS25 V1] GPT Models (GPT-3, Codex) — Mark Chen, OpenAI
| 字段 | 内容 |
|---|---|
| 作者/整理 | 基于公开课程资料整理 |
| 来源 | Stanford Online |
| 日期 | 2021 |
![[CS25 V1] GPT Models (GPT-3, Codex) — Mark Chen, OpenAI](cover.jpg)
语言建模的演进
Mark Chen(OpenAI)以语言建模能力的进化为线索,展示了从 n-gram 到 GPT-3 的发展轨迹。
从 n-gram 到 RNN
2011 年以前的语言模型依赖巨大的 n-gram 查找表,生成文本几乎不可读。神经网络语言模型(尤其是 RNN)的引入使生成文本开始具有句子的"流畅感",尽管语义仍不连贯。
LSTM 与长距离依赖
LSTM 通过门控机制改善了梯度流,能更好地建模长程依赖。生成文本开始在短段落内保持一定的连贯性,但仍有明显的重复和逻辑断裂。
Transformer 语言模型
自回归 Transformer 在建模长距离依赖方面更为出色。GPT-2 的生成已可保持多句连贯性,GPT-3 则能在多段落间维持角色一致性(如虚构的 Perez 博士)。
GPT-3 的标志性能力
GPT-3 的"最佳采样"质量大致相当于 GPT-2 的 top-1/top-5 采样。其 175B 参数模型能在多段落间保持风格一致性(如模仿《三体》的叙事风格),并产生诗意的隐喻。
人类能否分辨 GPT-3 生成的文本?
在新闻文章场景下,随着模型参数增加,人类分辨真假文章的准确率趋近于随机猜测(约 50%),说明大模型的生成质量已接近真实文本。
本章小结
语言建模的进步经历了 n-gram \(\to\) RNN \(\to\) LSTM \(\to\) Transformer 的路径,每一步都显著提升了生成文本的连贯性和多样性。
从语言建模到无监督学习
为什么关心语言建模?
Mark Chen 坦言,语言建模本身是一个相对狭窄的能力。OpenAI 真正关心的是无监督学习——如何从海量无标注数据中学习可迁移的表示。
监督学习的瓶颈
监督学习需要大量标注数据,而标注成本高昂且难以规模化。互联网提供了近乎无限的无标注文本数据,关键问题是:能否利用这些数据来解决下游任务?
生成模型与 Analysis by Synthesis
Richard Feynman 的名言"What I cannot create, I do not understand"及其逆命题"What I can create, I can also understand"为生成式预训练提供了理论直觉:如果模型能生成多样且连贯的文本,那它必然建立了有助于语言理解的内部表示。
自回归建模的合理性
自回归目标看似"局部"——仅预测下一个 token。但考虑推理小说的场景:要准确预测揭晓凶手的那个 token,模型需要理解整个故事的逻辑链条。因此下一 token 预测实际上隐含了全局理解的需求。
Sentiment Neuron 的发现
2017 年,OpenAI 训练了一个预测 Amazon 评论下一字符的 LSTM 模型,惊讶地发现其中一个神经元自发学会了情感分类——正激活对应正面评论,负激活对应负面评论,且未见过任何标签。
本章小结
GPT 系列的核心动机并非语言建模本身,而是将其作为无监督学习的手段。自回归预训练 + 微调(或 zero-shot)的范式已成为 NLP 的主导框架。
GPT 系列的演进
GPT-1:预训练 + 微调
GPT-1 在互联网文本上预训练后,通过简单的分类头微调即可在多个下游任务上取得优异表现,证明了"预训练 + 微调"路线的可行性。
GPT-2:Zero-shot 能力的涌现
GPT-2 的关键洞察:许多下游任务可以自然地表达为语言模型的补全问题:
- 阅读理解:将段落和问题拼接,在"Answer:"后补全
- 摘要:在文本后加"TL;DR"
- 翻译:格式化为"Sentence ... translated from French to English means"
规模的作用
Zero-shot 能力随参数规模平滑提升。此外,zero-shot 与 few-shot 之间的性能差距也随规模增大而扩大,说明大模型更擅长"学习如何学习"。
GPT-3:元学习视角
GPT-3 的核心洞察:训练过程可以被解读为元学习——外层循环是 SGD 训练步,内层循环是模型根据 prompt 识别并适应当前任务。
In-Context Learning 的涌现
Few-shot 算术实验显示,能力随参数量增加出现"阶跃函数"式的跃升——在接近 175B 参数时,加法、减法甚至部分乘法的准确率急剧上升。
本章小结
GPT-1/2/3 展示了从微调到 zero-shot/few-shot 的范式演进,核心驱动力是规模——更大的模型在预训练中发展出更强的 in-context learning 能力。
将 GPT 应用于图像
Image GPT
将图像视为"像素语言",用自回归方式预测下一个像素。模型在 ImageNet 无标签数据上预训练后:
- 能生成多样化的图像补全(同一上半部分产生不同下半部分)
- 线性探测的特征质量优于同规模的有监督 ResNet
- 在 CIFAR-10 上达到 99% 准确率
DALL·E:跨模态生成
DALL·E 在文本-图像拼接序列上训练 Transformer,实现了文本到图像的生成。令人印象深刻的 zero-shot 能力包括:
- 风格转换(照片 \(\to\) 素描)
- 图像着色
- 语义变换(给猫加墨镜)
- 逆 OCR(渲染指定文本)
本章小结
自回归建模具有通用性——相同的架构和训练范式可以直接应用于图像,且在缺少领域归纳偏置的情况下仍能获得有竞争力的表示。
Codex:代码生成模型
动机
- GPT-3 在几乎未训练过代码数据的情况下就展现了初步的代码生成能力
- 代码具有独特优势:可以通过单元测试客观评估功能正确性
HumanEval 数据集
164 道手写编程题,每题平均 8 个单元测试。手写的原因是避免 GitHub 上已有解答的"数据泄露"。
Pass@k 指标
其中 \(n\) 是生成的样本数,\(c\) 是通过单元测试的样本数。这是一个无偏估计量,避免了直接采样 \(k\) 个样本带来的高方差。
BLEU 不适用于代码评估
对于同一问题的正确和错误解答,BLEU 分数的分布存在大量重叠,无法有效区分功能正确性。因此必须使用基于执行的评估指标。
采样的"不合理有效性"
核心发现
从 12B 参数模型中采样 100 次,pass@100 从 pass@1 的不到 30% 跃升至超过 70%。这不是简单的重复采样——模型在不同样本中会组合出功能不同的解法。
温度参数影响采样多样性:pass@1 适合低温(高置信度),pass@100 适合高温(高多样性)。
Codex-S:监督微调
在竞赛编程题和含 CI 测试的开源项目上微调,进一步提升性能。能力提升路径:GPT-3 \(\to\) Codex \(\to\) Codex-S \(\to\) + 重排序 \(\to\) + Oracle。
局限性
- 变量绑定:多变量复杂操作时容易混淆
- 组合泛化:能完成单个简单操作,但难以组合 \(n\) 个操作
本章小结
Codex 展示了将语言建模应用于代码领域的巨大潜力,而基于执行的评估和大量采样是释放其能力的关键。
总结与延伸
本讲的四个核心要点:
- 神经语言建模进步迅速,GPT 系列是无监督学习推动的产物
- 自回归建模具有通用性,即使在有强归纳偏置的领域(图像、代码)也能取得出色结果
- 规模是涌现能力的关键驱动力
- 采样是提升模型性能的"不合理有效"的方法
拓展阅读
- Brown et al., Language Models are Few-Shot Learners, NeurIPS 2020
- Chen et al., Evaluating Large Language Models Trained on Code, 2021
- Ramesh et al., Zero-Shot Text-to-Image Generation (DALL·E), 2021