自监督学习
监督学习要"人工标答案",成本高到天花板。自监督学习的关键洞察——数据本身就藏着答案,让机器自己造问题来考自己。这就是今天所有大语言模型(GPT、Claude、DeepSeek)的训练方式。
先把术语翻译成人话
这一篇的术语最容易把人吓住——"代理任务""对比学习""掩码建模"。其实它们干的活儿说白了就是"把课文遮住几个字,自己猜,答案就在原文里"。先摆一张对照表。
| 术语 | 换成大白话 | 生活里对应什么 |
|---|---|---|
| 自监督学习(Self-Supervised Learning) | 没人给你出题,你把课文自己遮几个字来考自己 | 背古诗时用手挡住下一句,逼自己想出来 |
| 标注(Label / Annotation) | 人一条一条给数据写上标准答案 | 老师熬夜给全班的作业批红叉 |
| 代理任务(Pretext Task) | 一个本身没用、但做它必须真看懂内容的练习 | 抄笔记不是为了那本笔记,是为了记住 |
| 掩码(Mask) | 把一部分内容盖住 | 老师用纸片挡住黑板上的关键词 |
| MLM 掩码语言模型 | 盖住中间的字,看前后文猜 | 完形填空 |
| NTP 下一词预测 | 只给前文,猜下一个字 | 接下句、背课文 |
| 对比学习(Contrastive Learning) | 判断"这两个是不是同一个东西" | 认出朋友的正脸照和侧脸照是同一个人 |
| 数据增强(Augmentation) | 把同一样东西换个角度、换个光线再看一遍 | 同一个包裹拍正面、拍侧面、拍暗光下 |
| 表征 / Embedding | 把一样东西压成一串数字,方便比较 | 图书馆给每本书编一个分类号 |
| 预训练 + 微调 | 先上通识教育,再分专业 | 学校先上九年义务教育,再进专业科室轮转 |
你有一本小说,老师不给你出题,让你"把小说里的句子挖掉一个词,自己填回去"。
原句:"今天天气真____,我们去公园吧。"
你遮住"好"字,再问自己:"这里应该是什么?" 答:"好。"
这样练 100 万次,你不仅记住了所有词,还潜移默化理解了"什么词通常出现在什么语境"。
你不需要老师标答案——原文本身就是答案。
监督 / 无监督 / 自监督 · 一张图说清
| 方法 | 答案来自哪 | 需要人标注? | 典型应用 |
|---|---|---|---|
| 监督学习 | 人工标注 | 必须 | 垃圾邮件识别、医疗影像 |
| 无监督学习 | 没有答案 | 不需要 | 用户聚类、降维 |
| 自监督学习 | 数据本身 | 不需要 | 大语言模型预训练 |
这张三行表还漏了一个关键维度——数据量的天花板。监督学习的数据量上限等于"人类愿意花多少钱标注",所以最大的标注数据集也就在千万到亿的量级(ImageNet 1400 万张图,已经是历史上最大的手工标注工程之一)。自监督学习的数据量上限等于"世界上存在多少数据",直接跳到万亿量级。这不是提升了一倍两倍,而是提升了五六个数量级——量变到这个程度就变成了质变,这才是自监督真正的意义所在。
"五六个数量级"太抽象,换成大白话:监督学习能读的书相当于一间县城图书馆,自监督能读的书相当于全世界所有图书馆加上所有人写过的所有帖子。打个比方,前者是给一个学生配了一柜子参考书,后者是让他把人类写下的字全过一遍——这不是"多读一点",这是换了一个物种的读法。
另一个必须澄清的概念混淆:自监督在数学上完完全全是监督学习。它用交叉熵损失、用反向传播、用梯度下降,有明确的输入 x 和明确的标签 y,训练代码和一个普通的分类器几乎一样。唯一的区别是那个 y 是从数据自身用一条规则自动构造出来的,而不是人手打的。所以更准确的名字应该叫"自动标注的监督学习"——Yann LeCun 甚至公开主张废弃"无监督学习"这个词,因为它容易让人误以为里面没有监督信号。
那么"构造 y 的那条规则"叫什么?它有个专门的名字:代理任务(Pretext Task)。这个词很传神——它是个"托词"、"借口",我们根本不在乎模型在这个任务上做得多好,我们只在乎模型为了做好这个任务而被迫学到的内部表征。预测被遮住的词本身毫无商业价值,但一个能准确预测被遮住的词的模型,必然在内部建立起了关于语法、语义、事实和推理的表示——这些表示才是我们真正要的东西。
"代理任务"这个词翻译成人话就是"练功的套路,不是上台的招式"。好比让厨师学徒天天切一整筐土豆丝——切土豆丝本身不值钱,饭店也不卖这道菜,但要想把丝切得又细又匀,他必须练出刀感、手腕稳定和对案板的距离感,这些才是真本事。模型做完形填空也是一样:填对那个字不重要,为了填对而不得不学会的语法和常识,才是我们要的。
| 代理任务 | 造 y 的规则 | 被迫学到什么 | 代表工作 |
|---|---|---|---|
| 下一词预测 | y = 原文里的下一个 token | 语法、语义、世界知识、推理 | GPT 系列(2018–) |
| 掩码语言建模 | y = 被 [MASK] 掉的那个 token | 双向上下文理解 | BERT(2018) |
| 图像着色 | y = 原彩色图(输入是灰度版) | 物体类别(知道天空该蓝、草该绿) | Zhang et al.(2016) |
| 拼图复原 | y = 九宫格被打乱前的正确顺序 | 物体的空间结构和部件关系 | Noroozi & Favaro(2016) |
| 旋转角度预测 | y = 图片被旋转了 0°/90°/180°/270° | 物体的规范朝向,因此必须认出物体 | Gidaris et al.(2018) |
| 对比学习 | y = "这两个视角来自同一张图吗" | 对光照、裁剪、颜色不变的语义特征 | SimCLR / MoCo(2020) |
| 掩码图像建模 | y = 被遮住的那些图像块的像素 | 图像的整体结构与纹理 | MAE(2021) |
| 图文匹配 | y = "这段文字配这张图吗" | 跨模态的共享语义空间 | CLIP(2021) |
看这张表你会发现一个规律:好的代理任务必须"做对它就非得理解内容不可"。旋转角度预测就是极好的例子——要判断一张图被旋转了多少度,你必须先认出图里是什么(知道人是站着的、树是往上长的、汽车轮子在下面)。反之,坏的代理任务会有"捷径":早期有人试过让模型预测两个图像块的相对位置,结果模型学会了靠比对相邻块边缘的色度渐变来作弊,完全不理解内容。设计代理任务的全部艺术,就在于堵死所有捷径,只留下"真正理解"这一条路。
自监督的三大经典任务
掩码预测 · Masked
把句子里一个词挖掉,让模型猜。
例:"人工智能是计算机科学的一个____。"
BERT 就是这么训的。
下一词预测 · Next Token
给前 N 个词,猜下一个。
例:"今天天气真" → 下一个词大概率是"好"。
GPT 系列就是这么训的。
对比学习 · Contrastive
给两张图,判断"是不是同一个东西"。
同一只猫的两张照片 vs 猫和狗的照片。
图片搜索、人脸识别常用。
NLP 的两种范式:BERT 的掩码 vs GPT 的自回归
两个缩写先摊开:MLM(Masked Language Modeling,掩码语言建模——盖住中间的字,让模型看着前后文猜),NTP(Next Token Prediction,下一词预测——只给前文,让模型猜下一个字)。简单说:MLM 是完形填空,前后文都能看;NTP 是接下句,只能看前面。就像考试里两种题型——完形填空当然更容易答准,但只有会接下句的人才能自己写文章。
2018 年是 NLP 的分水岭年。这一年 6 月 OpenAI 发了 GPT-1,10 月 Google 发了 BERT,两者都用自监督预训练,但代理任务的选择完全不同——而这个选择差异,在此后五年里决定了两条技术路线截然不同的命运。
BERT 走掩码路线(MLM,Masked Language Modeling)。它把输入句子里随机 15% 的 token 替换成 [MASK],让模型根据左右两侧的全部上下文来还原它们。这个"双向"是 BERT 名字里 B(Bidirectional)的来源,也是它当时碾压所有对手的原因——理解一个词的含义,显然应该同时看它前面和后面。
BERT 的 MLM 具体做法(原论文的 15% 策略):
原句: 今天 天气 真 好 , 我们 去 公园 吧
选中 15% 的 token 后,对每个被选中的位置:
80% 的概率 → 替换成 [MASK] "今天 天气 真 [MASK] ,..."
10% 的概率 → 替换成随机词 "今天 天气 真 香蕉 ,..."
10% 的概率 → 保持原词不动 "今天 天气 真 好 ,..."
为什么要搞得这么复杂,不全都换成 [MASK]?
因为 [MASK] 这个符号在真实使用(微调/推理)时根本不存在!
如果训练时模型只见过 [MASK],就会形成"预训练-微调不一致",
它会学成"只在看到 [MASK] 时才认真思考"。
混入随机词和原词,逼它对每个位置都保持警觉。
BERT 还有第二个任务 NSP(Next Sentence Prediction):
判断句子 B 是不是紧跟句子 A 的下一句。
后来 RoBERTa(2019)证明这个任务其实没啥用,去掉反而更好。
GPT 走自回归路线(NTP,Next Token Prediction)。它只看左边,逐个预测下一个 token,靠因果掩码(causal mask)严格禁止模型偷看未来。从纯粹的"理解"角度看,这明显比 BERT 吃亏——你预测第 5 个词时只能用前 4 个词的信息。事实上 2018–2020 年间,BERT 在几乎所有理解类基准(GLUE、SQuAD)上都压着 GPT。
但 GPT 有一个当时不被重视、后来彻底改变格局的特性:它的预训练任务和"生成"这件事天然同构。一个训练好的 NTP 模型可以直接一个词一个词地往下写,无限续写。而 BERT 因为是双向的,它不知道怎么"从头开始生成"——你要让它写一篇文章,它没有一个自然的起点和推进方式。
| 维度 | BERT(MLM,掩码) | GPT(NTP,自回归) |
|---|---|---|
| 能看到的上下文 | 双向(左右都看) | 单向(只看左边) |
| 每个样本的训练信号 | 只有 15% 的位置产生损失 | 每个位置都产生损失(信号密度高 6 倍多) |
| 能不能生成 | 不自然,需要额外设计 | 天然就是生成器 |
| 预训练-微调是否一致 | 不一致([MASK] 只在预训练存在) | 完全一致 |
| 2018–2020 的地位 | 绝对霸主,理解类任务全面领先 | 被看作"能写点东西的玩具" |
| 2022 之后的地位 | 退居检索、分类、embedding 等专用场景 | 统一了几乎所有 NLP 任务 |
| 典型参数规模演进 | Base 1.1 亿 / Large 3.4 亿,之后基本停滞 | 1.17 亿 → 15 亿 → 1750 亿 → 万亿级 |
为什么最后是 GPT 赢了?三个原因叠加。第一,训练信号密度:BERT 每个句子只有 15% 的位置产生梯度,GPT 是 100%,在同样的数据和算力下 GPT 的学习效率更高,因此更"耐得住"规模扩张。第二,生成即通用接口:一旦模型足够强,翻译、摘要、分类、问答全都能改写成"续写一段文本"——2020 年 GPT-3 论文的标题《Language Models are Few-Shot Learners》说的就是这件事,你不需要为每个任务微调一个模型,只需要把任务写进提示词。第三,规模定律(Scaling Law)在自回归上验证得更彻底:2020 年 Kaplan 等人的论文给出了损失随参数量、数据量、算力呈幂律下降的经验规律,这给了整个行业"堆算力就一定变强"的信心和依据。
"信号密度差 6 倍多"这一条最好用生活里的账来体会:想象一下同一篇一百字的课文,BERT 只在其中 15 个字上被考到、拿到反馈;GPT 是 100 个字每个字都被考一遍。相当于同样读一遍课文,一个人做了 15 道题,另一个做了 100 道题。说白了就是同样的电费、同样的书,后者能榨出六七倍的练习量——规模一大,这个差距就变成了压倒性的。
这是技术史上一次经典的"看似更弱的设计因为可扩展性而胜出"。BERT 在小规模上更优雅、更强;GPT 在大规模上更能吃下算力。当算力增长成为时代主线时,后者赢了。今天 BERT 系并没有消失,它活在需要快速产出句向量的场合——搜索召回、语义相似度、文本聚类,这些场景要的是一个高质量的固定长度向量,而不是生成能力。
想象一下你在教室里背课文,老师不在,也没有练习册。你会怎么练?拿手挡住下一句,逼自己先想出来,再挪开手对一眼。——这就是自监督学习的全部秘密,一句话说完了。
妙处在于两件事同时成立:一是出题不要钱。你不需要老师熬夜出卷,课文本身就能出无限多道题,遮哪个字就是一道题;二是答案永远是对的。答案就印在你手底下,不存在老师批错、不存在两个老师标的答案不一样。监督学习最贵的两件事——出题和给答案——在这里同时降到了零成本。
再往深一层:为什么这么练能练出真本事?因为要猜对"今天天气真_"里的那个字,你得懂搭配;要猜对"爱因斯坦提出的著名理论叫_",你得知道爱因斯坦是谁;要猜对"2 + 3 × 4 = _",你得会运算优先级。换成大白话:这道填空题看着简单,可想填对,你就不得不把语法、常识、事实、算术全学会。
对比一下就更清楚了:监督学习好比做学校发的作业本,题量取决于老师出了多少题;无监督学习好比让你把书房的书自己分堆,分完了也不知道分得对不对;自监督学习相当于把整座图书馆都变成了自带答案的练习册——书有多少,题就有多少。
对比学习:视觉领域的自监督怎么破局
NLP 的自监督之所以顺利,是因为文本天生离散——遮住一个词,答案是词表里的某一个,这是个干净的分类问题。图像麻烦得多:遮住一块像素,让模型还原原始像素值,它会倾向于学到低级的纹理和颜色统计,而不是"这是一只猫"这种语义。视觉自监督卡了很多年,直到 2020 年对比学习让它突破。
对比学习的思路极其简洁:同一张图的两个不同视角,在表示空间里应该靠得很近;不同图片,应该离得很远。它不去还原像素,只关心"表示之间的相对关系",这从根本上绕开了"像素级重建导致学到低级特征"的陷阱。
打个比方:这相当于快递分拣线上认包裹——同一个包裹正面拍一张、侧着拍一张、光线暗一点再拍一张,你得认出这三张是同一个货;换成隔壁那个包裹,你得说"不是同一个"。分拣员并不需要知道箱子里装的是什么,只要能可靠地判断"同不同",他就已经掌握了这批货的关键特征。
SimCLR(Google, 2020)的完整流程:
一张原图 x
├─ 数据增强 t1 ──▶ x̃_i ──▶ 编码器 f ──▶ h_i ──▶ 投影头 g ──▶ z_i
└─ 数据增强 t2 ──▶ x̃_j ──▶ 编码器 f ──▶ h_j ──▶ 投影头 g ──▶ z_j
(两路共享同一套权重)
正样本对 = (z_i, z_j) ← 来自同一张原图,要拉近
负样本 = 同一 batch 里其他所有图片的表示,要推远
NT-Xent 损失(带温度的归一化交叉熵):
L = -log[ exp(sim(z_i,z_j)/τ) / Σ_k exp(sim(z_i,z_k)/τ) ]
└── 分母包含全部负样本 ──┘
sim(u,v) = 余弦相似度
τ = 温度系数(常取 0.1~0.5):越小,对"难负样本"越敏感
最后一步很关键:下游任务用的是 h(编码器输出),
而不是 z(投影头输出)。投影头训完就丢掉。
论文发现这样效果显著更好 —— 投影头吸收了对比任务特有的、
对下游没用的信息,起到了"保护"h 的作用。
SimCLR 论文里最反直觉的一个发现是:数据增强的选择比模型架构重要得多。作者做了一整套消融实验,结论是"随机裁剪 + 颜色抖动"这个组合缺一不可,单独用任何一个效果都会大幅下降。为什么?因为如果只做随机裁剪,同一张图的两个裁剪块的颜色直方图几乎一样,模型可以直接靠比对颜色分布就判断出"这两块来自同一张图",完全不需要理解内容——又是一条捷径。加上颜色抖动后这条捷径被堵死,模型被迫去看形状和结构。这个例子完美说明了前面那句话:设计自监督任务的核心工作就是堵捷径。
| 数据增强 | 做什么 | 迫使模型对什么保持不变 |
|---|---|---|
| 随机裁剪 + 缩放 | 随机截取一块再放大到原尺寸 | 位置、尺度、局部与整体的关系 |
| 颜色抖动 | 随机改亮度、对比度、饱和度、色调 | 颜色分布——这是最关键的一项 |
| 灰度化 | 一定概率转成黑白 | 彻底剥离颜色依赖 |
| 高斯模糊 | 随机模糊 | 高频细节和清晰度 |
| 水平翻转 | 左右镜像 | 左右朝向(注意:文字和数字不能这么增强) |
| Cutout / 随机擦除 | 挖掉一块方形区域 | 局部遮挡,迫使利用全局信息 |
SimCLR 的工程代价很高:因为负样本来自同一个 batch,batch 越大负样本越多、效果越好,原论文用到了 4096 的 batch size,需要几十上百块 TPU。MoCo(Momentum Contrast,何恺明等人 2019 年底)用一个巧妙的设计解决了这个问题:把负样本存进一个队列(memory bank)里循环使用,这样负样本数量和 batch size 解耦,单机 8 卡也能拿到几万个负样本。
但队列里的负样本是用"旧版本的编码器"算出来的,和当前编码器不一致,会导致训练不稳定。MoCo 的解法是动量编码器:维护两个编码器,query 编码器正常反向传播更新,key 编码器不做梯度更新,而是用指数移动平均缓慢跟随(θ_k ← m·θ_k + (1-m)·θ_q,m 取 0.999)。让 key 编码器变化得极其缓慢,队列里新旧特征的一致性就得到了保证——这个"用动量制造一致性"的技巧后来被大量借用。
对比学习之后还有两条重要的演进。BYOL(2020, DeepMind)做了件震惊领域的事:它彻底不用负样本,只用一个在线网络去预测目标网络(动量更新版)的输出,靠预测头的非对称性和 stop-gradient 避免了"所有输入映射到同一个点"的坍缩。DINO(2021, Meta)把这套思路用在 Vision Transformer 上,结果发现一个惊人的副产品——模型的注意力图自动分割出了物体的轮廓,没有任何人教过它什么是物体边界。这是自监督学习"涌现出未被显式训练的能力"的一个视觉版本证据。
CLIP:让图片和文字住进同一个空间
缩写先摊开:CLIP(Contrastive Language-Image Pre-training,图文对比预训练——让"一张图"和"配它的那句话"在同一套坐标里靠在一起)。换成大白话:它干的活儿好比图书馆把书和书名放进同一套分类号里——以后你报个书名,就能直接摸到那本书,反过来也行。
2021 年 1 月 OpenAI 发布 CLIP(Contrastive Language-Image Pre-training),它把对比学习的思路从"图和图"推广到了"图和文"。它的训练数据是从互联网上收集的 4 亿个"图片-文字说明"配对——这些配对不是人工标注的,是网页里图片自带的 alt 文本、图注、周边文字。互联网本身就是一个天然的、免费的、规模空前的图文标注数据集,这是 CLIP 最核心的洞察。
CLIP 的对比训练(一个 batch 里 N 对图文):
文本编码器 → T1 T2 T3 ... TN
图像编码器
I1 [✓] ✗ ✗ ✗
I2 ✗ [✓] ✗ ✗
I3 ✗ ✗ [✓] ✗
...
IN ✗ ✗ ✗ [✓]
N×N 的相似度矩阵:对角线是正确配对(要最大化),
其余 N²-N 个是错误配对(要最小化)。
→ 一个 batch 同时提供 N 个正样本和 N²-N 个负样本,效率极高。
零样本分类(Zero-Shot)的魔法:
想区分猫和狗,不需要任何训练数据。
只需把候选类别写成句子,编码成文本向量:
"a photo of a cat" → T_cat
"a photo of a dog" → T_dog
再把待分类图片编码成 I,看它和哪个文本向量更近。
← 分类器是"用一句话现场造出来的"
这个提示词模板还很讲究:直接用 "cat" 效果差,
加上 "a photo of a" 效果明显提升 ——
因为训练数据里的图注都是自然句子,不是孤立单词。
CLIP 最震撼的成绩是零样本迁移能力:它在 ImageNet 上不做任何训练,仅靠"把 1000 个类别名写成句子"就达到了约 76% 的 top-1 准确率,追平了 2016 年那个用 128 万张人工标注图片专门训练的 ResNet-50。更重要的是它的鲁棒性——在 ImageNet 的各种变体(素描版、对抗版、真实世界分布偏移版)上,CLIP 的性能下降幅度远小于传统监督模型。原因很直观:传统模型学的是"这 1000 类在这个特定数据集上的样子",CLIP 学的是"这个概念在整个互联网上的样子"。
CLIP 的影响远超分类任务本身,它成了整个多模态时代的地基。Stable Diffusion 用 CLIP 的文本编码器把提示词转成条件向量来指导图像生成;DALL·E 2 直接建在 CLIP 的表示空间上;今天几乎所有多模态大模型(GPT-4V、Gemini、LLaVA)的视觉编码器都是 CLIP 或它的后继者。一句话总结它的贡献:CLIP 造出了一个图文共享的语义空间,之后所有跨模态的工作都在这个空间里进行。
MAE:视觉版的 BERT 为什么晚来三年
MAE(Masked Autoencoder,掩码自编码器——遮住图片的大部分方块,让模型把它补回来)。这一节最有意思的一个数字是"遮 75%",听着玄但道理很土:文字遮 15% 就够难了,图片遮 15% 根本不用脑子——你随手把邻近的颜色抹过去就能糊过关。好比装修补墙皮,缺一小块直接刮点腻子抹平谁也看不出;要是缺了四分之三面墙,你就必须先搞清楚这堵墙原来是什么结构才补得上。这就是 MAE 为什么要遮那么狠。
既然 BERT 的"遮住再还原"在文本上如此成功,为什么视觉领域要等到 2021 年才有一个像样的对应物?何恺明等人在 MAE(Masked Autoencoders,2021 年 11 月)的论文里给出了三条原因,每一条都很有启发性。
- ① 架构差异在 Transformer 之前,视觉主流是卷积网络,而卷积的滑动窗口机制很难自然地表达"这里有个 [MASK] 标记"这种概念。Vision Transformer(2020)把图像切成 patch 序列之后,视觉才第一次有了和文本同构的表示形式——这才让 BERT 式的做法在架构上变得可行。
- ② 信息密度不同这是最深刻的一条。语言是人类高度压缩的产物,每个词都承载大量语义,遮住 15% 就已经很难猜。图像的空间冗余极大——遮住一块,从周围的像素插值就能大致补出来,模型根本不需要理解语义。MAE 的解法很激进:遮住 75%。遮这么狠,插值这条捷径就断了,模型必须建立对物体整体结构的理解才能补出来。
- ③ 解码器的角色不同BERT 的解码器只需要一个简单的线性层(因为输出是词表上的分类);MAE 要还原原始像素,需要一个真正的解码器。MAE 的设计是非对称的:编码器很大但只处理那 25% 可见的 patch(这让计算量降到约四分之一,训练速度提升三倍以上),解码器很轻量且训完就丢。
MAE 的结果验证了这套设计:它在 ImageNet-1K 上用纯自监督预训练的 ViT-Huge 达到了 87.8% 的准确率,超过了所有只用 ImageNet-1K 数据的监督训练方法。更重要的意义是它证明了"重建式自监督"在视觉上是可行的,而且比对比学习更简单——不需要精心设计的数据增强组合、不需要大 batch、不需要动量编码器、不需要负样本,就是遮住再还原。这种"简单方法在足够规模下胜出"的模式,在深度学习史上反复出现。
| 方法 | 年份 | 核心机制 | 要不要负样本 | 要不要精心设计增强 |
|---|---|---|---|---|
| SimCLR | 2020.02 | 同图两视角拉近,异图推远 | 要(且越多越好) | 要(裁剪+颜色抖动是关键) |
| MoCo v1/v2 | 2019.11/2020.03 | 负样本队列 + 动量编码器 | 要(但和 batch 解耦) | 要 |
| BYOL | 2020.06 | 在线网络预测动量网络输出 | 不要 | 要 |
| DINO | 2021.04 | 自蒸馏 + ViT,注意力自动分割物体 | 不要 | 要(多裁剪策略) |
| MAE | 2021.11 | 遮 75% patch 还原像素 | 不要 | 几乎不要 |
预训练-微调范式:自监督如何重组了整个行业
这个范式其实就是"先上通识教育,再分专业"。打个比方:学校先花十二年把语文数学英语打好底(预训练),到了医院再按科室做专科培训(微调)——没人会为了培养一个心内科医生,从教他认字开始重新办一所学校。2018 年之前的 AI 行业,干的偏偏就是"每来一个任务就重办一所学校"这种蠢事。
自监督学习带来的最大变化,不是某个模型变强了,而是整个行业的分工结构被重组了。2018 年之前,做一个 NLP 应用的标准流程是:定任务 → 收集标注数据 → 设计模型架构 → 从随机初始化开始训练。每个任务都是一次从零开始的工程。2018 年之后变成了:下载一个别人花几百万美元预训练好的模型 → 用你的几千条数据微调 → 上线。
这个变化的经济学含义很直接:预训练的成本被集中到少数几家能负担算力的机构,而使用的成本被摊薄到接近于零。GPT-3 的训练成本据多方估算在数百万美元量级,但任何人都可以用几十美元的 API 调用量来做一个应用。这就是"基础模型(Foundation Model)"这个词在 2021 年被斯坦福提出来的背景——它描述的是一种新的产业结构,而不只是一种新的模型。
| 阶段 | 数据 | 数据量 | 算力 | 学到什么 | 谁在做 |
|---|---|---|---|---|---|
| 预训练 | 无标注(自监督) | 万亿 token / 十亿图片 | 数千卡数月,数百万到上亿美元 | 语言规律、世界知识、通用表征 | OpenAI、Google、Anthropic、DeepSeek 等少数机构 |
| 监督微调 SFT | 人工标注的示范 | 几万到几十万条 | 数十卡数天 | 指令跟随、回答格式、领域术语 | 模型厂商 + 有能力的企业 |
| 偏好对齐 RLHF/DPO | 人类偏好排序 | 几万到几十万对 | 数十卡数天 | 有用、诚实、无害 | 模型厂商 |
| 下游微调 / LoRA | 你自己的业务数据 | 几百到几万条 | 单卡几小时,几十美元 | 你的行业和你的口吻 | 几乎所有开发者 |
| 提示工程 / RAG | 提示词 + 检索知识库 | 零训练数据 | 几乎为零 | 不改权重,靠上下文注入知识 | 所有人 |
自监督和迁移学习的关系需要说清楚,因为这两个概念常被混用。迁移学习是目的,自监督是达成这个目的的手段之一。迁移学习问的是"能不能把 A 任务学到的东西用在 B 任务上",2012–2017 年间它的主流做法是有监督预训练——先在 ImageNet 上训一个分类器,再把它迁移到你的任务上。自监督做的是同一件事,但把预训练阶段的数据门槛从"1400 万张标注图"降到了"任意多的无标注数据",于是预训练的规模一下子突破了标注的天花板,迁移学习的效果也随之跃升。
今天参数高效微调(PEFT)让这个范式更彻底。LoRA(Low-Rank Adaptation,2021)的做法是:冻住原模型的全部权重,只在每个权重矩阵旁边加一对低秩的小矩阵去学习增量。一个 70 亿参数的模型,LoRA 只需要训练大约千分之几到百分之一的参数量,单张消费级显卡就能跑,训完的适配器文件只有几十兆,可以像插件一样随时挂载和切换。这让"每个企业、每个人都能有一个专属微调模型"从口号变成了现实。
自监督为什么必然导向"大模型"
有一个值得深想的问题:为什么自监督一出现,模型规模就开始失控地膨胀?这不是巧合,而是三个因素同时松开了约束。
第一,数据约束被解除了。在监督时代,你的模型不能太大,因为参数一多、标注数据不够,必然过拟合。1400 万张图撑不起千亿参数。自监督把数据量提升了几个数量级之后,模型规模的上限第一次不再由数据决定,而由算力预算决定——而算力是可以花钱买的,数据标注却是花钱也快不了的。
第二,规模定律给了明确的投资依据。2020 年 OpenAI 的 Kaplan 等人和 2022 年 DeepMind 的 Chinchilla 论文都给出了可外推的经验规律:损失随参数量和数据量呈幂律下降,而且这个规律在跨越多个数量级时都保持成立。这在工程史上极其罕见——它意味着你可以在小规模实验上算出"投十倍算力能换到多少性能",然后放心地去投。Chinchilla 还纠正了一个重要误区:当时的大模型普遍"参数太多、数据太少",最优配比大约是每个参数配 20 个训练 token。
第三,涌现能力提供了正反馈。2022 年的研究观察到一个现象:某些能力(多步算术、思维链推理、指令理解)在小模型上完全不存在,性能停留在随机水平,但模型规模跨过某个阈值后突然出现并快速提升。这种"跨过门槛才有"的性质给了持续加大规模的最强动机——你不知道下一个门槛后面藏着什么能力。(需要说明:后续也有研究指出部分"涌现"可能是评测指标的非连续性造成的错觉,这个争论至今未完全解决。)
三者合起来构成了 2020–2025 年的行业主旋律:自监督解除了数据枷锁 → 规模定律给出了投资公式 → 涌现能力提供了赌注的理由 → 算力军备竞赛。所以说自监督不只是"一种省钱的训练方法",它是大模型时代的准入条件。没有它,你连门都进不去;有了它,所有的问题都变成了钱和电的问题。
大语言模型是怎么"自监督"出来的
GPT-4、Claude、DeepSeek 这些大模型,预训练阶段用的是下一词预测:
1. 准备数据
把互联网上所有文本(网页、书籍、代码、论文)都爬下来,几万亿字。
2. 把文本切成 token
"今天天气真好" 切成 ["今天", "天气", "真", "好"] 这样的小单元。
3. 喂给模型,让它预测下一个 token
给 "今天天气真",模型输出"好"的概率分布。
4. 跟真实下一个 token 对比
如果模型预测对,奖励;预测错,惩罚。模型不断调整参数。
5. 重复几万亿次
模型在几万亿次"猜下一个词"的练习后,不仅学会了语言规律,还顺带学到了世界知识——因为文本里包含了人类的全部知识。
一个人类小孩,如果从小把图书馆的书都读一遍,他不需要老师教他"什么是苹果、什么是爱情、什么是相对论"——他自己就从书里学出来了。
大语言模型就是那个"读完全部互联网"的小孩。没有老师,但它读得太多了——这就是自监督的威力。
为什么自监督是"大模型的命门"
- 不需要人工标注互联网文本无穷无尽,直接拿过来用——训练数据的天花板被打开了。
- 语言即知识人类几乎所有知识都用语言承载——学会"接下一个词",等价于学会了大量隐含的世界规律。
- 可以无限扩展只要算力够,就能用更大的模型、更多的数据——这就是 GPT-3 → GPT-4 → GPT-5 的演进路径。
自监督 + 微调 · 今天的标准配方
今天训练一个 AI 产品,几乎都是这两步:
第一步 · 自监督预训练
用海量无标注数据(几万亿字),让模型学"世界通用知识"——花几周、花几百万美元。
第二步 · 监督微调 / RLHF
用少量标注数据(几万条问答对),让模型学"怎么聊天、怎么礼貌、怎么安全"——花几天、花几十万美元。
第一步是"打地基",第二步是"装修"。没有第一步,第二步无从谈起。
自监督学习的局限
- 它只学"统计规律"模型学到的是"苹果后面通常跟'好吃'",但它没吃过苹果,不知道苹果到底啥味道。
- 数据决定天花板训练数据里没有的知识,模型不会知道;训练数据里的偏见,模型会原封不动学进去。
- 幻觉的根源因为模型学的是"什么词后面该接什么词",而不是"什么是真的"——所以它会一本正经地编造看似合理但错误的内容。
这三条之外,还有两个正在成为现实压力的限制值得单说。第一是数据枯竭。自监督的前提是"数据无穷无尽",但高质量文本其实是有限的。多项研究估计,可用的高质量公开文本语料在 2026–2032 年之间就会被主流训练消耗殆尽。当"数据无限"这个假设失效时,规模定律那套简单的投资公式就不再成立了。这也是为什么 2024 年之后行业重心明显从"堆更多数据"转向"用更好的数据"(数据筛选、去重、合成数据)和"堆推理时算力"(让模型多想几步,而不是把模型再做大)。
第二是合成数据的模型崩塌风险。既然真实数据不够,能不能用 AI 生成的数据来训 AI?2024 年发表在《Nature》上的一项研究给出了警告:如果连续多代模型都主要用上一代模型生成的数据来训练,分布的尾部会被逐代削平,模型会逐渐忘掉罕见但真实的现象,最终收敛到一个方差极小的贫瘠分布,这个现象叫"模型崩塌(Model Collapse)"。它的直观类比是反复复印同一张照片——每一代都还认得出,但十代之后细节全部消失。这意味着真实的人类数据具有不可替代性,而随着互联网上 AI 生成内容占比升高,未来的数据爬取本身就会被污染。
这件事在办公室里天天发生,只是没人当回事:一份文件复印件再复印,复印件的复印件再复印,前三代还能看,十代之后字都糊成一团黑。说白了,AI 拿 AI 写的东西训 AI,就是在给自己复印复印件——每一轮都损失一点罕见的细节,而恰恰是那些罕见细节撑着模型的知识边界。
还有一个哲学层面但很实际的问题,Yann LeCun 反复强调过:"预测下一个词"这个代理任务真的足以通向智能吗?他的论点是文本带宽太窄——一个四岁小孩通过视觉接收的信息量,远远超过所有大模型见过的全部文本。而且语言里省略了大量"不必说的常识"(松手东西会掉、水杯不能倒着放),这些恰恰是物理世界推理的基础。他主张的方向是从"预测像素/词元"转向"在抽象表示空间里预测"(如 JEPA 系列架构),因为世界的很多细节本质上不可预测,硬要预测像素就是在浪费容量。这个争论目前没有定论,但它提醒我们:自监督不是终点,它只是当前最有效的一种代理任务设计。
自监督 vs 人类学习
人类学习其实也很"自监督"——小孩不需要老师告诉他"这是桌子、这是椅子",他自己观察世界就懂了。
但人类比 AI 强的地方在于:人类有身体,能摸、能尝、能跌倒——这就是"具身智能"(Embodied AI)想补的课。今天的大模型只有"读"的能力,没有"体验"的能力。
自监督学习 = "让数据自己教自己"。它是 2018 年之后最重要的范式突破——没有它,就没有 GPT、没有 ChatGPT、没有今天的大模型时代。
下一篇我们看 ML 的三个基础概念——特征、标签、过拟合。