算
手头只有一张 24G 显存的卡,想微调 7B/13B 模型,实测了 LoRA 和 QLoRA,供参考。
一、实验设置
- 基座:7B 和 13B 各一款开源模型
- 数据:约 2 万条领域问答
- 对比方案:全参数微调(只在 7B 上试)、LoRA(r=16)、QLoRA(4bit 量化 + LoRA)
二、显存占用(batch size=4,序列长度 2048)
- 7B 全参数:约 60G+,24G 卡直接 OOM
- 7B LoRA:约 18G,可跑
- 7B QLoRA:约 10G,很宽松
- 13B QLoRA:约 16G,24G 卡能跑,batch 别太大
三、训练速度
QLoRA 比 LoRA 慢约 30%,主要是量化/反量化的开销。能接受。
四、效果对比(领域测试集,人工抽查 200 条)
- LoRA 和 QLoRA 的回答质量肉眼几乎无差别
- 全参数微调略好一点,但差距不值得多花的显存和时间
- r 从 16 加到 64,提升不明显;数据质量比秩重要得多
五、结论
24G 卡:7B 用 LoRA,13B 用 QLoRA,是最省心的组合。数据清洗花的每一分钟,都比调参超参数值。
你们在消费级显卡上微调,遇到过什么诡异问题?比如 loss 正常但生成全是乱码那种。
一、实验设置
- 基座:7B 和 13B 各一款开源模型
- 数据:约 2 万条领域问答
- 对比方案:全参数微调(只在 7B 上试)、LoRA(r=16)、QLoRA(4bit 量化 + LoRA)
二、显存占用(batch size=4,序列长度 2048)
- 7B 全参数:约 60G+,24G 卡直接 OOM
- 7B LoRA:约 18G,可跑
- 7B QLoRA:约 10G,很宽松
- 13B QLoRA:约 16G,24G 卡能跑,batch 别太大
三、训练速度
QLoRA 比 LoRA 慢约 30%,主要是量化/反量化的开销。能接受。
四、效果对比(领域测试集,人工抽查 200 条)
- LoRA 和 QLoRA 的回答质量肉眼几乎无差别
- 全参数微调略好一点,但差距不值得多花的显存和时间
- r 从 16 加到 64,提升不明显;数据质量比秩重要得多
五、结论
24G 卡:7B 用 LoRA,13B 用 QLoRA,是最省心的组合。数据清洗花的每一分钟,都比调参超参数值。
你们在消费级显卡上微调,遇到过什么诡异问题?比如 loss 正常但生成全是乱码那种。
