兄弟们,玩模型微调也有段时间了,踩过不少坑,今天分享点硬核干货,全是实际部署中的血泪经验。
先说数据质量。别迷信大厂公开数据集,很多都是洗过的“样板戏”。自己搞数据时,记得去重、清洗、做格式检查,尤其是QA对里的空格和换行,一不小心就炸训练。推荐用datasets库的dedupe功能,省心省力。
再说显存优化。LoRA不是万能药,但绝对是入门神器。建议rank设8-64之间,太高容易过拟合,太低效果差。用bitsandbytes做4bit量化,配合gradient checkpointing,一张24G卡也能跑7B模型。注意设置target_modules,别全量微调,那是土豪玩法。
训练参数别乱抄网上的。学习率从2e-4开始调,用cosine schedule;batch size看显存,能大就大;warmup steps设总步数的5-10%。多跑几次验证集,别信loss下降就万事大吉。
部署时量化是必选项。推荐GPTQ或AWQ,速度和精度平衡得好。vLLM做推理框架,吞吐量翻倍,但注意动态batching要调好max_num_seqs。
最后问个问题:你们微调时,遇到最头疼的bug是啥?是数据错乱,还是OOM炸显存?评论区唠唠。😎 |