# 12.2 RoBERTa、ALBERT 与 ELECTRA：BERT 的改进之路

BERT 的成功激发了大量改进工作，形成了丰富的编码器模型家族。每个改进版本都针对 BERT 的特定不足提出了解决方案。

## 12.2.1 RoBERTa：充分训练的力量

RoBERTa（Robustly Optimized BERT Approach，Liu 等人，2019 年）没有改变 BERT 的架构，而是通过**更充分的训练**取得了显著的性能提升：

* 去除 NSP 任务（实验证明其贡献为零甚至负面）
* 使用更大的批次（最高达 8K 序列，根据训练阶段动态调整 → 更稳定的梯度估计）
* 使用更多的训练数据（16 GB → 160 GB）
* 动态调整 MLM 掩码位置（每个 epoch 重新随机选择遮盖位置）
* 训练更长时间

RoBERTa 的成功传达了一个重要信息：**BERT 的架构设计本身是合理的，性能提升的关键在于训练是否充分。** 这一发现也影响了后续大模型的训练策略。

## 12.2.2 ALBERT：参数效率的突破

ALBERT（A Lite BERT，Lan 等人，2019 年）通过两种创新大幅减小模型体积：

**跨层参数共享**：所有 Transformer 层使用同一组参数。直觉上，Transformer 的每一层执行的是类似的“注意力 → 变换”操作，参数共享是一种强正则化，迫使模型学习更通用的变换。ALBERT-xxlarge 用 12 层共享参数不仅达到了 BERT-large（24 层独立参数）的性能水平，实际上在多个基准上超越了它（如 SQuAD 2.0 上 +3.1%，RACE 上 +8.4%）。

**嵌入矩阵分解**：将大的嵌入矩阵 $$V \times H$$ 分解为两个小矩阵 $$V \times E$$ 和 $$E \times H$$ 的乘积（$$E \ll H$$），大幅减少嵌入层的参数量。

## 12.2.3 ELECTRA：训练效率的最优化

ELECTRA（Clark 等人，2020 年）从根本上改变了预训练任务的设计。它使用一个小型**生成器**（类似于小型 MLM 模型）替换部分词元，然后训练一个大型**判别器**（目标模型）判断序列中每个位置的词元是否被替换过。

关键优势：**判别器在所有位置上都计算损失**（$$n$$ 个位置），而 BERT 的 MLM 只在 15% 的遮盖位置上计算损失（$$0.15n$$ 个位置）。这使得 ELECTRA 在同等计算预算下学到更多语言知识，训练效率提升约 4 倍。

ELECTRA 用仅 1/4 的 BERT 训练计算量就达到了同等性能，展示了预训练任务设计对效率的巨大影响。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://yeasy.gitbook.io/llm_internals/di-si-bu-fen-qian-yan-yu-shi-jian-pian/12_encoder_models/12.2_roberta_albert.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
