土法炼钢兴趣小组的算法知识备份

【Transformer 与注意力机制】37|BERT:MLM、NSP 与 Encoder-only 路线的代价

文章导航

分类入口
transformer
标签入口
#transformer#bert#encoder-only#masked-language-model#roberta#nlp

Transformer系列导航

按系列顺序继续阅读,而不是停在单篇。

系列目录上一篇:【Transformer 与注意力机制】36|训练稳定性:损失尖峰、混合精度与梯度爆炸下一篇:【Transformer 与注意力机制】38|GPT 系列:从续写到助手,每一代到底改变了什么

目录

训过 BERT 的人都遇到过这个疑惑:论文里 80/10/10 的掩码策略写得那么具体,换成别的比例效果差多少?NSP 到底是不是凑数的辅助任务?换成 RoBERTa 之后 GLUE 涨了几分,是因为去掉了 NSP,还是因为训练配方本身就换了一批变量?这些问题看复述性的科普文章很难找到答案,因为答案都写在论文的消融表格里,而不是摘要里。

本篇要做的事很具体:只钉住 BERT 这一条路线本身的机制和证据,不重复”三条路线谁赢了”这个更大的问题——那个问题连同信息流不变量、KV Cache 假设、chat/classify/seq2seq 接口分野,已经在 40|三大路线之争 里系统论证过。这里只回答关于 BERT 自己的问题:Encoder-only 的可见性到底带来了什么、MLM 的 80/10/10 在消融实验里到底改变了什么、NSP 被质疑的证据链是什么、为什么它能被证明可以生成文本却没人用它做生成模型,以及今天还有谁在升级这条路线。

本篇能让你核对四件事:

  1. MLM 的 80/10/10 策略在 BERT 论文自己的消融实验里,对 fine-tuning 和 feature-based 两种使用方式的影响其实并不一样;
  2. NSP 被质疑的证据不是”没用”这么简单,RoBERTa 的四组对照实验把输入格式和训练目标分开测,结论比”移除 NSP”复杂;
  3. BERT 在数学上是一个用伪似然训练的 Markov Random Field,可以用 Gibbs sampling 生成文本,但这条路径的代价结构和自回归生成完全不同;
  4. 2024 年后 ModernBERT 一类工作为什么还要重新做 Encoder-only 模型,而不是直接换成 Decoder-only。

一、Encoder-only 的可见性:一次前向,全局可见

BERT 的模型结构没有超出标准 Transformer Encoder:多层堆叠的双向 self-attention 加前馈网络。Devlin 等人(NAACL 2019)报告了两个规格:BERT-Base(\(L=12\) 层、\(H=768\) 隐藏维度、\(A=12\) 个注意力头,共 1.1 亿参数)和 BERT-Large(\(L=24\)\(H=1024\)\(A=16\),共 3.4 亿参数)。BERT-Base 的规格特意选得和 GPT-1 一致,方便直接比较——论文原文明确写了这一点,唯一的结构性差异是 BERT 用双向 self-attention,GPT 用只能看左侧上下文的受限 self-attention。

这个差异不是无关紧要的实现细节。标准条件语言模型只能从左到右或从右到左训练,因为双向条件会让每个词间接”看到自己”:如果一个位置能同时利用左右所有上下文预测自己,模型在多层堆叠之后可以直接学会”抄自己”,训练目标失去意义。BERT 的解法是把预测目标换成随机遮盖的部分 token(也就是下一节的 MLM),而不是每个位置都预测自己——这是 Encoder-only 双向可见和”预测下一个词”这个经典目标结构性不兼容的根本原因,也是为什么 BERT 必须换一种预训练目标,而不是简单地把 GPT 的 causal mask 去掉。

这条可见性差异如何传导到任务接口、推理系统假设、KV Cache 能不能用,40 篇已经用一整篇的篇幅论证过,这里不重复。本篇后面几节要处理的问题是:给定”全可见”这个前提,BERT 具体训练目标里的每个旋钮改了什么。


二、MLM 到底在学什么:补洞任务与它真正缓解的问题

