📖 深度解析子页面

想要更深入了解?我们为面试准备了专题深度解析页面:

1. 预训练范式的演进

大语言模型的成功基于一个范式转变:从传统的特征工程与监督学习,到大规模无标注数据的自监督预训练加微调,再到 Prompt-based 的零样本/少样本学习。

1.1 自监督学习

自监督学习利用海量无标注文本数据,通过设计自动生成的标签来学习通用的语言表示。这是 LLM 预训练的核心。

1.2 Causal Language Modeling (CLM)

定义: P(x_t | x_1, x_2, ..., x_{t-1}),自回归地预测下一个 token。

  • 在前向传播时应用因果掩码 (causal mask),防止 attention 看到未来的 token
  • 适合生成任务,GPT 系列都采用 CLM
  • 损失函数:标准交叉熵,对所有位置求和

1.3 Masked Language Modeling (MLM)

定义: 随机掩盖输入的 15% tokens,模型需要预测被掩盖的 token。

  • 掩盖策略: 80% [MASK] token,10% 随机 token,10% 保持不变
  • 为什么是 80/10/10? 增加模型的鲁棒性,防止只学习 [MASK] 这个特殊符号
  • 适合理解任务,BERT 使用 MLM
  • MLM 允许双向 attention,模型可以看到全上下文

1.4 CLM vs MLM 对比

特性 CLM (GPT) MLM (BERT)
目标任务 文本生成 文本理解
Attention 方向 单向(因果) 双向
训练目标 预测下一个 token 预测被掩盖的 token
推理方式 自回归生成 一次性输出
代表模型 GPT-2/3/4, LLaMA BERT, RoBERTa

2. GPT 系列完整演进

从 GPT-1 到 GPT-4o,再到 o1/o3 推理模型,展示了生成式 AI 的指数级进步。以下是关键模型的详细规格:

模型 参数量 层数 d_model n_heads 上下文 训练数据 关键特性
GPT-1 117M 12 768 12 512 BookCorpus 第一代生成模型
GPT-2 1.5B 48 1600 25 1024 WebText 40GB 强零样本能力
GPT-3 175B 96 12288 96 2048 570GB 文本 In-context learning 突破
GPT-3.5 ~175B 96 12288 96 4096 1T+ tokens RLHF 对齐,ChatGPT 基础
GPT-4 ~1.7T* ~120 12288+ 128 8K/32K/128K 多模态数据 MoE 架构,多模态
GPT-4o ~1.7T* ~120 12288+ 128 128K text+image+audio 原生多模态统一编码
o1 (2024) 未公开 - - - 128K 推理导向训练 推理时 CoT,长思考链
o3 (2025) 未公开 - - - 128K 强化推理数据 ARC-AGI 92.3% 准确率
GPT-4.1 (2025) 未公开 - - - 1M 超长上下文优化 100 万 token 上下文

2.1 关键演进点

  • 参数量扩展: 117M → 175B,每个数量级都带来质变
  • 上下文长度: 512 → 1M,直接影响 RAG 和长文档理解
  • 多模态: GPT-4o 原生支持 text/image/audio
  • 推理优化: o1/o3 在测试时计算,实现更强泛化
  • 标注改进: GPT-3 纯预训练,GPT-3.5+ 引入 RLHF

3. 上下文窗口的演进 (关键面试话题)

上下文长度是 LLM 能力的关键指标,直接影响长文档理解、RAG 和 Agent 记忆能力。

3.1 上下文长度时间线

  • GPT-2: 1024 → GPT-3: 2048 → GPT-3.5: 4096 → GPT-4: 8K~128K → Claude 3: 200K → Gemini 1.5: 1M → GPT-4.1: 1M

3.2 为什么长上下文很重要

  • 长文档理解: 一次性处理整本书或完整代码库
  • RAG 系统: 检索更多相关文档,减少漏信息
  • Agent 记忆: 保留完整对话历史和执行轨迹
  • 上下文学习: 更多 few-shot 示例,提升准确率

3.3 长上下文的实现技术

RoPE 外推: 调整 base frequency,实现 position embedding 外推,YaRN 分频段拉伸

ALiBi: 用线性偏差而非位置编码,天然支持长度外推

Ring Attention & Landmark Attention: 分布式处理超长序列,压缩历史 KV 为 summary

