开源大模型微调工具使用经验分享
最近在尝试用开源工具对LLaMA系列模型进行微调,踩了不少坑,记录一下避免大家重蹈覆辙。
环境准备
首先推荐使用conda创建独立环境:
conda create -n llama-finetune python=3.9
conda activate llama-finetune
pip install torch==1.13.1+cu117 torchvision==0.14.1+cu117 -f https://download.pytorch.org/whl/torch_stable.html
微调工具选择
我主要使用了HuggingFace的transformers和peft库,以及accelerate进行分布式训练。
核心问题与解决方案
问题1:显存不足
- 问题表现:训练时OOM
- 解决方案:使用梯度累积(gradient accumulation)和混合精度训练
training_args = TrainingArguments(
gradient_accumulation_steps=4,
fp16=True,
per_device_train_batch_size=2,
per_device_eval_batch_size=2,
)
问题2:LoRA适配问题
- 问题表现:微调效果不佳
- 解决方案:调整lora_alpha和r参数
peft_config = LoraConfig(
r=64,
lora_alpha=32,
target_modules=["q_proj", "v_proj"],
lora_dropout=0.1,
)
总结
微调过程确实需要耐心,建议从简单任务开始,逐步优化参数。
推荐配置:8GB显存以上,建议使用8卡以上集群进行训练。

讨论