BERT 的预训练目标是随机遮盖 15% 的 WordPiece token,让模型根据上下文预测被遮盖的原始 token。这个任务在文献里也被称为 Cloze task(Taylor, 1953)。和标准语言模型的关键差异是:标准 LM 对序列里的每个位置都计算损失,MLM 只在被选中的约 15% 的位置上计算损失——监督信号在位置维度上更稀疏,但每个被监督的位置能同时用左右完整上下文。

80/10/10 策略解决的是一个具体问题,不是泛泛的”更鲁棒”。如果被选中的位置永远替换成 [MASK],模型只需要学会”给 [MASK] 这个符号输出什么”,不需要对未被遮盖的正常 token 也保持一个信息丰富的表示——但下游微调时输入里根本不会出现 [MASK]。论文原文对这个设计的解释很具体:训练数据生成器对被选中的 15% token 位置,80% 的时间替换成 [MASK]、10% 替换成随机 token、10% 保持原样;这样”Transformer encoder 不知道自己会被要求预测哪个词、也不知道哪些词已经被替换成随机 token,因此被迫对每一个输入位置都保持一个分布式的上下文表示”。随机替换只发生在全部 token 的 1.5%(15% 的 10%),论文认为这个比例不足以伤害模型的语言理解能力。

论文附录 C.2(Table 8)对不同掩码比例组合做了消融,这张表值得完整看一遍,因为它给出的结论比”80/10/10 是最优解”复杂:

MASK 比例 SAME 比例 随机替换比例 MNLI(fine-tune) NER(fine-tune) NER(feature-based,冻结编码器)
80% 10% 10% 84.2 95.4 94.9
100% 0% 0% 84.3 94.9 94.0
80% 0% 20% 84.1 95.2 94.6
80% 20% 0% 84.4 95.2 94.7
0% 20% 80% 83.7 94.8 94.6
0% 0% 100% 83.6 94.9 94.6

六种配置在 fine-tune 场景下的 MNLI 分数挤在 83.6 到 84.4 之间,几乎分不出优劣;这意味着只要端到端微调所有层参数,80/10/10 具体比例对下游效果的影响很小——微调过程本身会把 mismatch 大部分”训练掉”。真正的差异出现在 feature-based 场景:把编码器权重完全冻结,只用它产出的表示接一个下游模型,此时 80/10/10 的 94.9 明显高于”永远用 [MASK]“的 94.0,也高于”完全不用 [MASK],只用随机替换和保持原样”的 94.6。换句话说,80/10/10 真正体现价值的场景不是你会不会微调整个模型,而是你要不要冻结编码器直接当特征提取器用——这恰好是今天大量 embedding、检索、相似度计算场景的用法(详见第七节)。这是复述文章常常跳过的一层:pretrain-finetune mismatch 这个问题,在”端到端微调”和”冻结做特征”这两种下游用法里,严重程度并不一样。

训练效率上还有两个容易被忽略的细节。论文附录 C.1 讨论过一个直觉上的疑问:MLM 每个 batch 只预测 15% 的 token,是不是收敛比预测全部 token 的从左到右 LM 慢?答案是收敛速度确实略慢一些,但在下游任务的绝对准确率上,MLM 几乎立刻就反超了 LTR 模型——稀疏监督换来的双向上下文收益,很快抵消了监督密度上的损失。另一个细节是训练序列长度的调度:由于 attention 的计算量随序列长度平方增长,BERT 在 90% 的训练步数里用长度 128 的序列,只在最后 10% 的步数里换成长度 512 来学习长序列的位置表示——这是一个纯粹为控制训练成本设计的调度技巧,不是模型能力上的取舍。


三、为什么不能自然生成:BERT 是一个 Markov Random Field,不是自回归模型

一个常见的粗略说法是”BERT 不能生成文本”。更准确的说法来自 Wang 与 Cho(BERT has a Mouth, and It Must Speak, NAACL 2019 Workshop on Neural Generation):BERT 在数学上等价于一个用伪对数似然(pseudo log-likelihood,Besag, 1977)训练的 Markov Random Field 语言模型(MRF-LM)。伪似然定义为

