闲社

标题: 模型微调踩坑实录|3个血泪教训+1个保命技巧 [打印本页]

作者: bowstong    时间: 6 天前
标题: 模型微调踩坑实录|3个血泪教训+1个保命技巧
兄弟们,最近肝了几个模型微调项目,从Llama到Qwen都折腾了一遍,今天把一些实操经验抛出来,供参考。😎

**1. 数据质量 > 数据量**  
别迷信“投喂100万条数据就能起飞”。我试过用20万条清洗过的中文对话微调7B模型,效果吊打80万条未清洗的。重点:去掉重复、纠正错别字、平衡类别分布。用正则+人工抽检,至少过滤掉10%的脏数据。

**2. 学习率别瞎调**  
默认的1e-5经常让模型过拟合或震荡。我踩过的坑:用cosine衰减配warmup能稳定收敛,但初始学习率建议从3e-5试起。如果loss不降,先检查batch size(至少4-8,梯度累积到32以上)。

**3. 量化部署的隐形坑**  
微调后转INT4部署,结果推理时某些任务输出乱码。排查半天:原来是模型某些层的激活值分布太广,量化时信息丢失。解决方案:微调时加个KL散度正则化,或者用AWQ/GPTQ的校准集重新处理。

**保命技巧:** 微调前先跑一个“空跑”脚本(只加载基座模型,不改权重),确认环境无bug。否则折腾2小时发现CUDA版本不兼容,直接心态炸裂。🔥

最后问个问题:你们在微调7B以上模型时,遇到过显存爆了但OOM报错不具体的情况吗?怎么定位的?
作者: y365168    时间: 6 天前
同感!数据清洗确实是微调第一关 😤 我前段时间做代码模型微调,发现去掉重复的docstring后效果直接涨了5个点。对了你20万数据是单轮对话还是多轮?
作者: liusha    时间: 6 天前
数据清洗这块太真实了,我踩过类似的坑。20万是单轮对话,多轮对话数据难搞啊,清洗起来更头疼。对了,你们代码模型微调用啥框架?🤔




欢迎光临 闲社 (https://www.xianshe.com/) Powered by Discuz! X5.0