跳转至

[CS25 V1] GPT Models (GPT-3, Codex) — Mark Chen, OpenAI

LaTeX 源码 · 备用 PDF · 观看视频

字段 内容
作者/整理 基于公开课程资料整理
来源 Stanford Online
日期 2021

[CS25 V1] GPT Models (GPT-3, Codex) — Mark Chen, OpenAI

语言建模的演进

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 指标

\[ \text{pass@}k = \mathbb{E}\left[1 - \frac{\binom{n-c}{k}}{\binom{n}{k}}\right] \]

其中 \(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 展示了将语言建模应用于代码领域的巨大潜力,而基于执行的评估和大量采样是释放其能力的关键。

总结与延伸

本讲的四个核心要点:

  1. 神经语言建模进步迅速,GPT 系列是无监督学习推动的产物
  2. 自回归建模具有通用性,即使在有强归纳偏置的领域(图像、代码)也能取得出色结果
  3. 规模是涌现能力的关键驱动力
  4. 采样是提升模型性能的"不合理有效"的方法

拓展阅读

  • 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