\[\mathrm{PLL}(\theta; D) = \frac{1}{|D|}\sum_{X\in D}\sum_{t=1}^{|X|}\log p_\theta(x_t \mid X_{\setminus t})\]

这正是 MLM 训练时在做的事:给定其余所有 token(观测变量),预测被遮住的那个 token。这个形式化直接给出了一条从 BERT 采样文本的方法:反复随机遮住序列里的一个位置,用模型基于其余位置采样一个新 token 填回去,重复多轮——这就是 Gibbs sampling。论文的实验结果是:BERT 用这种方式生成的句子和标准从左到右语言模型相比,更多样,但质量略差,而不是”完全不能生成”或”生成质量差很多”。

问题不在于”能不能”,而在于代价结构。自回归生成一个 token,只需要在已缓存的 K/V 基础上做一次增量前向;Gibbs sampling 要在同一个序列上反复做完整的遮盖—预测—回填循环,每一轮都要对整段序列重新计算一次 attention,而且轮数没有一个像”生成长度”这样直接的上界,收敛判断本身还要额外处理。这不是一个 KV Cache 能够优化的结构——40 篇论证过 KV Cache 成立的前提是”一个位置一旦算出 K/V 就不会因为未来输入改变”,而 Gibbs sampling 里每一轮都要用”未来”(其余位置的当前采样值)重新计算被遮住位置的表示,这和 causal 序列的单向增长完全是两种计算模式。没有任何生产级推理引擎实现这条路径,这也是为什么”BERT 能不能生成”这个问题的准确答案是”数学上可以、工程上没人这么用”,而不是简单的”不能”。


四、NSP 的历史位置与 RoBERTa 的修正:证据链比”没用”复杂

BERT 除 MLM 外还引入了 Next Sentence Prediction(NSP):给模型两段文本 A、B,50% 的时间 B 是 A 真实的下一句(标记 IsNext),50% 的时间 B 是语料里随机抽取的句子(标记 NotNext)。论文原文提到最终模型在 NSP 这个任务本身上能达到 97%-98% 的准确率,设计动机是许多下游任务(QA、NLI)依赖句间关系理解,而这不是语言建模直接捕捉的信号。

BERT 自己的消融实验(Table 5,BERT-Base 架构)显示去掉 NSP 会掉分:

配置 MNLI-m QNLI MRPC SST-2 SQuAD 1.1(F1)
BERT-Base(MLM + NSP) 84.4 88.4 86.7 92.7 88.5
No NSP(只用 MLM) 83.9 84.9 86.5 92.6 87.9
LTR & No NSP(类 GPT,从左到右 LM) 82.1 84.3 77.5 92.1 77.8

去掉 NSP 之后 QNLI 从 88.4 掉到 84.9,掉了 3.5 分,MNLI、SQuAD 也有可见下降。这是论文得出”NSP 对 QA 和 NLI 很有帮助”这个结论的直接依据。

RoBERTa(Liu 等人,arXiv:1907.11692,2019,未经 peer review 但其训练配方结论被后续大量工作复现和采用)的四组对照实验把”输入格式”和”训练目标”这两个此前被混在一起的变量分开测了一遍(Table 2,BERT-Base 规模,BOOKCORPUS + Wikipedia):

配置 SQuAD 1.1/2.0(F1) MNLI-m SST-2 RACE
SEGMENT-PAIR + NSP(原始 BERT 格式) 90.4 / 78.7 84.0 92.9 64.2
SENTENCE-PAIR + NSP(单句对,保留 NSP) 88.7 / 76.2 82.9 92.1 63.0
FULL-SENTENCES(连续多句,去掉 NSP) 90.4 / 79.1 84.7 92.5 64.8
DOC-SENTENCES(限制在单文档内,去掉 NSP) 90.6 / 79.7 84.7 92.7 65.6

