七:模型微调:LoRA 与 AdaLoRA自测题¶
来源:http://mp.weixin.qq.com/s?__biz=MzYyNTk3Njg1NA==&mid=2247483828&idx=1&sn=2715c5d6dec102c065341a88d9ab01ff&chksm=f01eb2cdc7693bdbaa12c158a33db3a76c6c27b643ba81571d0b5432af383aac2748346ad747#rd
覆盖范围¶
-
全量微调、部分微调、PEFT 的基本区别
-
LoRA 的低秩更新公式、参数量、初始化、超参
-
LoRA 在 attention/MLP 中的 target modules
-
LoRA 训练、保存、加载、merge/unmerge
-
LoRA 与 full fine-tuning、Adapter、Prompt/Prefix Tuning 对比
-
AdaLoRA 的动机和自适应 rank 分配
-
LoRA 工程问题、评测方法和面试追问
一、模型微调与 PEFT 基础¶
-
请用 1 分钟解释什么是模型微调。
-
全量微调、部分层微调、PEFT 的区别是什么?
-
为什么大模型全量微调成本很高?
-
PEFT 的核心思想是什么?
-
PEFT 相比全量微调有哪些优势?
-
PEFT 有哪些潜在局限?
-
多任务场景下,为什么 PEFT 的存储优势明显?
-
面试中如何解释“LoRA 不是一种新模型,而是一种微调方式”?
二、LoRA 核心原理¶
-
LoRA 的全称是什么?它解决什么问题?
-
请写出 LoRA 的核心公式。
-
LoRA 中为什么冻结原始权重
W? -
如果
W: [d_out, d_in],LoRA 中A、B的 shape 通常是什么? -
为什么
Delta W = BA的 rank 不超过r? -
LoRA 为什么能显著减少可训练参数?
-
请计算
W: [4096,4096]、r=8时 LoRA 的参数量和全量参数量。 -
LoRA 的低秩假设是什么?
-
LoRA 初始时为什么通常让增量为 0?
-
A随机初始化、B初始化为 0 的作用是什么?
三、LoRA 超参与模块选择¶
-
LoRA rank
r控制什么? -
alpha和alpha/rscaling 的作用是什么? -
lora_dropout的作用是什么? -
target modules 是什么?为什么它很重要?
-
Transformer 中常见 LoRA target modules 有哪些?
-
只对
q_proj、v_proj加 LoRA 和对所有线性层加 LoRA 有什么区别? -
为什么 attention projection 是 LoRA 常见注入位置?
-
MLP 层加 LoRA 可能带来什么收益和成本?
-
rank 越大一定越好吗?为什么?
-
LoRA 学习率通常如何相对全量微调考虑?
四、训练、推理与部署¶
-
LoRA 微调的标准训练流程是什么?
-
如何检查 LoRA 是否真的只训练了少量参数?
-
LoRA adapter 保存的是什么?是否包含 base model 全量权重?
-
推理时加载 LoRA adapter 需要哪些组件?
-
什么是 LoRA merge?
-
什么是 LoRA unmerge?
-
merge 后推理和不 merge 推理有什么区别?
-
多个 LoRA adapter 如何服务不同任务?有什么风险?
-
为什么 merge 后继续训练可能导致状态混乱?
-
LoRA 与量化模型结合时需要注意什么?
五、LoRA 方法对比¶
-
LoRA 和全量微调相比,优势和劣势分别是什么?
-
LoRA 和 Adapter 的核心区别是什么?
-
LoRA 为什么通常比 Adapter 更容易做到无额外推理延迟?
-
LoRA 和 Prompt Tuning 的区别是什么?
-
LoRA 和 Prefix Tuning 的区别是什么?
-
在小数据场景中 LoRA 有什么优势和风险?
-
在领域迁移很大的场景中,LoRA 可能不如全量微调的原因是什么?
六、AdaLoRA¶
-
AdaLoRA 解决了普通 LoRA 的什么问题?
-
为什么固定 rank 可能不是最优?
-
AdaLoRA 的核心思想是什么?
-
AdaLoRA 如何理解“参数预算分配”?
-
AdaLoRA 和 LoRA 的主要区别是什么?
-
AdaLoRA 中重要性分数大致用于什么?
-
AdaLoRA 更适合哪些场景?
-
AdaLoRA 的工程复杂度相比 LoRA 有什么变化?
七、实验设计与评测¶
-
做一个 LoRA 实验报告,至少应该记录哪些配置?
-
如何判断 LoRA 微调是真的提升,而不是评测泄漏?
-
LoRA 训练 loss 下降但验证效果不好,可能有哪些原因?
-
LoRA 训练后模型格式遵循变好但通用能力下降,如何分析?
-
选择 LoRA target modules 时,你会如何做消融实验?
-
如何比较 LoRA 和全量微调的性价比?
-
如何评估不同 rank 的效果?
八、工程排错与面试追问¶
-
如果 LoRA 训练后输出几乎和 base model 一样,可能是什么原因?
-
如果 LoRA 训练很快过拟合,可能如何调整?
-
如果加载 adapter 后报 target module 找不到,如何排查?
-
如果推理结果和训练时验证结果差异很大,LoRA 相关原因有哪些?
-
如果 adapter 文件很小,这是正常的吗?为什么?
-
LoRA 是否能完全避免灾难性遗忘?
-
LoRA 是否只适用于语言模型?
-
面试官问“LoRA 为什么有效”,你会如何回答?
-
面试官问“LoRA 的参数量怎么算”,你会如何回答?
-
请总结第七天 LoRA/AdaLoRA 的完整知识链路。
预览时标签不可点<div class="