08 - 预训练和微调面试题¶
预训练方法、微调技术、LoRA、QLoRA
📖 章节概述¶
本章将整理预训练和微调相关的面试题,包括预训练方法、微调技术、LoRA、QLoRA等内容。
🎯 学习目标¶
完成本章后,你将能够:
- 掌握预训练的核心方法
- 了解各种微调技术
- 理解LoRA和QLoRA的原理
- 能够回答相关面试题
1. 预训练方法¶
Q1: 什么是MLM预训练?¶
解答: MLM(Masked Language Modeling)是BERT使用的预训练方法。
核心思想: - 随机mask输入序列中的部分token - 预测被mask的token - 学习双向上下文表示
优势: - 学习双向表示 - 适合理解任务 - 可以利用上下文信息
Q2: 什么是CLM预训练?¶
解答: CLM(Causal Language Modeling)是GPT使用的预训练方法。
核心思想: - 自回归预测下一个token - 只能看到之前的token - 学习单向表示
优势: - 适合生成任务 - 自然的语言建模 - 容易实现
Q3: Scaling Law是什么?¶
解答: Scaling Law描述了模型性能与模型大小、数据量、计算资源之间的关系。
主要发现: 1. 性能与模型大小呈幂律关系 2. 性能与数据量呈幂律关系 3. 性能与计算量呈幂律关系 4. 三者之间存在权衡关系
应用: - 预测模型性能 - 指导模型设计 - 优化资源分配
2. 微调技术¶
Q4: 全量微调和部分微调的区别?¶
解答:
| 特性 | 全量微调 | 部分微调 |
|---|---|---|
| 参数更新 | 所有参数 | 部分参数 |
| 数据需求 | 大量数据 | 较少数据 |
| 计算资源 | 高 | 中 |
| 过拟合风险 | 高 | 低 |
| 适用场景 | 数据充足 | 数据有限 |
Q5: 什么是PEFT?¶
解答: PEFT(Parameter-Efficient Fine-Tuning)是参数高效微调方法。
核心思想: - 只训练少量参数 - 冻结大部分模型参数 - 大幅减少计算和存储需求
常见方法: 1. LoRA(Low-Rank Adaptation) 2. Adapter 3. Prefix Tuning 4. Prompt Tuning
3. LoRA¶
Q6: LoRA的原理是什么?¶
解答: LoRA通过低秩分解来减少可训练参数。
核心思想: - 假设权重更新ΔW是低秩的 - ΔW = BA,其中B和A是低秩矩阵 - 只训练B和A,参数量大幅减少
公式:
优势: - 参数量少(通常<1%) - 不增加推理开销 - 可以合并到原始权重
Q7: LoRA相比全量微调的优势?¶
解答: LoRA的优势:
- 参数效率:参数量减少99%+
- 存储效率:只存储LoRA权重
- 训练效率:训练速度快
- 推理效率:不增加推理开销
- 灵活性:可以轻松切换不同任务
4. QLoRA¶
Q8: QLoRA相比LoRA的改进?¶
解答: QLoRA(Quantized LoRA)相比LoRA的改进:
- 量化基础模型:将基础模型量化到4位
- 低秩适配器:使用LoRA进行微调
- 显存大幅降低:显存需求降低约75%
优势: - 可以在消费级GPU上微调大模型 - 精度损失小 - 推理速度不受影响
Q9: 如何选择LoRA的rank?¶
解答: 选择LoRA rank需要考虑:
- 任务复杂度:复杂任务需要更高rank
- 数据量:数据多可以尝试更高rank
- 计算资源:资源有限选择较低rank
- 精度要求:高精度选择较高rank
常见选择: - 小模型(<1B):rank 8-16 - 中模型(1-10B):rank 16-32 - 大模型(>10B):rank 32-64
5. 练习题¶
基础练习¶
-
实现MLM预训练
-
实现LoRA层
进阶练习¶
-
实现QLoRA
-
实现Prefix Tuning
6. 最佳实践¶
✅ 面试技巧¶
- 理解原理
- 深入理解核心概念
- 掌握数学公式
-
了解设计决策
-
代码实现
- 准备关键代码
- 理解实现细节
-
能够解释代码
-
对比分析
- 对比不同方法
- 分析优缺点
- 说明适用场景
❌ 避免做法¶
- 死记硬背
- 理解核心原理
- 掌握关键公式
-
灵活应用
-
忽视细节
- 注意技术细节
- 理解设计权衡
-
了解最新进展
-
缺乏实践
- 结合项目经验
- 动手实践验证
- 积累实战经验
7. 总结¶
本章介绍了预训练和微调的面试题:
- 预训练: MLM、CLM、Scaling Law
- 微调: 全量微调、部分微调、PEFT
- LoRA: 低秩分解、参数效率
- QLoRA: 量化基础模型、显存优化
掌握这些知识是面试的关键。
8. 下一步¶
继续学习09-推理优化面试题,了解推理优化的相关知识。