大模型微调需要多少数据

模型与算力

按微调目标(分类、抽取、风格、问答)给出数据量档位参考,并给出标注、去重、迭代扩量这些提升数据效率的落地方法。

动手微调前最容易卡住的就是「我这点数据够不够」。有人手里只有几百条标注,怕白跑一轮;有人拿几万条脏数据硬上,结果模型学了一堆噪声。这篇按你的微调目标分类,给一套可以先看数据再定规模的判断顺序,以及数据不够时怎么把每条的利用率拉高。具体数值口径和成本换算以站内页面当时的数据为准。

动手微调前最容易卡住的就是「我这点数据够不够」。有人手里只有几百条标注,怕白跑一轮;有人拿几万条脏数据硬上,结果模型学了一堆噪声。其实条数本身不是标准答案,你的微调目标、数据覆盖面和验证集设计才是。这篇按目标分类,给一套先看数据再定规模的判断顺序。

先说清楚一件事:具体数值口径、训练成本换算和部署测算,各家的价格与配置都在变,本篇不写死数字,只给判断方法。真要换算账,到 /price-watch 核对当时的数字再说。

先分清你的微调目标,再谈条数

四类常见目标对数据量的敏感度完全不同。固定格式抽取和分类最省数据,因为任务边界清晰、输出空间小;领域问答最吃数据,因为要覆盖的问法和知识点散;风格与口吻居中,主要靠一批稳定的示范样本;知识注入类其实更该先想RAG,而不是指望用几千条把新知识塞进权重。

分类 / 打标
输出是有限标签集合,数据敏感度最低,重点是标签均衡而不是条数
固定 schema 抽取
字段固定、格式固定,几百到上千条就能看到稳定格式,但边界样本必须覆盖
风格 / 口吻改写
示范样本的稳定性比数量重要,样本之间风格打架会互相抵消
领域问答
问法多变、知识点多,最吃数据量,也最依赖真实分布覆盖

同样条数下,「输入输出对是否覆盖真实分布」比「总条数」更决定上限。先看覆盖面再看数量:从真实业务里抽一批没进训练集的样本做验证集,看基线模型错在哪。错得越集中,越省数据。反过来,如果错得五花八门、什么都有,说明任务本身太散,先拆任务再谈条数。

按数据量分档看可行性与风险

分档的意义不是给你一个「够不够」的硬线,而是让你知道这个档位该期待什么、该警惕什么。下面这张表是经验性的可行性判断,实际还要结合任务难度和模型规模。

数据档位适合的目标主要风险
百条级窄口径分类、打标、固定schema抽取只适合低秩微调并严控训练轮次,别指望学新知识
千条级领域术语、话术改写、单轮问答近重复样本多,标签不均衡,容易过拟合
万条以上复杂多步任务、长文档理解清洗成本高,验证集设计跟不上就白跑
任何档位——没留出不重叠的验证集,规模再大也说明不了效果
  • 百条级:必须用低秩微调,训练轮次压低,重点防过拟合,宁可欠拟合也别学歪
  • 千条级:先做查重和标签均衡,再谈加量,同质样本堆多了只是浪费算力
  • 万条以上:数据清洗和验证集设计比再加数据更值钱,脏数据越多学得越乱
  • 任何档位:验证集必须和训练集不重叠,否则指标好看也没意义

顺带说一句,如果百条级数据加上任务边界模糊,那大概率不是数据问题,而是任务该拆。把一个大任务拆成几个小任务,每段数据的需求量会明显下降。

把每条数据的价值榨干:清洗与构造清单

数据不够时,最有效的做法不是到处找数据,而是把手里的每条用到位。下面这份清单按执行顺序排,前两步没做完就先别急着扩量。

  1. 语义去重先于字面去重字面重复容易发现,近重复更坑。用向量相似度筛一遍,把表达不同但意思一样的样本挑出来合并或删掉,否则模型容易学成复读机。
  2. 统一输出格式同类任务的字段顺序、标点、大小写统一。格式抖动是微调后输出不稳的常见来源,比条数不足更隐蔽。
  3. 难例优先补入把线上或历史里模型答错的真实 case 补进训练集。一条难例的价值往往顶得上若干条简单样本。
  4. 扩量后重抽验证集任何扩量动作之后,验证集都要重新抽,确保还是和训练集不重叠,不然之前的验证结论作废。
  • 同义改写:同一问题多种问法,扩大问法覆盖,但别改成不同任务
  • 长文拆分:把长文档拆成配对的局部片段,适合抽取和局部问答
  • 标注反推:从已有标注里反推更多任务形态,比如从字段标注反推校验任务
  • 模板生成:可以快速铺量,但必须人工抽检,同质化严重时反而有害

动手前的判断顺序与验证动作

先跑小规模试验:固定一个验证集,只用一部分数据训一轮,看验证集指标是否随数据增加而改善。如果改善明显趋平,就说明到了这个任务的性价比拐点,再加数据的边际收益很低。

把显存和算力约束一并纳入考虑。数据量、可训的模型规模、批次设置会互相牵制,配置算不清就先按站内的部署测算页面过一遍,别等训到一半才发现跑不动。具体配置口径到 /tools/speed-test 核对当时的数字。

验证维度怎么看不适用的情况
格式正确性抽检输出字段、标点是否稳定自由生成类任务不强求严格格式
事实准确性对照已知答案或知识源核验开放创作类任务无法逐条核验
拒答行为看该拒答时是否拒答、不该拒时是否乱拒任务本身无拒答需求时可跳过
覆盖面验证集是否覆盖真实高频问法验证集分布与线上差异大时结论不可信

最后一点:微调、提示词、RAG分工不同。如果卡点是知识更新频率高,优先考虑检索方案而不是堆数据;微调更适合固化格式、风格和稳定的任务行为。搞混了,数据再多也解决不了问题。

下一步想对比不同中转站的可用性和稳定性,再决定拿哪家跑微调实验,可以先看站内实测与导航页,按当时的记录选。

常见问题

只有几百条数据,还值得微调吗?

看目标。如果是固定格式抽取、分类、打标这类窄口径任务,几百条加上低秩微调通常能跑出比提示词稳定的输出。但如果想让它学会新知识或复杂推理,这个量级基本不够,建议先走检索增强或提示词路线,把数据缺口摸清再决定。

数据越多效果一定越好吗?

不是。同一批数据里近重复和模板化样本占比高时,再扩量只会强化已有偏差。判断办法是固定验证集、分批加数据看指标曲线,过了拐点后继续加数据收益很小,这时更值得投入的是难例补充和清洗,而不是继续堆条数。

数据量不够,能靠合成数据补吗?

可以但也有限度。合成数据适合扩充任务形态和改写表达,不适合凭空造出领域事实。做法是让模型基于真实材料生成问答对,再人工抽检过滤,并且保证验证集全部来自真实分布。合成比例过高时,模型输出会带明显的模板味,抽检时能看出来。

本文依据各平台公开文档与官方公告整理,只做中文归纳;具体做法、参数与限制以官方文档为准。