3.4 长上下文的挑战

  • "Needle in a Haystack": 长文档中找相关信息,中间位置表现差
  • "Lost in the Middle": 模型忽视中间信息,关注开头和结尾
  • KV Cache 膨胀: 推理时内存占用随序列长度二次方增长
  • 计算成本: Attention O(n²) 复杂度,超长序列代价极高

面试考点: 实现长上下文的方法与优缺点?长上下文为什么难?

4. BERT 系列与理解类模型

BERT 系列采用双向 Transformer 和 MLM,专注文本理解,与 GPT 生成式范式不同。

4.1 BERT 与变体

  • BERT-base: 110M 参数,12 层,d=768,12 heads
  • BERT-large: 340M 参数,24 层,d=1024,16 heads
  • RoBERTa: 去掉 NSP,动态 masking,更多数据和更大 batch,性能显著提升
  • ALBERT: 参数共享和矩阵分解实现轻量化,参数量减少 90%
  • DeBERTa: Disentangled Attention 分离内容和位置,性能超越 BERT

4.2 BERT 的 Mask 策略为什么是 80/10/10?

  • 80% [MASK]: 学习预测被掩盖单词,主要目标
  • 10% 随机: 增加对噪声的鲁棒性,检测输入错误
  • 10% 不变: 保留原始 token,表示空间与微调时更接近

5. 开源 LLM 生态

开源社区推动 LLM 民主化,高效实用的模型层出不穷。

模型 规格 训练数据 上下文 特性 场景
LLaMA 1/2 7B~70B 1-2T tokens 2K-4K 高效训练,GQA 本地部署
LLaMA 3 8B~405B 15T+ tokens 8K-128K Tiktoken,超长上下文 生产级应用
Mistral 7B 7B 7T tokens 4K (Sliding Window) GQA,质量超 LLaMA 2 13B 高效推理
Mixtral 8x7B 47B / 13B 激活 大规模混合 4K 稀疏 MoE,2/8 routing 动态计算
DeepSeek V2 236B (MLA) 5T+ tokens 4K~128K MLA 架构,KV 压缩 成本优化部署
DeepSeek R1 1.5B~671B RL 导向 8K~128K 开源推理模型 复杂推理任务
Qwen 2.5 0.5B~72B 多语言 128K 全系列,MoE 版本 多语言应用

5.1 核心创新模型

Mistral 7B: Sliding Window Attention 让每个 token 只关注最近 4K token,KV Cache 线性增长,单个 7B 超越 LLaMA 2 13B

DeepSeek V2 (MLA): 将 KV 投影到低维潜空间,KV Cache 从 40GB 减少到 1GB,推理显存节省 95%

DeepSeek R1: 首个完全开源推理模型,RL 训练长 CoT,R1 70B 在数学和代码超越 GPT-4,推理轨迹完全可解释

6. Mixture of Experts (MoE) 详解

MoE 通过稀疏激活解耦参数量和计算量,是现代大模型提高效率的关键技术。

6.1 MoE 结构

  • 将 FFN 替换为多个独立 Expert FFN(如 8 个)
  • Router 网络 G(x) = softmax(x·W_g) 为每个 token 计算 expert 权重
  • TopK 选择概率最高的 K 个 expert,通常 K=2
  • 输出:y = Σ(G_i(x)·Expert_i(x)),仅对选中 expert 求和

6.2 训练挑战与解决方案

Load Balancing Loss: L_balance = N × Σ_i (f_i × P_i),其中 f_i 是 token 选中比例,P_i 是路由概率均值,强制 expert 负载均衡

Expert Capacity: 每个 expert 处理 token 数上限 = (总 token 数 / expert 数) × capacity_factor,超容处理通常丢弃或分发

6.3 参数量 vs 计算量

  • Mixtral 8x7B: 总参数 47B,但每次只激活 ~13B(2 个 expert),推理成本接近 13B
  • 参数效率: 存储 47B,推理仅需 13B 计算,参数和计算完全解耦
  • DeepSeek V3: 256 个小 expert + 1 个 shared expert,推理速度快 50%+,性能更强

面试考点: MoE 的优势和挑战?Router 训练如何防止崩溃?Load Balancing 为什么重要?

7. Scaling Laws (扩展规律)

Scaling Laws 是预测 LLM 性能的经验规律,对预算规划和模型设计至关重要。

7.1 Kaplan et al. (2020) 的幂律

公式: L(N,D) = (N_c/N)^α_N + (D_c/D)^α_D,其中 α_N ≈ 0.07, α_D ≈ 0.16