这张表最容易被误读成”去掉 NSP 反而更好”,但 RoBERTa 原文的推理更细:先比较 SEGMENT-PAIR 和 SENTENCE-PAIR——两者都保留 NSP loss,差异只在输入是多句拼接的 segment 还是单独一对句子,结果是用单句对明显更差(SQuAD 2.0 掉了 2.5 分),论文把这归因于模型学不到长距离依赖。再看 FULL-SENTENCES 和 DOC-SENTENCES——两者都去掉 NSP,用连续多句填满 512 token,结果和保留 NSP 的 SEGMENT-PAIR 打平甚至略好。RoBERTa 原文明确写道:这个结果和 Devlin 等人的原始结论相反,可能的原因是原始 BERT 的消融只去掉了 NSP 这个 loss 项,却仍然保留了 segment-pair 的输入格式——也就是说 BERT 自己的”No NSP”实验里,输入格式(拼接方式)和训练目标(是否有 NSP loss)这两个变量没有被分开测过。

把这条证据链说完整:RoBERTa 没有单独证明”NSP 这个目标本身没用”,它证明的是”用连续多句填满输入窗口、不做人为的两段拼接、同时去掉 NSP loss”这套组合不比原始配方差,但这组结论里同时改变了输入格式和训练目标两个变量,无法单独归因给其中一个。这正是本文要强调的争论边界:常见说法”RoBERTa 证明 NSP 没用”简化了一层因果关系,更严谨的表述是”NSP 是否必要,取决于输入的句子打包方式;一旦输入本身就是连续多句的长文本,NSP 这个专门建模句间关系的辅助任务的边际收益就消失了”。这不是对 BERT 原始工作的简单否定,而是训练配方的一个变量被换掉之后,另一个变量的必要性也随之改变。


五、为什么适合分类、匹配、抽取

BERT 的两类常用输出是 [CLS] 对应的整体表示和逐 token 的上下文表示。这两类表示都直接来自”一次前向、全局可见”这个训练时就已经成立的事实,不是任务头设计的巧思:情感分类接 [CLS] 做线性分类,命名实体识别在每个 token 上预测标签,都不需要额外的架构改动。

抽取式问答是最能体现这一点的例子。BERT 论文给出的做法是引入两个向量 \(S, E \in \mathbb{R}^H\),答案起点在位置 \(i\) 的概率用 \(T_i\)(位置 \(i\) 的最终隐藏状态)和 \(S\) 的点积做 softmax:

\[P_i = \frac{e^{S \cdot T_i}}{\sum_j e^{S \cdot T_j}}\]

终点用同样的公式配 \(E\),候选 span 的分数是 \(S \cdot T_i + E \cdot T_j\)\(j \geq i\))。这套做法之所以只需要两个向量就能工作,前提是 \(T_i\) 已经是”看过整段文章”之后的表示——一个 causal 模型要拿到等价的信息,必须先把输入完整走一遍到序列末尾,这条路径能走通,但和 encoder 一次前向直接给出每个位置的全局表示不是同一件事,这也是为什么 BERT 自己的 LTR 消融(上一节 Table 5)在 SQuAD 上掉分最狠——从 88.5 掉到 77.8,比 QNLI、MNLI 的降幅都大。


六、fine-tuning 范式与它的脆弱性

BERT 的 fine-tuning 流程是加载预训练权重、接一个轻量任务头、端到端训练。对句子对分类,输入通常写成 [CLS] sentence A [SEP] sentence B [SEP],取 [CLS] 表示分类;对 token classification,直接在每个 token 表示上预测标签;对问答,把 question 和 passage 拼接,在 passage token 上预测 span。这套统一接口的工程价值是模型服务、训练脚本、评估流程都能复用,不需要为每个任务重新设计架构。

但 fine-tuning 不是免费的。学习率、batch size、epoch 数、随机种子都会影响结果,小数据集上的微调结果方差可能很大。这一点在实践里比论文表格里的单点分数更容易被忽略:论文报告的通常是多次随机重启的平均或中位数,生产环境里如果只跑一次微调,拿到的可能是分布里偏离中位数的一个点。


七、谱系:从 BERT 到 RoBERTa / ALBERT / DeBERTa / ELECTRA / ModernBERT

BERT 开创的是”Encoder-only + 遮盖式预训练”这条范式,后续工作沿着不同的旋钮继续推进:

