先别急着调参
很多人在第一次认真做模型微调前,读到的教程都在讲学习率、LoRA秩、量化设置这些旋钮。但真正决定项目成败的部分,发生在训练开始之前和结束之后,而不是训练过程本身。这篇文章整理了一套适用于任何模型、任何任务的通用流程,从单个消费级显卡到租用云服务器都跑过,覆盖驾驶数据上的视觉语言模型、领域问答的小型文本模型,以及强化学习风格的偏好调优。
![]()
第0步:尽量别微调
微调是整个技术栈里最贵的干预手段,所以要放到最后。更便宜的做法按顺序排下来:
- 改进提示词。一个带三个好例子的系统提示,常常能补上人们想靠微调来补的那一半差距,成本只是一个下午。
- 检索。如果问题是缺知识而不是缺行为,检索增强生成比改权重更合适。知识会变,微调出来的模型不会。
- 换更大或不同的基础模型。诚实地做对比:拿零样本的大模型跟你想象中微调后的小模型比。作者见过没动过的开源权重模型,在微调模型自己的基准上把它打败了,这种情况比排行榜显示的更常见。
- 微调。只有当你需要的行为确实不在基础模型里,也没法靠检索或提示词补出来时才用:输出格式合规、领域特定的推理模式、要撑住几千轮对话的人设、延迟预算逼着用小模型。
用一句话写下来,前三个步骤的哪个失败点能证明微调是必要的。写不出来就停。这句话后面还会变成你的评估目标,这才是写它的真正原因。
第1步:先建评估,再建数据集
这个顺序看起来反了,但它是整套流程里杠杆最高的一步。在收集训练数据之前,先建一个留出的评估集,用来衡量第0步写下的那句话,然后让基础模型跑一遍。这个数字就是你的基线,它有三个作用:告诉你差距到底多大;偶尔会当场毙掉项目,因为基础模型其实已经够好,只是没人量过;还能验证评估框架本身——一个从没给已知模型打过分的评估,就是一段会吐数字的未测试代码。
两条评估规则作者不再打破:测试集在训练前就设计好,训练里的任何东西都不能碰它,超参选择不行,挑检查点不行,一次都不行,这些用验证集来做。如果训练集和测试集共享来源文档、场景或会话,你量的就是记忆,还把它叫泛化。另外要跑一个对照实验:把输入删掉再测一次。如果视觉模型去掉图片后得分还远高于随机,说明你的基准通过先验泄露了答案。
评估先行,训练殿后
这套流程的核心是把评估放在数据集之前,用一句话锁定微调理由,再让基线数字决定项目去留。多数人急着调参,反而在训练跑完后才发现方向错了。顺序换一下,省下的不只是算力,还有整个项目的时间。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.