← 返回 Transformer 专题 2019 · OpenAI GPT-2 原理:大数据与零样本崛起
GPT-2 在 GPT-1 的解码器架构基础上做到了两件事:把数据扩大到 40GB 的 WebText,并尝试在没有任务微调的情况下直接用提示做
zero-shot 推理。1.5B 参数版本在文本生成、摘要、翻译上展示了惊人的泛化。
关键词:WebText、零样本评估、Top-k/核采样
1. WebText 数据构建
OpenAI 抓取 Reddit 中 karma ≥ 3 的外链,过滤得到约 80 亿 token 的多领域文本(不含 Wikipedia),命名为 WebText。
- 多领域:新闻、论坛、代码片段、诗歌。
- 语言噪声少:使用质量投票过滤,保留更自然的写作风格。
- 加入 Byte Pair Encoding(50k 词表),便于跨语言和符号。
2. 模型规模梯度
不同大小共享架构,仅通过层数、宽度、头数扩展;最终 1.5B 版本最初未完全开放。
通过逐步扩大参数,OpenAI 分析「增加规模是否持续带来收益」,结论是:生成质量与任务评估得分几乎与 log(参数量) 线性相关。
3. 序列长度与优化
- 上下文长度从 512 提升到 1024,使得生成更加连贯(但训练时显存压力大)。
- 采用改进的 LayerNorm(仍为 Post-LN),并使用更大 batch(512 sequences)。
- 学习率采用 cosine decay + warmup 2000 steps,优化器为 Adam。
4. 推理:Top-k & 核采样
解码时通过限制候选集合 + 温度采样来兼顾流畅与多样性,降低模型“胡说”概率。
这些采样技巧后来成为 GPT 系列和大多文本生成模型的默认设置。
5. Zero-shot 评估与安全
- 通过自然语言提示直接在翻译、摘要、阅读理解上评估,无需任务特定微调。
- 表现虽逊于任务专用模型,但已经具备“理解提示”的能力。
- 出于滥用风险,OpenAI 最初只发布了 117M/345M/774M 模型,直到半年后才开放 1.5B 版本。
GPT-2 标志着「扩容 + 纯自回归 + 提示工程」路线的可行性,为更大规模的 GPT-3 奠定基础。