RoBERTa(Liu 等人,2019)证明架构不变,仅靠更大 batch、更多数据、动态 masking(每个 epoch 重新随机遮盖,而不是像 BERT 一样在数据预处理阶段固定遮盖方案)、以及上一节分析过的输入打包方式调整,就能显著提升效果——这提醒我们训练配方和架构创新一样重要。

ALBERT(Lan 等人,ICLR 2020)关注参数效率,用 factorized embedding parameterization 和跨层参数共享降低参数量。DeBERTa(He 等人,ICLR 2021)把内容和位置表示解耦,改进相对位置建模,2025 年之前长期是 GLUE 上表现最好的 encoder 之一。

ELECTRA(Clark 等人,ICLR 2020)换了一个角度直接解决第二节说的 mismatch 问题:不训练模型预测被 [MASK] 遮住的 token,而是训练一个小的 generator 网络先把部分 token 替换成看起来合理的候选词,再训练主模型(discriminator)判断输入里每个 token 是原始的还是被替换的。因为这个判别任务定义在全部输入 token 上而不是被遮盖的 15%,同等计算量下学习效率明显更高,论文报告一个用单张 GPU 训 4 天的小模型在 GLUE 上超过了用 30 倍算力训练的 GPT-1;更关键的是,discriminator 训练和推理时看到的输入里从来没有出现过 [MASK] 这个符号,直接从目标设计上绕开了 pretrain-finetune mismatch,而不是像 80/10/10 一样去缓解它。

ModernBERT(Warner 等人,ACL 2025,预印本 arXiv:2412.13663,2024 年 12 月发布)代表这条路线在 2024 年之后的延续。论文开篇明确写道:Encoder-only 模型”是大量生产管线的主力”,但自 BERT 发布以来几乎没有获得 Pareto 意义上的改进。ModernBERT 把 RoPE 位置编码、GeGLU 前馈层、局部/全局交替注意力等近几年在 Decoder-only 大模型上验证过的架构改进搬回 encoder,训练语料扩大到 2 万亿 token(包含代码),原生支持 8192 token 上下文(多数早期 encoder 只支持 512),在 GLUE 上是自 2021 年 DeBERTaV3 之后第一个刷新纪录的 encoder,同时在长文本检索和代码检索上取得当时最好结果。这条谱系说明的是:BERT 定义了问题(全局双向表示 + 预训练迁移),后续工作在损失函数(RoBERTa/ELECTRA)、参数效率(ALBERT)、位置建模(DeBERTa)、整体架构现代化(ModernBERT)四个独立维度上继续推进,主线没有变成 Decoder-only,只是分工更清楚。


八、今天还在部署的场景

Encoder-only 模型没有在生成式助手时代消失,原因不是历史惯性,而是它在特定输出结构上仍有成本优势。40|三大路线之争 第六节已经用 Sentence-BERT(Reimers & Gurevych, EMNLP 2019)和 monoBERT 一类 cross-encoder 重排模型(Nogueira & Cho, arXiv:1901.04085,未经 peer review)的成本模型详细论证过:候选数量一旦上升,encoder 一次前向的成本远低于让生成模型对每个候选做一次自回归 decode,这里不重复那套论证,只强调一点——这些方法的成本优势直接来自”一次前向、全局可见”,也就是本文第一节讲的那个可见性图,不是额外的工程技巧。

命名实体识别、抽取式问答这类需要在完整上下文里定位 span 的任务,至今仍然普遍用 encoder-only 模型完成,原因见第五节的 SQuAD 消融数字:LTR 模型在这类任务上掉分最狠。

生产环境对延迟和显存敏感的场景(移动端、边缘设备、高 QPS 的分类/审核流水线)常用蒸馏版本压缩成本。DistilBERT(Sanh 等人,NeurIPS 2019 EMC² WorkshoparXiv:1910.01108)用知识蒸馏在预训练阶段把 BERT-Base 压缩 40%、推理速度提升 60%,同时在 GLUE 上保留 97% 的语言理解能力——这个数字本身说明,对大量分类/理解任务,模型能力的边际收益在参数量上并不是线性的,用一个小得多的 encoder 就能拿到大部分效果。

