微调技术谱系与选型决策树

01-决策与选型 入门≈ 15 分钟 #选型#PEFT#谱系 reviewed
我的状态:

前置知识点

一句话定义

微调技术谱系是一张按「动多少参数、什么阶段动」划分的方法地图:全参微调、参数高效微调(PEFT)、量化微调、偏好对齐优化四大分支。

为什么重要

新手最常见的瘫痪原因是方法太多不知道选哪个。谱系图把几十个名词(LoRA、QLoRA、Adapter、Prefix Tuning、DPO、ORPO……)归位成四个正交问题:训哪些参数、权重存成什么精度、在 SFT 阶段还是对齐阶段训练、要不要动原权重。想清楚这四个问题,选型就变成查表。

前置知识

kp-001 中全参微调与 PEFT 的概念区分。

核心概念

  • 全参微调:更新全部权重。质量上限最高,显存需求最大(70B 模型全参微调需数百 GB 显存的多卡集群)。
  • PEFT(参数高效微调):只训练新增的小参数。两个子族:加参数(Adapter、Prefix/Prompt Tuning)与重参数化(LoRA——训练后可合并回原权重,零推理延迟)。
  • 量化微调:把冻结权重压成 4-bit(QLoRA),在消费级显卡上微调大模型。
  • 偏好对齐优化:SFT 之后的第二阶段。RLHF(奖励模型 + PPO)、DPO(直接偏好优化)及其变体 ORPO、KTO、GRPO。
  • 继续预训练(CPT):用大量领域原始语料先做无监督继续训练,再 SFT。属重度方案,本库只做概念指引。

原理与机制

选型看四个约束的交集:

  1. 显存预算:单卡 24G → QLoRA 优先;多卡 A100 → LoRA 或全参。
  2. 推理延迟:要求零额外延迟 → 选可合并的 LoRA(而非 Adapter/Prefix)。
  3. 多任务切换:一个基座服务多个客户/任务 → LoRA 多适配器热切换(见 kp-009)。
  4. 目标:教会格式与知识 → SFT 阶段;调整「两个回答哪个更好」的偏好 → DPO 阶段。

图示

目标是什么?
├─ 教会任务行为/格式/话术 ──► SFT 阶段
│    ├─ 显存充足&追求上限 ──► 全参微调
│    ├─ 常规选择 ──────────► LoRA
│    ├─ 单卡/消费级显卡 ───► QLoRA
│    └─ 超小模型+固定任务 ──► Prefix/Prompt Tuning
└─ 已有偏好数据(哪个回答更好) ─► DPO/ORPO/KTO(见 05-对齐微调)

直观类比

全参微调是推翻重装;LoRA 是给系统打补丁包(卸载即恢复原状);QLoRA 是把只读系统盘压缩后再打补丁;DPO 不是教新技能,而是给已有技能排优先级。

实例或案例

一个三人团队的典型选型:要在一张 RTX 4090 上把 Qwen-7B 调成医疗问答助手。按决策树:显存单卡 → QLoRA;目标是问答行为 → SFT 阶段;积累了对错标注后 → 再跑一轮 DPO。全程未动全参微调,两周内上线。

操作步骤

拿到需求后 10 分钟完成选型:写下显存上限与卡型 → 写下延迟与多任务要求 → 判断目标是行为还是偏好 → 按上文决策树得到「阶段 + 方法」组合 → 用 kp-004 的显存公式验证可行性。

排错清单

  • 选了 Adapter 但线上延迟敏感:换成可合并的 LoRA。
  • QLoRA 训练慢得不可接受:换 LoRA 加大显存,或在 kp-017 组合显存优化手段。
  • DPO 效果奇怪:先确认 SFT 基座质量,偏好优化放大的是基座已有能力。

常见误区

  • PEFT 一定比全参差:指令遵循与领域适配类任务上 LoRA 常与全参相当;差的是需要大规模知识注入的 CPT 场景。
  • 方法名越多越新越好:一次实验只改一个变量,先用最普通的 LoRA 建立基线。
  • QLoRA 是独立算法:它只是「4-bit 量化权重 + LoRA」的工程组合,原理仍回到 kp-005。

与其他知识点的关系

LoRA 数学见 kp-005,QLoRA 显存账见 kp-007,偏好优化见 kp-022 与 kp-024,历史脉络见 kp-031。

延伸阅读

Xu et al. 2023《Parameter-Efficient Fine-Tuning Methods for Pretrained Language Models: A Critical Review and Assessment》(对 PEFT 各方法的系统对比)。

自测题

  1. 只有一张 24G 显卡,要微调 14B 模型,选什么方法?

答:QLoRA——冻结权重以 4-bit NF4 存储,LoRA 参数以 BF16 训练,配合 kp-017 的显存优化手段。

  1. 为什么延迟敏感的线上服务倾向 LoRA 而不是 Adapter?

答:LoRA 训练后可合并回原权重(W+BA),推理时结构与原模型完全相同、零额外延迟;Adapter 在每层串联新增模块,引入额外计算。

  1. SFT 与 DPO 各解决什么问题?

答:SFT 教会「该做什么」(任务行为与格式);DPO 调整「两个可行回答中哪个更好」(偏好排序),需要先有 SFT 基座。

相关知识点