大模型数据不够用时,一条诱人的思路是:让模型自己生产训练数据,自己学。这就是自我训练——模型出题、模型做题、模型自己把关,循环往复。本文按机制层思路,把这个循环的三个角色和它的风险边界讲清楚。
模型出题:生成端产候选
循环的第一个角色是出题人。进来的是一个种子指令集和任务模板,生成端据此批量产出新指令和配套答案。这一步追求覆盖面:题型要杂、难度要有梯度、领域要铺开。常用的出题模型可以是 DeepSeek 或智谱清言这类通用助手,也可以是专门在目标领域调过的模型。出去的是一大批「题目加答案」的候选对。种子集的质量决定了循环的上限,种子太窄,扩出来的题型再多也是同一个模子,所以第一步往往先把种子指令的去重和分布盘点做扎实。
模型做题:策略端回答
第二个角色是答题人,也就是要被训练的模型自己。它对生成端产出的题目逐个作答,产出待筛的回答。有些流程里出题和答题是同一个模型,有些则分开:强模型出题、弱模型做题,让弱模型从强模型的题目里学。进来的是一批题目,出去的是一批回答,质量参差是常态。答题时的采样温度也会影响数据多样性,温度太低回答千篇一律,循环几轮就坍缩;适当调高温度能延缓,但同时会引入更多错误,靠裁判去筛。
模型评分:过滤端把关
第三个角色是裁判,负责从回答里挑出合格的。规则先过一遍格式和自洽性,再用裁判模型按标准打分,最后人工抽检修系统性问题。合格样本进训练集,回炉的反馈给生成端改模板。这套打分和合成数据是怎么筛的的过滤循环是同一套逻辑,裁判本身的口径问题则要看人类偏好为什么会有分歧。裁判的打分标准要写死成可执行的条目,比如「答案与问题是否相关」「步骤是否自洽」分别打分,比一个笼统的「好不好」稳定得多。
三个角色串成一个循环,各自的进出可以对着看。
| 角色 | 进来什么 | 关键动作 | 出去什么 |
|---|---|---|---|
| 出题人(生成端) | 一个种子指令集和任务模板 | 批量产出新指令和配套答案,题型要杂、难度要有梯度、领域要铺开 | 一大批「题目加答案」的候选对 |
| 答题人(策略端) | 一批题目 | 待训模型逐个作答;可同模型,也可强模型出题、弱模型做题;温度太低会千篇一律 | 一批回答,质量参差是常态 |
| 裁判(过滤端) | 一批待筛的回答 | 规则先过格式与自洽性,裁判模型按条目打分,最后人工抽检修系统性问题 | 合格样本进训练集,回炉反馈给生成端改模板 |
自循环的风险与用法
自循环最大的风险是分布坍缩:模型只学自己生成过的东西,风格和知识面会越收越窄,几轮之后新样本和旧样本越来越像。第二个风险是错误自我强化:裁判漏掉错误答案,模型把错误学进去,下一轮生成端还按错误模板出题。想要循环稳,过滤端必须留人工抽检的硬位置,还要定期掺入外部真实数据。奖励作弊讲的正是模型迎合裁判口径的典型形态。缓解手段除了人工抽检,还有引入外部新鲜数据打断循环,以及定期用初始模型的输出做分布对比,偏离太远就降速。
自我训练特别适合两类场景:稀缺领域的冷启动扩量,和格式类任务的批量构造。它不适合从零教新知识——模型没法凭空生成自己不知道的东西,循环只会把已知换种说法。领域资料的整理入口见领域微调的数据从哪来;循环产出的数据怎么和旧料配比,见继续预训练怎么避免忘本。最后给一个判断标准:如果循环跑完,你在样本里看不到「意外之喜」——即种子集里没有的新题型新说法,那这轮循环大概率只是在复制已知。
- 出题:按种子集和模板扩题型,要覆盖要梯度
- 做题:待训模型作答,可同模型也可强弱分离
- 评分:规则加裁判加人工抽检,三道关缺一不可
- 风险:分布坍缩、错误自我强化,都靠过滤端兜住
- 适用:冷启动扩量与格式构造,不负责教新知识
关于自我训练再多问三句
- 循环跑几轮合适?:看多样性指标,样本风格开始明显趋同就停,通常比直觉轮数少得多。
- 出题和做题能用同一个模型吗?:可以,但弱模型出题容易题目太浅,强模型出题弱模型做题效果通常更好。
- 怎么早发现分布坍缩?:盯生成样本的类型直方图和相似度分布,类别数持续下降就是信号。