ModernBERT 的存在本身也是一条证据:如果 encoder-only 在 2024 年已经彻底沦为历史遗留,不会有团队专门投入把 RoPE、GeGLU、长上下文这些现代架构改进搬回来重新训练。


九、争论与开放问题

争论:NSP 的证据链到底证明了什么。 第四节已经展开——RoBERTa 的四组对照实验没有单独隔离出”NSP loss 本身是否有效”这个问题,因为 FULL-SENTENCES/DOC-SENTENCES 同时改变了输入打包格式(连续多句 vs 人为拼接的两段)和训练目标(去掉 NSP)。SENTENCE-PAIR+NSP 明显劣于 SEGMENT-PAIR+NSP 这一组对照,反而说明”句子长度不够、丢失长距离依赖”本身就会拖累效果,而这个变量和 NSP 无关。把”RoBERTa 证明 NSP 没用”当成定论,会掩盖这个未被完全隔离的混淆变量——更谨慎的说法是”输入是连续长文本时,NSP 的边际收益消失了”,这不完全等价于”NSP 这个目标设计错了”。

开放问题一:encoder-only 的现代化还能走多远。 ModernBERT 证明了把 RoPE、GeGLU、长上下文这些 Decoder-only 大模型上验证过的技术搬回 encoder 有效,但它仍然停留在亿级参数规模,训练语料(2 万亿 token)也远小于今天主流 Decoder-only 基座模型。encoder-only 架构在更大参数规模下是否还保有同样的效率优势,还是会遇到不同的 scaling 瓶颈,目前没有对照实验能直接回答,需要看后续是否有人在十亿甚至百亿参数规模上重复 ModernBERT 的路线。

开放问题二:伪似然训练目标和真实的序列分布之间差多少。 Wang 与 Cho 的 MRF 框架给出了从 BERT 采样的方法,但伪似然本身只是真实联合分布的一个近似——它优化的是”给定其余所有位置,预测被遮住的一个位置”,而不是这些条件分布真的能拼成一个自洽的联合分布。BERT 生成的文本比从左到右 LM 更多样但质量略差,这个差距背后的理论解释(是伪似然近似本身的局限,还是训练数据/规模不够)目前没有定论,这个问题指向的是伪似然方法和精确最大似然训练之间更一般的关系,而不是 BERT 这一个模型的问题。


十、关键概念回顾


十一、常见误解

11.1 “80/10/10 是被证明的全局最优比例”

不成立。BERT 自己的消融(Table 8)显示,在端到端微调场景下,多种掩码组合的 MNLI 分数都挤在 83.6 到 84.4 之间,差异很小;80/10/10 的优势主要体现在冻结编码器做特征提取(feature-based)的场景。

11.2 “RoBERTa 证明 NSP 没用,所以 BERT 原论文这一步错了”

不准确。RoBERTa 的对照实验没有单独隔离 NSP loss 和输入打包格式这两个变量,更准确的结论是:当输入本身是连续多句的长文本时,NSP 的边际收益消失,这和”NSP 设计得不对”是两个不同的判断。

11.3 “BERT 不能生成文本”

不准确。Wang & Cho(NAACL 2019 Workshop)证明 BERT 可以通过 Gibbs sampling 生成文本,质量比从左到右语言模型略差但更多样。真正的限制是这条采样路径的计算代价结构和自回归生成完全不同,没有生产级推理引擎支持它,不是数学上不可行。

11.4 “encoder-only 是被 Decoder-only 淘汰的旧技术”

不成立。ModernBERT(2024)证明 encoder-only 仍在被系统性现代化,DistilBERT 一类蒸馏模型仍在生产环境里承担分类、检索、重排任务。淘汰的是”用 encoder-only 做通用生成助手”这个不存在的用法,不是这条架构路线本身。


十二、下一步

BERT 钉住了 Encoder-only 这条路线自己的机制细节:可见性带来什么、MLM 的旋钮改了什么、NSP 的证据链有多复杂、它为什么不做生成。下一篇转向另一条路线:GPT 为什么选择 Decoder-only,从 GPT-1 到 GPT-4,next-token prediction 这件看似简单的事最终变成了大语言模型时代的主线。三条路线(Encoder-only、Encoder-Decoder、Decoder-only)的信息流不变量、任务接口分野和推理系统假设的系统对比,见 40|三大路线之争


