← 返回题库
第 076 题 · 训练与对齐 · 困难

LoRA、QLoRA 与全参数微调应该如何选择?

核心必会 这代表什么?
✓ 资料核验 来源说明:用户提供的分级面试题单;公司归属未独立核验,技术答案依据论文或官方文档整理
LoRAQLoRANF4
评论与补充 ↓
口述训练

先用自己的话答,再看参考说法

60 秒是练习上限,不是必须凑满。原理题讲清因果,设计题讲清约束,项目题只讲真实证据。

别照着背。参考说法只用于对照;直接回答问题,简单题说清楚就收尾。项目题只用自己的经历和数字。

面试时怎么答

LoRA、QLoRA、全参微调的比较围绕显存、数据规模、任务偏移和能力上限展开。明确 QLoRA 是低比特保存冻结基座、高精度训练 Adapter,并非 4 bit 更新全部参数;回答可给出“LoRA 基线—显存不足用 QLoRA—大偏移再评估全参”的决策路径。

可以这样答:

LoRA 冻结基座,只训练低秩 Adapter;QLoRA 进一步把冻结基座以低比特存储,但 Adapter 和关键计算仍保持较高精度;全参微调则更新全部权重。多数领域适配可以先做 LoRA 基线,显存不足时用 QLoRA,只有数据充分、任务偏移很大且确实追求上限时,才值得承担全参微调的成本和遗忘风险。

核心回答

全参数微调更新全部模型权重,容量最大,但需要为大量参数保存梯度和优化器状态,训练与检查点成本最高。LoRA 冻结基座,只训练低秩适配器,适合资源有限、需要维护多个任务版本或数据规模中小的场景。QLoRA 进一步把冻结基座以 4 bit 形式存储,计算时按需反量化到较高计算精度,只训练高于 4 bit 精度的 LoRA 参数;适配器可存为 FP32、BF16 或 FP16,具体取决于框架及配置,从而显著降低基座权重显存。

QLoRA 的 NF4 是针对近似正态分布权重设计的 4 bit 数据类型;Double Quantization 再量化第一层量化所使用的常数或 scale,以减少元数据开销。QLoRA 的“4 bit”描述冻结基座的存储,不等于用 4 bit 训练 LoRA,也不等同于普通 INT4 推理模型。

展开说明

选择时至少比较四个维度:

  1. 能力变化范围:任务与基座差异很大、数据充足且预算允许时,全参数微调的自由度更高;这不保证它必然泛化更好。
  2. 训练资源:LoRA 减少可训练状态;当冻结基座本身仍放不下时,QLoRA 可继续压缩权重存储。
  3. 质量风险:4 bit 基座会引入量化误差,应在目标任务、长上下文和敏感切片上与 BF16 LoRA 基线比较。
  4. 交付约束:QLoRA 训练完成后能否直接以同一格式服务、是否需要合并或重新量化,取决于推理框架与硬件,不能只凭训练显存做选择。

NF4 利用权重分布设计量化点;Double Quantization 节省的是量化参数的存储,不是把 4 bit 权重再次压成更低位宽。计算 dtype、量化存储 dtype 和可训练参数 dtype 是三个不同概念,回答时必须分开。

工程实践

先用同一数据与评测集建立 BF16 LoRA 小规模基线,再评估 QLoRA 的峰值显存、吞吐和质量差。确认量化 kernel 真实启用,并检查 LayerNorm、Embedding、LM Head 等未量化部分。若资源足以做全参数实验,应对齐有效 Batch、训练 token 数和调度后比较,而不是用不同训练预算得出方法优劣。

常见追问

  1. 为什么 4 bit 基座仍可用 BF16 计算? 权重以 4 bit 保存,进入矩阵计算前按量化 scale 反量化到计算 dtype;存储位宽与计算位宽不是一回事。
  2. Double Quantization 量化的是什么? 它量化第一层权重量化所需的常数或 scale,从而降低量化元数据占用。
  3. QLoRA 与普通 INT4 推理量化有什么区别? QLoRA 是面向微调的“冻结量化基座+高精度适配器”方案;推理量化关注最终服务格式、kernel 和端到端性能。
  4. 资源足够时是否一定选全参数微调? 不一定;还要考虑数据量、过拟合、通用能力退化、训练稳定性和多任务版本维护成本。

一句话复习

全参微调换最大自由度,LoRA 用低秩适配器省训练状态,QLoRA 再用 4 bit 冻结基座省权重显存,最终选择必须同时验证质量与交付链路。

参考资料

无需账号 · 原地交流

评论与补充

评论会直接显示在这道题下面。可以写自己的答法、继续追问或指出错误,不需要 GitHub 账号,也不会跳转到 Issue;内容会公开,请勿填写个人隐私、公司机密或受保密约束的材料。

正在加载评论…