最近完成了几个大模型微调项目,从 LoRA 轻量微调到全参数微调都尝试过,在这里分享一下实战经验,希望对正在入门的朋友有所帮助。
一、LoRA 微调
LoRA(Low-Rank Adaptation)是目前最流行的轻量微调方法。优点是显存占用小、训练速度快,7B 模型在单卡 24G 显存上即可训练。推荐使用 HuggingFace PEFT 库,配合 transformers Trainer 使用非常方便。
二、全参数微调
当数据量足够大(>10万条)且对效果要求极高时,可以考虑全参数微调。需要多卡并行,建议使用 DeepSpeed ZeRO-3 或 FSDP 进行分布式训练。
三、数据质量是关键
无论哪种微调方式,数据质量都是决定效果的核心因素。建议投入 60% 以上的时间在数据清洗和格式统一上。指令微调数据推荐使用 ShareGPT 格式。
四、评估与迭代
建立完善的评估体系,包括自动评估(BLEU、ROUGE)和人工评估。每次微调后对比 base 模型的表现,记录超参数和效果,形成迭代闭环。
欢迎大家在评论区交流讨论!