团队想把 DeepSeek-V3 调成自家领域的模型,通常卡在两件事上:一是不知道数据要整理成什么样,二是不确定要买或租多少卡。这篇不谈选型结论,只给一条可执行的准备路径——先定任务边界,再把数据做小做干净,然后按微调方式反推算力,最后拿小样本试跑验收。每一步都给了判断标准和不适用的情形,方便你在预算批下来之前先把方向固定住。
团队想把 DeepSeek-V3 调成自家领域的模型,通常卡在两件事上:一是不知道数据要整理成什么样,二是不确定要买或租多少卡。这篇不谈选型结论,只给一条可执行的准备路径——先定任务边界,再把数据做小做干净,然后按微调方式反推算力,最后拿小样本试跑验收。
整条路径的目标是让你在预算批下来、卡租出去之前把坑排掉。每一步都给了判断标准和不适用的情形,照着走一遍,最差也能得出「这活现在不该做」这个结论,而不是烧完算力才发现方向错了。
先定边界:这活到底该不该用微调
把需求拆成三类:改说话风格与输出格式、补领域知识、提升某类任务准确率。前两类优先考虑提示词与知识库方案,只有风格固化和高频重复任务才值得动权重。拆不清就先别往下走,因为后面所有准备工作都建立在任务类型上。
| 需求类型 | 优先方案 | 什么情况下才转为微调 |
|---|---|---|
| 改风格与格式 | 提示词模板 + 后处理 | 模板怎么调都压不住输出格式时 |
| 补领域知识 | 知识库检索 | 知识高频变化,检索命中率始终不达标时 |
| 提升任务准确率 | 提示词 + 少量示例 | 同一类任务量很大且错误代价高时 |
- 把判断标准写下来:如果换一批提示词或换个知识库,效果就能达标,就不要微调
- 微调的成本主要不在卡上,而在数据标注和后续每次换版的回归验证
- 不适用情形一:业务规则每周都在变,训出来的权重很快过期
- 不适用情形二:训练数据拿不到授权,先解决来源问题再谈训练
- 不适用情形三:团队没人能长期维护这条训练流水线
数据准备:格式、体量与清洗顺序
按「指令-输入-输出」整理成训练集和验证集两套。验证集的切分方式是准备阶段最容易出问题的地方:要按时间或来源切分,不要从同一批样本里随机抽,否则验证集和训练集高度相似,指标好看但上线就崩。
体量上先定一个最小可用集做可行性验证,再按效果缺口扩量。领域术语类的任务通常比通用对话任务需要更精简的样本,宁少而准。具体量级按任务类型对照,到站内指南中心的数据规模相关页面核对当时的说明。
- 去重整句完全一致和高度相似的样本都要合并,同一意图保留少量代表性样本即可;去重前后数量差得离谱,通常说明采集口径有问题。
- 去格式脏数据清掉乱码、多余换行、混入的网页导航文字;用脚本过一遍正则,再人工抽检一小批确认脚本没误删。
- 去答案歧义答案与业务规则冲突、同一问题有两个互相矛盾的回复,这类样本必须删或统一口径,留着比没有更伤。
- 写标注口径说明把「什么算合格答案」写成一页纸,多人标注前先对齐;没有这页纸,标注一定跑偏。
算力口径:分清楚训练与推理两笔账
微调占用的是训练侧资源,峰值显存取决于基座规模、微调方式和批大小三个变量,和推理侧按并发算的思路完全不同,不要拿推理的显存结论直接套到训练上,这是租卡前最常见的误判。
全参微调和参数高效微调两个量级差距很大,多数团队先走后者。显存不够时优先降批大小并开梯度累积,再考虑量化训练或换更小的基座。多卡不是简单除一下:先确认通信与并行方案是否支持你要用的微调方式,卡间带宽不够时加卡收益会掉得很快。
- 基座规模
- 决定权重本身占多少显存,是训练侧的第一个硬约束
- 微调方式
- 全参与参数高效两条路的资源量级不同,先选路再算卡
- 批大小
- 显存不够时第一个要动的旋钮,配合梯度累积稳住有效批大小
- 卡间带宽
- 多卡并行时的隐性瓶颈,带宽不足时加卡收益会明显下降
小样本试跑:用最小成本验证方向
先跑一个小规模试跑,只看趋势不看绝对效果:损失有没有稳定下降、验证集有没有同步变好、同样的配置复现是否稳定。三项都往好的方向走,才值得放大数据量和算力。
| 观察到的现象 | 大概率原因 | 下一步动作 |
|---|---|---|
| 训练损失降、验证集不涨 | 数据口径不统一或样本太同质 | 回去改数据,加卡加步数无效 |
| 两者一起降但很快停住 | 数据量太少或任务太简单 | 扩量并增加任务难度梯度 |
| 每次重跑结果波动大 | 配置没固定或数据顺序随机 | 固定随机种子并记录配置 |
| 验证集偶尔异常好 | 验证集与训练集切分不当 | 按时间或来源重新切分 |
- 试跑通过再放大数据量和算力,别在趋势没看明白时一次性铺开
- 把「哪一版权重、哪一版数据、哪份评估脚本」记成一条记录,方便回退
- 试跑阶段就固定评估脚本,后面换版才有可比性
- 失败样例单独存一份,它们是下一轮数据的来源
验收与交付检查清单
固定一组真实业务问题做回归,每次换版都跑一遍,别只看训练指标。训练指标好、业务问题答不对,说明评估和真实场景脱节,这时候要改的是评估集而不是模型。
- 跑回归测试用同一组真实业务问题对比新旧版本,记录每题的通过与否,不只看总分。
- 确认许可边界提前确认基座模型的许可证对商用场景的边界,不清楚就到站内许可与合规相关页面核对。
- 打包交付交付要连同数据版本、训练配置、评估脚本一起打包,只交出权重文件等于给后续埋雷。
常见问题
只有一批内部文档,能直接拿去微调 DeepSeek-V3 吗?
不建议。原始文档是连续长文本,微调需要的是问答对或指令样本,得先转成「问题-标准回答」的结构。转换过程本身要人工抽检,否则模型学到的是文档里的排版噪音。更省事的路子是把文档先做成知识库,微调只用来固化输出风格。
微调到底要多少卡,能不能先给个范围?
给不了固定数字,因为它随基座规模、微调方式、批大小和序列长度一起变。可靠的做法是先确定微调方式和序列长度,再到站内的部署测算与算力页面按你的参数算一遍,看当时的显存与租赁口径。别照抄别人的配置,任务不同差得很多。
数据量是不是越多越好?
不是。进入扩量阶段之前,质量比数量重要得多。同一批重复样本反复喂,只会让模型过拟合到那几句表达上。正确顺序是先小规模验证方向成立,再按效果缺口补充新样本,并且每轮都留出独立的验证集来对照。