06 - 大模型基础理论面试题¶
⚠️ 时效性说明:本章涉及前沿模型/价格/榜单等信息,可能随版本快速变化;请以论文原文、官方发布页和 API 文档为准。
Transformer 、预训练、微调等核心理论
📖 章节概述¶
本章将整理大模型基础理论相关的面试题,包括 Transformer 架构、预训练方法、微调技术等内容。
🎯 学习目标¶
完成本章后,你将能够:
- 掌握大模型的核心理论
- 熟悉常见的面试题型
- 理解 Transformer 架构
- 了解预训练和微调方法
1. Transformer 架构¶
Q1: Transformer 的核心组件是什么¶
解答: Transformer 的核心组件包括:
- 自注意力机制( Self-Attention ):计算序列中每个位置与其他所有位置的关系
- 多头注意力( Multi-Head Attention ):并行计算多个注意力,捕获不同的特征
- 位置编码( Positional Encoding ):为序列添加位置信息
- 前馈网络( Feed-Forward Network ):对每个位置独立应用非线性变换
- 残差连接( Residual Connection ):缓解梯度消失问题
- 层归一化( Layer Normalization ):稳定训练过程
Q2: 自注意力机制是如何工作的¶
解答: 自注意力机制的工作步骤:
- 计算 Q 、 K 、 V:通过线性变换得到查询( Q )、键( K )、值( V )
- 计算注意力分数: Q 和 K 的点积
- 缩放:除以√d_k (控制点积方差,避免 softmax 过于尖锐)
- Softmax 归一化:得到注意力权重
- 加权求和:用注意力权重对 V 进行加权求和
公式:
Q3: 位置编码有哪些类型¶
解答: 常见的位置编码类型:
- 绝对位置编码:
- 正弦/余弦位置编码(原始 Transformer )
-
可学习的位置嵌入
-
相对位置编码:
- T5 Bias
-
Transformer-XL
-
旋转位置编码( RoPE ):
- 近年在大语言模型中较常见
-
通过旋转矩阵编码位置信息
-
ALiBi ( Attention with Linear Biases ):
- 通过线性偏置编码相对位置
2. 预训练¶
Q4: 什么是预训练?为什么需要预训练¶
解答: 预训练是在大规模数据上训练模型,学习通用的语言表示。
需要预训练的原因: 1. 数据效率:大规模数据学习更有效的表示 2. 知识迁移:学习到的知识可以迁移到下游任务 3. 泛化能力:提高模型的泛化能力 4. 加速收敛:下游任务训练更快收敛
Q5: 常见的预训练目标有哪些¶
解答: 常见的预训练目标:
- MLM ( Masked Language Modeling ):
- BERT 使用
-
随机 mask 部分 token ,预测被 mask 的 token
-
CLM ( Causal Language Modeling ):
- GPT 使用
-
自回归预测下一个 token
-
NSP ( Next Sentence Prediction ):
- BERT 使用
-
预测两个句子是否连续
-
Span Prediction:
- T5 使用
-
预测被 mask 的 span
-
Denoising Autoencoding:
- BART 使用
- 去噪自编码
Q6: 什么是 Scaling Law¶
解答: Scaling Law 描述了模型性能与模型大小、数据量、计算资源之间的关系。
主要发现: 1. 模型性能与模型大小呈幂律关系 2. 模型性能与数据量呈幂律关系 3. 模型性能与计算量呈幂律关系 4. 三者之间存在权衡关系
公式:
其中 N 是模型参数量, D 是数据量, E 是不可约损失(自然语言固有的熵), A 、 B 、α、β为拟合常数。计算量 C ≈ 6ND ,与 N 、 D 不独立,不作为联合公式中的独立变量。
3. 微调¶
Q7: 什么是微调?微调有哪些方法¶
解答: 微调是在预训练模型基础上,使用特定任务的数据进行训练。
微调方法: 1. 全量微调( Full Fine-tuning ): - 更新所有参数 - 需要大量数据和计算资源
- 部分微调( Partial Fine-tuning ):
- 只更新部分层
-
减少计算量
-
参数高效微调( PEFT ):
- LoRA ( Low-Rank Adaptation )
- Adapter
- Prefix Tuning
- Prompt Tuning
Q8: LoRA 的原理是什么¶
解答: LoRA 通过低秩分解来减少可训练参数。
核心思想: - 假设权重更新ΔW 是低秩的 - ΔW = BA ,其中 B 和 A 是低秩矩阵 - 只训练 B 和 A ,参数量大幅减少
公式:
优势: - 参数量少(通常<1%) - 不增加推理开销 - 可以合并到原始权重
Q9: QLoRA 相比 LoRA 有什么改进¶
解答: QLoRA ( Quantized LoRA )相比 LoRA 的改进:
- 量化基础模型:将基础模型量化到 4 位
- 低秩适配器:使用 LoRA 进行微调
- 显存大幅降低:显存需求降低约 75%
优势: - 可以在消费级 GPU 上微调大模型 - 精度损失小 - 推理速度不受影响
4. 练习题¶
基础练习¶
- 实现自注意力
- 实现位置编码
进阶练习¶
- 实现 LoRA
# 练习: 实现LoRA
class LoRALayer(nn.Module):
def __init__(self, in_features, out_features, rank=8):
# 你的代码
pass
def forward(self, x):
# 你的代码
pass
- 实现 MLM 预训练
# 练习: 实现MLM预训练
class MLMPretraining(nn.Module):
def __init__(self, model):
# 你的代码
pass
def forward(self, input_ids, attention_mask, labels):
# 你的代码
pass
5. 答题建议¶
✅ 面试技巧¶
- 理解核心概念
- 深入理解 Transformer 架构
- 掌握预训练和微调方法
-
了解代表性研究方向与工程权衡
-
准备代码示例
- 准备关键算法的实现
- 理解代码细节
-
能够解释代码
-
结合实际项目
- 将理论与项目经验结合
- 举例说明应用场景
- 展示实践经验
❌ 避免做法¶
- 死记硬背
- 理解核心原理
- 掌握关键公式
-
能够灵活应用
-
忽视细节
- 注意技术细节
- 理解设计决策
-
了解权衡取舍
-
缺乏实践
- 结合实际项目
- 展示应用能力
- 分享经验教训
6. 总结¶
本章介绍了大模型基础理论的面试题:
- Transformer 架构: 自注意力、多头注意力、位置编码
- 预训练: MLM 、 CLM 、 Scaling Law
- 微调: 全量微调、 LoRA 、 QLoRA
掌握这些理论知识是面试的基础。
7. 下一步¶
继续学习07-Transformer 架构面试题,深入了解 Transformer 架构的细节。
⚠️ 核验说明(2026-04-03):本页已完成 2026-04-03 人工复核。自注意力、Scaling Law、LoRA/QLoRA 等表述已按更稳妥的数学和工程口径收紧;若面试追问到具体模型版本或论文数字,应回到原论文与官方实现。
最后更新日期: 2026-04-03