关键发现: 增加数据的收益 (0.16) > 增加参数 (0.07),但实践中增加参数更容易(显存、通信开销小)

7.2 Chinchilla 定律 (2022)

问题: 给定固定计算预算 C,如何最优分配参数 N 和数据 D?

发现: N 和 D 应成比例增长,N ∝ C^0.5, D ∝ C^0.5

具体例子: Gopher 280B (300B tokens) vs Chinchilla 70B (1.4T tokens),同样计算量下 Chinchilla 70B 性能更好

启示: 数据量很重要,不应为大参数而牺牲数据。LLaMA 7B 在 1T tokens 上训练,质量超越 GPT-3 175B

7.3 Emergent Abilities 争议

  • 涌现能力:在某个规模阈值后突然出现的能力,如 CoT 推理、多步算术
  • 争议:可能是评估指标不连续性,而非模型性能本身的不连续
  • 现共识:表现形式阈值性,但内部学习连续

7.4 数据质量比数据量更重要

  • Phi 系列: 1.3B 模型用高质量教科书级数据,性能达 7B 模型
  • 启示: 数据质量 > 数据量 > 模型大小

面试考点: Chinchilla 定律的发现?为什么 LLaMA 过度训练?

8. 分词 (Tokenization) 详解

分词是 LLM 的第一步,直接影响模型性能和计算效率。

8.1 BPE (Byte Pair Encoding)

算法:初始化为字符级 → 统计相邻 token 对频率 → 合并最频繁的对 → 重复直到词表大小达标

应用: GPT-2 使用 Byte-level BPE,词表大小 50257

8.2 WordPiece vs SentencePiece

  • WordPiece: BERT 使用,基于似然度选择合并,更智能但计算量大
  • SentencePiece: 语言无关,支持 BPE 和 Unigram,无需预处理,LLaMA/Mistral 使用

8.3 Tiktoken (OpenAI)

  • GPT-4 官方分词器,词表 ~100K,针对代码和多语言优化
  • C++ 实现,比 Python SentencePiece 快 10 倍

8.4 中文分词特殊挑战

  • 中文无明确词边界,单个汉字可能多 token 映射
  • 优化:词表加入常用中文词,减少多 token 映射
  • 成本:中文需更多 token,影响推理成本

面试考点: BPE 算法步骤?为什么需要 subword tokenization?

9. 预训练工程 (关键面试话题)

预训练是 LLM 的核心,涉及数据、分布式训练、优化等多方面。

9.1 数据层面

数据源: Common Crawl, The Pile, RedPajama, FineWeb

数据清洗: MinHash 去重、质量过滤、有害内容检测、语言检测

数据配比: 代码数据 3-5% 但影响巨大,数学数据提升计算能力,多语言混合

9.2 分布式训练 — 必须深入理解

方式 显存 per GPU 通信量 复杂度 适用
DP O(model) 2×model 小模型,显存充足
DDP O(model) 2×model 中等规模,多节点
FSDP (ZeRO-3) O(model/N) 3×model 大模型,显存受限
TP O(model/k) 2×model 超大模型,节点内
PP O(model/p) 激活 size 超大模型,显存压力

Data Parallel (DP): 每个 GPU 持完整模型,AllReduce 聚合梯度,显存占用大,扩展性差

DDP: PyTorch 官方推荐,Ring AllReduce 或树形 AllReduce,Gradient Bucketing 重叠通信,NCCL/Gloo 后端

FSDP (ZeRO Stage 3): 分片参数/梯度/优化器状态,内存 O(model/N),前向 AllGather + 反向 ReduceScatter,通信量 3×model_size

Tensor Parallelism (TP): 列并行无需同步,行并行需 AllReduce,通常节点内使用(NVLink 高带宽)

Pipeline Parallelism (PP): 不同层不同 GPU,1F1B 减少 bubble,memory-efficient

3D 并行: 节点内 TP (高速) + 节点间 PP + DP,超大模型标配

9.3 混合精度训练

FP32 vs FP16 vs BF16: FP16 易上溢下溢,BF16 指数范围与 FP32 相同更稳定

AMP: 前向 FP16(快),反向 FP32 master weights,Loss Scaling 防止梯度下溢

BF16 优势: 无需 Loss Scaling,数值稳定性好,A100+ 原生支持

面试考点: 为什么混合精度?BF16 vs FP16?