十三、参考文献

  1. Devlin, J. et al. “BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding.” NAACL 2019. BERT 原始论文,本文模型规格、MLM/NSP 设计、Table 5、Table 8、Appendix C 的数据均出自此文。
  2. Liu, Y. et al. “RoBERTa: A Robustly Optimized BERT Pretraining Approach.” arXiv:1907.11692, 2019. 未经 peer review,但训练配方与 Table 2 四组对照实验被后续大量工作复现引用,本文第四节的核心证据来源。
  3. Wang, A. and Cho, K. “BERT has a Mouth, and It Must Speak: BERT as a Markov Random Field Language Model.” NAACL 2019 Workshop on Methods for Optimizing and Evaluating Neural Language Generation. BERT 的伪似然/MRF 形式化与 Gibbs sampling 生成方法,本文第三节的核心证据来源。
  4. Clark, K. et al. “ELECTRA: Pre-training Text Encoders as Discriminators Rather Than Generators.” ICLR 2020. Replaced Token Detection,从目标设计上绕开 pretrain-finetune mismatch 的方案。
  5. Lan, Z. et al. “ALBERT: A Lite BERT for Self-supervised Learning of Language Representations.” ICLR 2020. 参数效率方向的 BERT 改进。
  6. He, P. et al. “DeBERTa: Decoding-enhanced BERT with Disentangled Attention.” ICLR 2021. 解耦 attention 与相对位置建模方向的改进。
  7. Warner, B. et al. “Smarter, Better, Faster, Longer: A Modern Bidirectional Encoder for Fast, Memory Efficient, and Long Context Finetuning and Inference.” ACL 2025(预印本 arXiv:2412.13663, 2024)。ModernBERT,本文第七、八节 2024 年后 encoder-only 现代化的证据来源。
  8. Sanh, V. et al. “DistilBERT, a distilled version of BERT: smaller, faster, cheaper and lighter.” NeurIPS 2019 EMC² WorkshoparXiv:1910.01108)。蒸馏压缩的具体数字来源,本文第八节引用。
  9. Peters, M. et al. “Deep contextualized word representations.” NAACL 2018. ELMo,上下文表示的重要前置工作。
  10. Howard, J. and Ruder, S. “Universal Language Model Fine-tuning for Text Classification.” ACL 2018. ULMFiT,预训练语言模型迁移到下游任务的代表工作。
  11. Wang, A. et al. “GLUE: A Multi-Task Benchmark and Analysis Platform for Natural Language Understanding.” ICLR 2019. BERT 时代常用理解任务基准。
  12. Rajpurkar, P. et al. “SQuAD: 100,000+ Questions for Machine Comprehension of Text.” EMNLP 2016. 抽取式问答代表基准。

← 上一篇:36|训练稳定性 | 下一篇:38|GPT 系列

同主题继续阅读

把当前热点继续串成多页阅读,而不是停在单篇消费。

2026-08-06 · transformer

【Transformer 与注意力机制】40|三大路线之争:为什么大模型几乎都是 Decoder-only

Encoder-only、Encoder-Decoder、Decoder-only 的差异不是谁更聪明,而是谁能看见谁的信息流不变量。本文从可见性图出发,解释这个不变量如何锁死任务接口与训练管线,KV Cache、continuous batching、投机解码为什么默认假设单流 causal Decoder,以及 embedding、rerank、强制双向抽取场景为什么不该硬上生成式大模型。

2026-04-15 · transformer

【Transformer 与注意力机制】22|Encoder 详解:6 层堆叠到底在做什么

把 Transformer encoder 从“左半边”这个模糊概念拆成可操作的结构:单层里 self-attention、FFN、残差、LayerNorm 各做什么;6 层堆叠为什么不是重复劳动;encoder 输出为什么适合理解任务而不直接擅长生成;以及它和 decoder-only、encoder-decoder 两条路线到底差在哪。


By .