现代大语言模型可以被看作一类统一的基础模型,而 GPT-1 到 GPT-3 构成了这一路线的连续推进:GPT-1 回答了“预训练能否形成可迁移通用能力”,GPT-2 展示了“模型可直接从文本中学习任务模式”,GPT-3 则让 prompt 这种用法变得更稳定、更普遍,也更接近真正可用的任务接口。
沿着这条路线,现代 LLM 的三个基础环节被逐步建立起来:先通过预训练获得通用能力,再从大规模文本中学习任务模式,最后通过 prompt 直接调用这些能力。
这一阶段可以进一步归结为三个技术问题:
为什么自回归语言建模(根据前面的 token 预测下一个 token)可以成为通用训练目标?
为什么只靠“预测下一个 token”,模型最终还能学会各种具体任务?
为什么到了更大规模时,不更新参数、只改输入里的说明和示例,模型也能更稳定地把任务做出来?
GPT-1[2]、GPT-2[3]、GPT-3[5] 分别给出了比较清晰的回答。后续围绕模型行为约束、外部知识接入、执行能力扩展和模态拓展的大多数工作,都建立在这些答案已经成立的前提之上。
从训练方式和使用方式看,这条路线至少包含四个稳定特征:
统一目标:以自回归语言建模作为主训练目标。
统一架构:以
decoder-only Transformer[1]作为主要参数化结构。统一训练路径:先在海量无标注语料上预训练,再迁移到下游任务。
模型怎么被使用:从每个任务都要单独微调,逐步过渡到直接通过上下文调用。
因此,GPT-1 到 GPT-3 对应的是基础模型层的建立,要解释现代 LLM 在训练时到底学了什么、能力是怎么来的、又是怎么被调用的,就必须先解释这一阶段。
一、问题背景:为什么传统 NLP 范式不能直接推出 LLM
在 GPT 系列之前,NLP 的主流工作流以任务为中心。典型路径如下:
先定义任务要模型做什么,以及输出结果怎么表示
为特定任务设计模型结构。
在监督数据上训练或微调模型。
以该任务的专用指标进行评估。
这种范式存在几个结构性限制:
监督依赖强:模型性能与高质量标注数据强相关,长尾任务的数据获取和标注成本都很高。
模型复用性弱:不同任务往往对应不同结构、不同训练流程、不同损失设计。
迁移效率低:任务之间共享的语义和知识很难稳定地积累到同一套参数里。
接口不统一:任务能力主要由训练过程定义,而不是由自然语言输入直接调用。
GPT 路线的核心变化在于:研究对象从“任务”切换为“语言分布”。其基本假设是,如果模型能够充分拟合大规模自然语言分布,那么下游任务所需的大量知识、模式与映射关系,可能已经包含在这一分布内部。
换言之,GPT 路线并不首先问“怎样为每个任务设计模型”,而是先问“怎样训练一个统一模型,使其从文本分布中学习尽可能通用的能力”。这也就是后来基础模型路线的出发点。
二、GPT-1:为什么自回归预训练能够成为通用能力的起点
1. GPT-1 要解决什么问题
GPT-1 的核心问题是:
海量无标注文本能否先被模型学进去,再通过少量监督迁移到不同下游任务?
这个问题的重要性在于,它直接决定了 NLP 是否能够从“任务专用训练”转向“通用预训练 + 任务适配”。
2. GPT-1 采用了什么技术路线
GPT-1 采用 decoder-only Transformer(只看前文、持续预测下一个 token 的 Transformer),训练目标为标准自回归语言建模:
P(x_t | x_1, x_2, ..., x_{t-1})
训练时,模型在预测当前 token 时只能看前面的内容,不能看到后面的 token,因此它学到的是“根据前文预测下一个 token”。这一路线有几个关键技术性质:
目标统一:所有文本都可以转写为“预测下一个 token”的训练样本。
数据可扩展:不依赖人工标注,大规模文本可以直接提供训练信号。
参数共享充分:生成与迁移使用同一组基础参数,而不是为每个任务单独构造主体结构。
知识沉淀一致:模型学习的是语言统计、语义模式和条件生成规律,而不是单任务判别边界。
这里的关键不在于“生成”本身,而在于生成式目标提供了一种统一的、自监督的、可规模化的学习机制。GPT-1 的结论是:这一路线能够为分类、蕴含、问答等下游任务提供有效初始化,并在微调后显著优于从零训练。
3. GPT-1 把哪种训练方式确定了下来
GPT-1 的主要贡献可以归纳为三点:
确立预训练主阶段:预训练不再是辅助特征工程,而是能力形成的主体阶段。
确立统一基础模型:同一模型可以迁移到多个下游任务,而不是为每个任务重建主干网络。
确立生成式路线:语言理解能力可以通过生成式建模间接获得,而不必依赖任务专用理解目标。
4. GPT-1 的边界在哪里
GPT-1 仍然属于“预训练 + 显式微调”范式,其局限也很明确:
任务适配仍依赖微调:到了具体任务上,通常还要重新训练模型。
自然语言还不是主要接口:用户还不能只靠说明和示例直接调用模型能力。
直接做任务的能力还不稳定:不经过微调时,模型还不能稳定完成新任务
因此,GPT-1 建立的是“先预训练、再迁移”的训练方式,而不是统一的任务调用方式。
三、GPT-2:为什么只预测下一个 token 也能学会任务
1. GPT-2 要继续回答什么问题
GPT-2 向前推进的问题是:
在保持同一架构和同一训练目标的前提下,仅通过扩大模型与数据规模,语言模型能否直接表现出多任务能力?
这对应的研究重心已经从“预训练是否有效”转向“模型在大规模文本里究竟学到了什么”。
2. GPT-2 延续了什么,又改变了什么
GPT-2 沿用了 GPT-1 的主路线:
decoder-only Transformer
自回归语言建模目标
海量无标注文本训练
因此,GPT-2 的关键不在“更换范式”,而在于对同一范式进行规模化推进,并观察能力形态是否发生变化。它的重要变化主要来自三个方面:
模型规模扩大:模型参数容量显著提升,能够容纳更复杂的统计结构。
训练数据扩展:语料更接近开放域网页文本(但并非无筛选全网语料),其中包含大量自然形成的问题-回答、标题-正文、说明-结果等弱监督模式。
评估方式变化:重点从“微调后效果”扩展到“在不更新参数时模型能否完成任务”。
这里最关键的变化是训练数据更接近真实互联网文本。这样的文本里本来就有大量现成的任务例子,比如问题后面跟答案、标题后面跟正文、说明后面跟结果。模型在学习这些文本时,不只是学词和词怎么接在一起,也会逐渐学会:遇到什么样的输入,后面通常应该接什么样的输出。
3. 为什么 GPT-2 开始表现出任务能力
GPT-2 的关键结论可以概括为:
许多下游任务可以被重写为文本条件生成问题,而语言模型能够直接学习这类映射。
这意味着任务表示方式开始变化:
在传统做法里,一个任务通常要先准备专门的数据,再明确模型输出什么结果,并按这个任务单独训练。
到了 GPT-2,任务不一定非要先写成专门的数据集再训练,很多时候只要把问题、上下文和示例写进输入里,模型就会开始按这个任务去生成。
换句话说,GPT-2 开始不只是学“下一个词该怎么接”,还会学“这段输入看起来像是在做什么任务”。
这里要区分训练和推理两个阶段:
训练时,模型会在大规模文本里见到大量“问题后面接答案”“标题后面接正文”“说明后面接结果”这样的写法;
推理时,只要你给它一个问题,或者给它几个“问题—回答”的示例,它就更容易把当前输入当成同一种任务,然后按这个模式继续生成。比如,如果输入是一个问题,后面通常应该接答案;如果输入是一句英文,后面跟着中文,模型就更容易把它当成翻译任务;如果前面已经给了两三个输入输出示例,模型也会更容易继续按这个格式生成下去。
这里最关键的变化有两点:
模型开始从自然文本里学会一些常见任务的写法,比如提问后面接回答、标题后面接正文、说明后面接结果。
即使没有专门为某个任务重新训练,它也开始能够在一些场景下直接照着这些写法把任务做下去。
这也就是论文标题里 “Unsupervised Multitask Learner” 的意思:模型并不是先被明确教会每一个任务,而是在大量文本中先见过各种任务长什么样,然后在生成时把这些模式用出来。
4. GPT-2 还缺什么
GPT-2 虽然已经表现出多任务潜力,但这时还远没有到“拿来就很好用”的程度:
同一个任务,换一种提问方式,效果就可能明显变化。
有些例子里它能做对,但换一个相近例子,结果就不一定稳定。
它已经开始会照着输入里的任务写法往下做,但还不能像后来的模型那样,只靠上下文就比较稳定地进入任务状态。
因此,GPT-2 更准确的定位是:它已经让人看到了“模型可以直接从文本里学会做任务”这件事,但这种能力当时还不够稳定,也还不够容易直接使用。
四、GPT-3:为什么到了这一步,prompt 开始成为更稳定的任务调用方式
1. GPT-3 要解决什么问题
GPT-3 要继续回答的问题是:
如果继续扩大模型规模,那么“不更新参数也能做任务”这件事,能不能变得更稳定、更普遍,并真正成为一种可用的任务调用方式?
这一步的重要性在于,它直接改变了基础模型的使用方式。
2. In-Context Learning 到底意味着什么
in-context learning 在 GPT-2 中已经出现了苗头,而到了 GPT-3,它开始变得足够稳定、足够普遍,因此可以被当成这一代模型最重要的现象之一。其基本形式是:
在输入中给出任务说明;
在输入中给出少量示例;
模型根据这些说明和示例,判断当前任务的输入和输出该怎么对应;
模型在不更新参数的前提下生成目标输出。
从优化角度看,推理阶段并没有发生显式梯度更新;从行为角度看,模型却表现出临时适配任务的能力。因此,in-context learning 更准确的描述不是“模型在推理时训练了自己”,而是:
模型利用预训练时已经学到的任务样例模式,在当前上下文里判断应该按什么规则继续生成。
GPT-2 里这种能力已经出现,但到了 GPT-3,随着模型规模、数据规模和训练计算量继续扩大,模型更容易从 prompt 里识别任务意图、从少量示例里抓住输入输出规律,并在生成时把这种规律保持得更稳定。
这意味着 prompt 的角色发生了变化。它不再只是把问题输给模型,而是在同时告诉模型:现在要做什么、该按什么格式回答、前面的例子说明了什么规则。
3. 为什么到了 GPT-3,prompt 开始成为更稳定的任务调用方式
原因不在于 GPT-3 突然学会了一种全新的机制,而在于 GPT-2 中已经出现的现象,在更大模型、更多数据和更多训练计算量下变得更稳定了。模型规模更大之后,它更容易同时保留和调用不同任务的写法;见过的数据更多之后,它也更容易从 prompt 里认出用户到底是在让它做问答、翻译、分类,还是按示例继续生成。
所以,GPT-3 最关键的变化在于:GPT-2 已经让人看到,不重新训练模型也可能做任务;而到了 GPT-3,这件事开始变得更稳定、更普遍,也更像一种真正可用的使用方式。这个变化体现在三个方面:
few-shot learning 变得更可用:给几个示例,模型更容易照着这个任务稳定地做下去。
任务可以直接写成说明:很多任务不必先做成专门训练流程,直接用自然语言描述就行。
面对新任务时,第一步不再总是微调:很多时候可以先写 prompt,看看模型能不能直接做,而且成功率比前一代更高。
如果对比前两代,变化会更清楚:在 GPT-1 中,做新任务主要还是靠 fine-tuning;在 GPT-2 中,不更新参数也能做一些任务,但效果还不稳定;到了 GPT-3,很多任务已经可以通过“自然语言说明 + 几个示例”更可靠地直接做起来。
从实际使用上看,GPT-2 已经让人看到这种用法的苗头;而到了 GPT-3,很多不同任务才开始更像真的可以不先重新训练、直接把说明和示例写进输入里就试起来。
4. Scaling Laws 为什么是 GPT-3 的重要背景
GPT-3 没有引入全新的基础架构,但其行为与前代相比已经发生明显变化。要理解这一点,不能只看参数数量,还要看当时研究者对“继续做大是否值得”这件事的认识。Scaling Laws[4] 提供的正是这样一个背景:参数规模、数据规模和训练计算量与模型效果之间,存在相对稳定的经验关系。
Scaling Laws 工作的核心意思可以直接概括成三点。
第一,模型变大通常会带来更低的损失。 也就是说,在训练目标不变的情况下,只要规模继续扩大,模型效果往往会沿着比较平滑的趋势继续提升,而不是随机波动。
第二,参数、数据和训练计算量不是各堆各的。 如果模型很大但数据不够,或者数据很多但模型太小,效果都不会最好。真正重要的是三者之间的配比。
第三,固定预算下也存在更优的训练方案。 这意味着“要不要继续做大”不再只是拍脑袋,而是可以根据经验规律来估算下一步大概值不值得。
所以,Scaling Laws 的意义不只是告诉大家“更大通常更强”,而是把“继续做大”这件事从一种工程直觉,推进成了一条可以分析、可以比较、可以规划的技术路线,为 GPT-3 一类规模化实验提供了投入依据。
而对 GPT-3 来说,更关键的是,这种规模扩张带来的不只是训练指标上的提升,还会直接体现在模型的使用表现上:
模型更容易从少量示例中总结输入输出规律;
模型更容易保持输出格式和行为一致性;
模型也更容易把已经学到的语言和知识用到不同任务上。
因此,GPT-3 的关键不只是“更大模型效果更好”,而是:
当模型跨过一定规模区间后,自回归语言模型开始更稳定地表现出“给几个例子就能按要求做事”的能力。
五、从 GPT-1 到 GPT-3:这条路线到底发生了什么变化
如果将 GPT-1、GPT-2、GPT-3 放在同一条技术线上,可以看到三次明确的迁移。
1. GPT-1:建立了“预训练 + 微调”的基本训练方式
这是 GPT-1 建立的。
模型先在大规模无标注文本上做预训练。
到了具体任务上,再通过微调把能力迁移过去。
这样同一个模型就可以成为多个任务的共同起点。
2. GPT-2:开始出现“不微调也能做任务”的现象,但还不稳定
这是 GPT-2 推动的。
模型开始从自然文本里学会一些常见任务的写法。
在一些场景下,即使不重新微调,它也能直接把任务做一点。
但这种能力还很依赖 prompt 写法,稳定性也不够。
3. GPT-3:把这种现象推进成更稳定、更普遍的使用方式
这是 GPT-3 推动的。
不更新参数做任务这件事开始变得更稳定。
prompt 和示例开始更像一种真正可用的调用方式。
很多任务可以先不微调,直接通过说明和示例来尝试完成。
这三次变化连起来,就是现代基础模型最基本的工作链条:
先通过预训练学到通用能力 -> 再从大规模文本中学会任务怎么做 -> 最后通过 prompt 直接把这些能力用起来
六、GPT-1 / GPT-2 / GPT-3 技术对照表
| 维度 | GPT-1 | GPT-2 | GPT-3 |
|---|---|---|---|
| 核心问题 | 无标注文本能否先被模型学进去,再迁移到不同任务 | 语言模型能否直接从文本中学会任务模式 | 不更新参数做任务这件事,能否变得更稳定、更普遍、更可用 |
| 核心结论 | 生成式预训练 + 微调有效 | 语言模型开始表现出零样本多任务潜力 | in-context learning 在更多任务上展现出可用性 |
| 任务适配 | 下游 fine-tuning | 零样本 / 少样本 prompt 开始出现,但不稳定 | “自然语言说明 + 示例"开始成为更可靠的主要方式 |
| 怎么使用 | 主要靠训练和微调 | 开始依赖提示格式 | 很多任务开始主要靠上下文和 prompt |
| 主要限制 | 迁移有效,但高度依赖微调 | 能表现任务模式,但鲁棒性不足 | 能通过上下文适配任务,但仍受提示设计与规模限制 |
| 关键贡献 | 建立先预训练再迁移的训练方式 | 证明模型会从文本中学会任务模式 | 证明模型能力可以通过上下文直接调用 |
| 在这条路线中的作用 | 建立训练基础 | 建立能力基础 | 建立调用基础 |
七、总结
GPT-1、GPT-2、GPT-3 的技术意义可以压缩为三个结论:
GPT-1:生成式预训练可以作为通用能力的起点。
GPT-2:模型开始能从大规模文本里学会一些任务该怎么做。
GPT-3:很多任务开始可以不重新训练,只靠 prompt 和示例就更稳定地做起来。
因此,从 GPT-1 到 GPT-3,现代大语言模型最关键的三步被依次建立:
第一步:先用自监督预训练学到通用语言能力。
第二步:再从大规模文本中学会各种任务模式。
第三步:最后通过 prompt 在不微调的情况下调用这些能力。
后续围绕行为控制、知识增强、系统集成和模态扩展的工作,并没有改变这一层的基本逻辑,而是在其上继续扩展系统能力。
参考文献
【2】Improving Language Understanding by Generative Pre-Training
【3】Language Models are Unsupervised Multitask Learners