系列:LLM 与 Transformer 关键论文深度解读(第 2/8 篇) | 其他论文见本目录 01–08 | 合集见工作区根目录《LLM与Transformer关键论文深度解读.md》。
[预训练范式] GPT-1:生成式预训练
论文信息
- 标题:Improving Language Understanding by Generative Pre-Training
- 作者:Alec Radford, Karthik Narasimhan, Tim Salimans, Ilya Sutskever(OpenAI)
- 发表年份:2018 年 6 月
- 会议/期刊来源:OpenAI 技术报告(arXiv: 1801.06146,未正式投稿会议)
- 引用量级:数万次(作为 GPT 系列的开山之作,广泛被引)
一、研究背景与核心问题
2018 年前后,NLP 的主流做法是:对每个任务训练专用模型,依赖大量人工标注数据(如问答、文本蕴含、情感分类各自需要独立数据集)。这带来两个问题:
- 标注数据稀缺且昂贵:高质量监督数据难以获取,尤其对资源匮乏任务;
- 缺乏通用语言知识:模型从零训练,无法复用从海量文本中习得的语法、常识与世界知识。
同时期 ELMo 等工作的思路是”预训练词向量/上下文表征再接入下游模型”,但只是把预训练当作特征提取器,模型的整体能力并未被迁移。GPT-1 的核心主张是:直接用无监督的语言建模(预测下一个词)预训练整个 Transformer 模型,再以最小改动微调到下游任务——把”预训练”从特征层面提升到”整个模型能力”层面。
二、核心方法与架构创新
GPT-1 确立了两阶段范式,后来被统称为”预训练 + 微调(pre-training + fine-tuning)”:
- 第一阶段:无监督生成式预训练。在未标注的大规模语料(BooksCorpus,约 8 亿词、7000 余本未出版书籍)上,用标准语言建模目标训练一个多层 Transformer 解码器:给定前文,预测下一个 token。模型仅 12 层、1.17 亿参数(当时已属较大模型)。
- 第二阶段:有监督判别式微调。对每个下游任务,把输入重排为带特殊标记的序列(start / delimiter / extract 结构标记),送入同一模型,在最后一层加一个线性分类头,用交叉熵损失微调。不同任务只需改变输入格式,模型主体结构几乎不变。
架构细节:Transformer 解码器(带掩码的多头自注意力 + 位置前馈网络),通过掩码保证只能看到当前位置左侧的 token,这正是”生成式”与”单向”的由来。
三、关键公式与模块设计原理
3.1 预训练目标(语言建模)
给定无标注 token 序列 U = {u₁, …, uₙ},最大化似然:
其中 k 是上下文窗口大小。模型只建模”根据前文预测下一个词”这一条件概率——这个看似简单的目标,让模型被动学会了语法、事实关联与推理线索。
3.2 微调目标
带标签数据集 C,输入序列 x¹…xᵐ 与标签 y,用交叉熵:
3.3 辅助目标(关键设计)
论文发现,把预训练目标作为辅助损失参与微调能提升收敛速度与泛化:
其中 λ 为权重(论文取 0.5)。这一”主任务 + 语言建模辅助”的思路,是后来所有生成式模型微调的雏形。
四、实验设置与主要结果
- 任务范围:12 个 NLP 任务,涵盖自然语言推理(NLI)、问答、句子相似度、分类四类。
- 主要结果:在 12 个任务中的 9 个取得当时最优(SOTA),其中包括:
- RACE 阅读推理:绝对提升 5.8 个百分点,是当时差距最大的任务之一;
- MultiNLI / QQP 等推理与相似度任务均刷新纪录。
- 意义:以”预训练一个通用模型 + 少量微调”的方式,同时超过此前各任务专用架构(如 BiLSTM + 注意力、ELMo 特征)多年积累的最优结果,验证了范式的普适性。
五、局限性与后续影响
局限性:
- 单向(从左到右)建模,无法利用右侧上下文(BERT 次年针对性解决了这一点);
- BooksCorpus 规模仅 8 亿词,语料单一;
- 微调仍需每任务标注数据,且任务间需重训模型。
后续影响:GPT-1 是 GPT-2(多任务语言模型)、GPT-3(上下文学习)、乃至 ChatGPT 整条产品线的原点;其”生成式预训练 + 判别式微调”范式与 BERT 的”掩码预训练”一起,构成了 2019 年起 NLP 的默认工作流。学界普遍将 GPT-1、BERT、ULMFiT、ELMo 并列为现代迁移学习在 NLP 中的点火之作。
如果这篇文章对你有帮助,欢迎分享给更多人!
部分信息可能已经过时





