预训练目标函数与架构对比
分类: 预训练与微调 · 难度: 中级 · 关联讲座: L07
预训练目标函数与架构对比
本文系统梳理预训练的核心数学框架:从预训练的样本效率优势出发,对比 MLM 与 CLM 两大目标函数,形式化三种预训练架构(Encoder / Decoder / Encoder-Decoder)的差异,并讨论数据混合比例的优化框架与 Chinchilla 最优缩放律。
1. 预训练 vs 随机初始化的样本效率
📐 预训练 vs 随机初始化的样本效率
变量定义:设下游任务需要 k 个标注样本使预训练模型达到性能 P∗,随机初始化模型达到同等性能 P∗ 所需样本数为 k′。
推导过程:预训练模型已经从大规模无标注数据 Dpre(数百亿 token)中习得语言的统计规律,其参数初始化点 θ0pre 在损失景观中已处于接近下游任务最优解的低谷附近。而随机初始化点 θ0rand 则处于高损失区域,需要更多梯度步才能到达同等低谷。
形式化地,fine-tuning 的优化路径为:
θ∗=θ0pre−η∑i=1k∇θL(xi,yi;θ)
由于起点更优,同样的 k 步优化可以达到更低的损失,等效为:
k′≈k×C(C≫1,实验中 C≈100)
结论:预训练模型在低资源场景下的样本效率比随机初始化高约 100 倍。
2. MLM 与 CLM 目标函数对比
📐 MLM 与 CLM 目标函数对比
Masked Language Modeling(BERT 类):
随机选择 15% 的 token 位置集合 M,要求模型从未被遮盖的上下文中预测这些位置的原始 token:
JMLM=−Ex∼D∑i∈MlogP(xi∣x∖M;θ)
其中 x∖M 表示去掉 mask 位置后的序列,注意力是双向的(每个位置可看到所有非 mask 位置)。
Causal Language Modeling(GPT 类):
给定前缀预测下一个 token,注意力通过 causal mask 强制单向:
JCLM=−∑t=1TlogP(xt∣x<t;θ)
关键区别:
- MLM:每个样本可以提供 15% × T 个训练信号,但需要特殊的 [MASK] token(预训练-微调不一致)
- CLM:每个样本只提供 T 个训练信号,但可以直接用于自回归生成,无训练-推理差异
3. 三种架构的形式化对比
📐 三种架构的形式化对比
Encoder-only(BERT):双向注意力,输出每个位置的上下文表示:
H=TransformerEncoder(x1,…,xn)∈Rn×d
注意力矩阵 A∈Rn×n,无 mask(每个位置可看全局)。
Decoder-only(GPT):单向注意力(causal mask),输出自回归概率:
P(xt∣x<t)=softmax(htWV)其中 Aij=0 if j>i
Encoder-Decoder(T5):encoder 双向处理输入,decoder 通过 cross-attention 条件生成:
P(yt∣y<t,x)=softmax(hdec,tWV),hdec,t=CrossAttn(hdec,t,Henc)
参数规模对比(以 hidden=768, L=12, H=12 为基准):
| 模型 | 参数量 | 架构 | 预训练目标 |
|---|
| BERT-Base | 110M | Encoder-only | MLM + NSP |
| GPT-2-Base | 117M | Decoder-only | CLM |
| T5-Base | 250M | Encoder-Decoder | Span Corruption |
T5 参数量约为同规格 BERT 的 2.3 倍,因为 encoder 和 decoder 各自都有完整的 Transformer 层。
4. 数据混合比例的优化框架
📐 数据混合比例的优化框架
问题形式化:设有 K 个数据源 {D1,…,DK},混合权重 α=(α1,…,αK),满足 ∑kαk=1,αk≥0。
训练损失为各数据源损失的加权和:
Ltrain(θ;α)=∑k=1Kαk⋅Lk(θ)
目标是最小化在目标评估集(如多个下游任务)上的损失:
α∗=argminαLeval(θ∗(α))
重复数据的危害:若数据 Dk 重复 n 次,等效权重从 αk 变为 n⋅αk/(1+(n−1)αk)(归一化后),模型可能记忆训练样本(memorization),在成员推断攻击(membership inference)中表现脆弱。
Chinchilla 最优比例(Hoffmann et al., 2022):在固定算力预算 C(FLOPs)下:
N∗∝C0.5,D∗∝C0.5
即模型参数量和训练 token 数应等比例增长,最优比约为 20 tokens per parameter。