LLM & Multimodal 面试复习笔记

02: 预训练语言模型

核心主题:BERT、GPT、T5、LLaMA 的设计哲学与技术细节
来源:Happy-LLM 第三章 + Base-LLM 第五章

1. 预训练范式概述

预训练语言模型的核心思路:在大规模无标注语料上学习通用语言表示,再在下游任务上微调

架构代表模型预训练任务适用场景
Encoder-OnlyBERT, RoBERTaMLM (双向)NLU: 分类、NER、QA
Decoder-OnlyGPT, LLaMACLM (单向)NLG: 生成、对话、推理
Encoder-DecoderT5, BARTSpan Corruption翻译、摘要、结构化生成

2. BERT (Bidirectional Encoder Representations from Transformers)

2.1 预训练任务

MLM (Masked Language Modeling)

$$\mathcal{L}_{MLM} = -\sum_{i \in \text{masked}} \log P(x_i | x_{\backslash i})$$

NSP (Next Sentence Prediction)

2.2 架构细节

参数BERT-BaseBERT-Large
Layers1224
Hidden Size7681024
Attention Heads1216
Parameters110M340M
Vocab Size30,522 (WordPiece)
Max Seq Length512
ActivationGELU

GELU: $\text{GELU}(x) = 0.5x(1 + \tanh(\sqrt{2/\pi}(x + 0.044715x^3)))$

输入表示 = Token Embedding + Segment Embedding + Position Embedding

2.3 BERT 变体

模型改进点
RoBERTa去 NSP + 动态 Masking + 更大 batch + 更多数据
ALBERT嵌入分解 ($V \times E + E \times H$) + 跨层参数共享
DeBERTa解耦注意力(内容 + 位置分开计算)
SpanBERT连续 span masking + SBO 目标

3. GPT 系列

3.1 GPT-1/2/3 演进

模型LayersHiddenHeadsParamsData关键创新
GPT-112768120.12B5GBPretrain+Finetune 范式
GPT-2481600251.5B40GBZero-shot; Pre-Norm
GPT-3961228896175B570GBFew-shot / ICL; 稀疏注意力

GPT 核心训练目标 (CLM)

$$\mathcal{L}_{CLM} = -\sum_{t=1}^{T} \log P(x_t | x_1, \ldots, x_{t-1})$$

自回归分解:只关注左侧上下文,天然适合生成任务。

3.2 Scaling Law

$$C \approx 6ND$$

其中 $C$ = 计算量(FLOPs), $N$ = 模型参数量, $D$ = 训练数据量(tokens)

Chinchilla 最优配比:$D = 20N$(数据量应为参数量的20倍)

4. T5: Text-to-Text Transfer Transformer

核心思想:将所有 NLP 任务统一为 "text-to-text" 格式:

输入: "translate English to German: That is good."
输出: "Das ist gut."

输入: "summarize: [长文本]"
输出: "[摘要]"

5. LLaMA 家族

版本规模训练数据上下文关键技术
LLaMA-1 (2023.02)7B-65B1T tokens2KRoPE, SwiGLU, Pre-Norm
LLaMA-2 (2023.07)7B-70B2T tokens4K+ GQA (70B)
LLaMA-3 (2024.04)8B/70B15T tokens8K → 128K128K vocab, GQA全系

LLaMA 的技术选择

6. 三种架构对比

维度Encoder-Only (BERT)Decoder-Only (GPT/LLaMA)Encoder-Decoder (T5)
注意力双向单向 (causal)Enc双向 + Dec单向+交叉
预训练MLMCLMSpan Corruption
下游使用+分类头微调Zero/Few-shot 或 SFTText-to-Text
生成能力中等
涌现能力强(规模效应)
代表规模~1B7B-1000B+~11B

为什么 Decoder-Only 最终胜出?

  1. Scaling:CLM 随规模增长涌现 ICL、CoT 等能力,Encoder 模型无此现象
  2. 统一性:所有任务都可表述为"续写",无需任务特定头
  3. 数据效率:每个 token 都提供训练信号(vs MLM 仅 15%)
  4. 生成对齐:训练和推理都是自回归,无 train-test mismatch

面试要点总结

高频面试题

  1. BERT 的 MLM 有什么问题? 训练有 [MASK],推理没有 → pretrain-finetune mismatch。10% random + 10% unchanged 是缓解手段。
  2. RoBERTa 改了什么? 去 NSP + 动态 masking + 更大 batch(8K) + 更多数据(160GB)
  3. GPT-3 的 In-Context Learning 是什么? 无需梯度更新,通过 prompt 中的示例学会任务
  4. Chinchilla Scaling Law? 最优计算分配:tokens = 20 × params
  5. LLaMA 为什么用 RMSNorm? 省去均值计算,训练更快,效果相当
  6. 为什么 CLM 比 MLM 扩展性好? 每个 token 都是训练信号,且自回归与生成推理一致