Skip to content
🔗 分享本题
查看我的学习进度 →

LoRA 秩、缩放、目标模块和验证集联动调参图

🧠 记忆锚点:r 决定容量,alpha/r 决定强度,target_modules 决定改哪里;用验证集选,不背固定参数。

💡 答案要点

超参数选择指南:

1. 秩(r):

任务复杂度推荐 r 值说明
简单(情感分类)4-8任务简单,低秩足够
中等(摘要生成)8-16平衡效果和效率
复杂(代码生成)16-64需要更强表达能力

2. 缩放因子(α):

  • 实际学习率 = α / r
  • 常见设置:α = 2r(如 r=8, α=16)
  • α 越大,LoRA 影响越强

3. 目标模块(target_modules):

策略模块参数量效果
最小q_proj, v_proj最少基础
推荐q_proj, k_proj, v_proj, o_proj中等良好
最大所有线性层(含 MLP)最多最好

实验结果(7B 模型,GSM8K 数据集):

rα准确率训练时间显存
4882.3%2h18GB
81685.7%2.5h20GB
163287.1%3h24GB
6412888.5%5h35GB

选择策略:

python
# 简单任务
r = 8
alpha = 16
target_modules = ["q_proj", "v_proj"]

# 复杂任务
r = 16
alpha = 32
target_modules = ["q_proj", "k_proj", "v_proj", "o_proj"]

面试话术:

"我通常从 r=8, α=16 开始,如果效果不够好再增加到 r=16。target_modules 优先选择注意力层(q/k/v),因为它们对语义理解影响最大。"

📚 参考:Hugging Face PEFT 文档(LoRA r/alpha 配置)