9.4 训练硬件

  • A100: 80GB HBM2e,312 TFLOPS,NVLink 600GB/s
  • H100: 80GB HBM3,989 TFLOPS,NVLink 900GB/s
  • Blackwell: 192GB HBM3e,1.46 POPS,NVLink 1.8TB/s

10. 微调技术详解

微调是快速适配预训练模型的关键技术。

10.1 Full Fine-tuning vs LoRA

Full Fine-tuning: 更新所有参数,需完整模型 + 梯度 + 优化器状态,显存和时间成本高

LoRA (Low-Rank Adaptation): W_new = W_0 + B·A,B∈R^{d×r}, A∈R^{r×k}, r << min(d,k)

  • 参数量:Full d×k vs LoRA r×(d+k),通常节省 99%+ 参数
  • 初始化:A 高斯噪声,B=0(开始 ΔW=0)
  • 缩放:ΔW = (α/r)·B·A,α 通常 16 或 32
  • 应用层:通常只在 Attention 的 Q, V(K 效果差)
  • 推理合并:W_new = W_0 + B·A 无额外延迟

为什么低秩能工作? 微调主要涉及低维子空间,高秩未必必要

10.2 QLoRA & DoRA

QLoRA: 4-bit NF4 量化基础模型 + LoRA,Double Quantization + Paged Optimizer,单张 48GB GPU 微调 65B 模型

DoRA: 权重分解为幅度 m 和方向 V,V 用 LoRA,m 标准梯度,更好梯度流和收敛

10.3 其他方法

  • Prefix Tuning:在输入前加可学习 virtual tokens
  • P-Tuning:MLP 参数化 prompt
  • Instruction Tuning:多样化 (instruction, output) 对微调

面试考点: LoRA 原理?为什么低秩能工作?QLoRA 如何节省内存?

11. 推理优化 (关键面试话题)

推理延迟和吞吐直接影响用户体验和部署成本。

11.1 KV Cache 详解

Autoregressive 生成时,生成第 t 个 token 需要前 t-1 个 token 的 K 和 V。缓存 KV 避免重复计算。

内存占用: 2×n_heads×d_head×seq_len×batch×dtype_size,例 LLaMA 70B @ seq_len=4096 ≈ 40GB(超过模型参数本身)

减小方法: GQA 多个 Q heads 共享 KV head,MQA 极端情况,KV 量化 INT8

11.2 量化 (Quantization)

PTQ: 训练后直接量化,快速但精度可能受影响

GPTQ: 逐层量化,用 Hessian 信息确定最优参数,INT4 损失 <1%

AWQ: 保护激活关键 channel,INT4 性能接近 FP16

GGUF/llama.cpp: CPU 友好的量化格式,无依赖

11.3 Speculative Decoding

小模型快速生成 k 个 candidates,大模型一次性验证。输出分布完全一致(概率校准)。加速比 2-3x。

11.4 vLLM & PagedAttention

PagedAttention: KV Cache 非连续物理 block,类似虚拟内存,解决内存碎片化,显存利用率 ~10% → 90%

Continuous Batching: 动态加入新请求,不等整个 batch 完成,吞吐 3-5x 提升

面试考点: PagedAttention 解决什么?Continuous Batching 原理?

12. 涌现能力与推理模型

2024-2025 年推理能力是最激动的进展,改变了对 AI 能力边界的认知。

12.1 推理模型范式转变

传统 LLM: 一次性预测,token 数固定 (1-100)

推理模型: 花任意多时间思考再给答案

o1 (2024): 长内部 CoT,AIME 83%,闭源

o3 (2025): ARC-AGI 92.3%(人类 85%),计算成本高

DeepSeek R1 (2025): 首个完全开源推理模型,1.5B~671B,RL 训练长 CoT,推理轨迹可解释,R1 70B 超越 GPT-4 Turbo(数学/代码)

12.2 Test-Time Compute Scaling

投入更多推理时计算显著提升性能,精度 vs 延迟/成本权衡。

12.3 为什么推理模型能工作

  • 复杂问题需深思,"思考"改进推理
  • o1/o3 困难问题远超,简单问题差别不大
  • RL 训练有用思考过程,而非无意义填充

面试考点: 什么是涌现能力?推理模型如何工作?为什么 test-time compute 有效?

上一章 Transformer

深度解析资源

深度解析 上下文窗口演进 深度解析 微调与分布式训练 深度解析 推理优化