Llama Factory 微调:如何选择最佳超参数
微调大语言模型(LLM)是让模型适应特定任务的关键步骤,而选择合适的超参数往往决定了微调效果的好坏。作为一名刚接触 Llama 模型微调的研究人员,面对众多超参数选项时可能会感到无从下手。本文将基于 LLaMA-Factory 框架,分享如何选择最佳超参数的实用指南,帮助你在有限资源下获得更好的微调效果。
这类任务通常需要 GPU 环境支持。下面我们将从关键参数解析、显存优化策略到典型配置方案,一步步拆解超参数选择的奥秘。
关键超参数解析与作用
1. 学习率(Learning Rate)
- 作用:控制模型参数更新的步长,是最重要的超参数之一
- 典型范围:
- 全参数微调:1e-5 到 5e-5
- LoRA 微调:1e-4 到 5e-4
- 调整建议:
- 初始可设为 3e-5(全参)或 3e-4(LoRA)
- 观察 loss 曲线,如果震荡剧烈则降低学习率
2. 批量大小(Batch Size)
- 显存影响:与显存消耗成正比关系
- 实用配置:
# 单卡 A100-80G 的典型配置
# 全参数微调:batch_size=4-8
# LoRA 微调:batch_size=8-16
3. 截断长度(Cutoff Length)
- 定义:输入序列的最大 token 长度
- 显存影响:显存消耗与长度平方成正比
- 推荐值:
- 对话任务:512-1024
- 长文本任务:2048(需充足显存)
显存优化实战策略
1. 微调方法选择
不同微调方法对显存的需求差异显著:
| 方法 | 显存占用系数 | 适用场景 |
|---|---|---|
| 全参数微调 | 1.0x | 数据充足,显存充裕 |
| LoRA | 0.3-0.5x | 资源有限场景 |
| QLoRA | 0.2-0.3x | 极低资源环境 |
提示:在 A100-80G 单卡上,QLoRA 可微调 70B 模型,而全参仅能微调 7B 模型
2. 精度选择技巧
# 混合精度训练配置示例(节省显存)
trainer = LLaMATrainer(
fp16=True, # 半精度
bf16=False, # 根据硬件选择
gradient_checkpointing=True # 梯度检查点
)
- 精度对比:
- FP32:最高精度,显存需求最大

