AI自我出题训练为何越练越差:华盛顿大学论文找到两个病因
你有没有想过这样一个场景:一个学生每天自己给自己出考题,自己做,自己判卷,日复一日地训练自己。听起来挺励志对吧?但如果这个学生渐渐开始出一些根本没有标准答案的题目,比如"请问比1大又比1小的整数是多少",然后他还硬着头皮去"解答"这种矛盾题,长期这样下去,他的数学水平会变好还是变差?这不是一个假设,这是当...
设想这么一个场景:有个学生每天自己出考题、自己做、自己判卷,日复一日地练下去。听着挺励志?可要是他慢慢开始出那种压根没有标准答案的题目,比如“比1大又比1小的整数是多少”,还硬着头皮去“解”这种自相矛盾的题,长期下来,他的数学能力会往上走还是往下掉?
这不是假设。当下AI推理模型的训练里,这种事正在真实发生。
**
华盛顿大学圣路易斯分校等机构的一篇论文,做的就是解剖这种崩溃现象,找出两处致命伤,再给出药方。
自问自答式学习:设想很美,却很脆弱
先讲讲这套训练方法到底怎么运作。
过去训练AI,靠的是人工标注的海量数据。问题是这种数据又贵又慢,早晚会用完。研究者于是换了个思路:让AI自己出题、自己解题,人类就不必持续投喂数据了。
系统里设了两个角色,一个“出题者”,一个“解题者”。
> **出题方与解题方**:这套自我进化框架里有两个AI角色,一个专门编新数学题,另一个专门做这些题,两边轮流训练、互相带动。
起初两者共用同一个基础模型,之后像打乒乓球一样轮流升级。出题者学着出那种让解题者“半懂不懂”的题,难度大概在解题者做十次对五次左右,太简单没意义,太难又学不到东西。解题者则靠多次采样,找出“大多数人都认同的答案”当作伪标签,再拿这个伪标签训练自己。
这套框架叫R-Zero,在该领域相当有代表性。论文作者盯着R-Zero训练过程中产生的数据看了很久,发现两个问题越来越严重。
问题一:出的题越来越离谱
研究团队做了个实验:从R-Zero五轮训练各自产生的题目池里随机抽200道题,交给一个强大的外部模型(论文中称为GPT-5.6-Sol)判断这些题算不算“有效题目”。
结果让人倒吸一口凉气:第一轮有效题目率是76.5%,到第五轮只剩39.5%。换句话说,超过六成的题目,要么条件矛盾,要么根本没有确定答案,要么表述模糊到没法判断对错。
更糟的是,R-Zero原本设了一道“过滤网”,用来筛选解题者多次回答“意见一致”的题目留下来训练,本意是挑出难度适中的好题。可这道过滤网完全没料到,无效题目也会让模型“稳定地给出错误答案”,于是有效率被进一步压到27.64%。
论文中有一个相当典型的案例:题目给定x+y=3、xy=3,让求x²+y²。它根本没有实数解——(x-y)²=(x+y)²-4xy=9-12=-3<0,是一道彻底无效的题。解题模型没被教过去怀疑题目本身,只能硬答,三次尝试中有两次抛出“x²+y²=3”这样的错解,另一次则答“无实数解”。答案对不上,系统反倒把这道题当成“难题”而非“坏题”,收进了训练集。
打个比方,老师改作业时看到学生在一道无解题上屡屡给出不同答案,便认定“这题有难度,值得多练几遍”。实际情况是题目根本做不了,学生每练一次,离正确的数学直觉就远一分。**模型若学不会辨认无效题目,这套自我进化系统就始终分不清“题很难”与“题本身是错的”这两回事。**
研究者设计了一组对照实验,来确认无效题就是问题源头:1273道题分两份,一份原封不动(含507道无效题),另一份把507道无效题改成有效题,剩下的766道有效题两边完全一样。分别训练模型后,修复组的平均分是49.91分,原始组为46.54分,相差3.37分。
这个实验证明了一件事:**无效题目不是无害的噪声,它们是实打实拖累模型表现的训练毒药。**
问题二:换个马甲的同一道题
如果说无效题目是“假冒伪劣产品”,那第二个问题就更隐蔽了,可以叫它“换汤不换药”。
出题者很会换壳,用不同包装产出本质相同的题。论文里有个很形象的例子:同一个“求A到E最短路径”的图论题,能改写成“背包客穿过魔法森林,走哪条路耗能最少”。字面上词汇、场景都变了样,可问的还是同一件事,答案的算法逻辑一点没动。
R-Zero本来配有防重复机制:靠BLEU算法(衡量文本词汇相似度的指标)判断两道题是否相似,相似的题归入同一个“簇”,簇越大惩罚越重,以此推动出题者出得更丰富。
问题在于,BLEU只能看出文字表面像不像,看不出数学本质像不像。
> **BLEU**:一种通过比较词汇重叠程度来衡量两段文本相似度的指标,最早用于机器翻译质量评估。
研究团队从R-Zero第五轮训练数据中取出200道题,请外部模型按“底层数学任务结构”重新归类。结果,排在前三的题型合计占到样本的59.5%。可回到R-Zero原本的BLEU分组,其中最大的那类题型被拆成了22个不同的簇——措辞、变量命名、下标从0还是从1起始,只要有一点差别,BLEU就判为不同题目。
簇被拆散,单个簇的规模就缩水,惩罚力度也随之减弱。于是,“同款换皮”的题一次次躲过筛查,反复留在训练数据中。
这让人想到餐厅统计顾客最爱点哪道菜的场景:收银系统把“番茄炒蛋”和“西红柿炒鸡蛋”记成两道菜,只因名字不同。菜单看着花样繁多,每桌点的似乎都不一样,后厨却天天在炒同一道菜,真正的多样性根本没出现。**判断“是否重复”若只看表面文字相似度,换了马甲、骨子里一样的内容就永远识别不出来,多样性也就成了自欺欺人的假象。**
解法叫R-Quest:让模型学会质疑题目本身。
病根找准之后,团队给出的方案是R-Quest。思路很直接:出题质量没人把关,那就训练解题者去质疑题目,同时让系统能认出“换皮重复题”。
### 第一步:教会解题者说“不”
进入自我进化循环之前,研究者先给解题模型补了一课,专门练它识别无效题目的本事,这一步叫作“有效性感知初始化”。
做法是:把R-Zero五轮训练中产出的题目收集起来,去重后随机抽样,交给外部强模型分两步标注——先判定题目有效或无效,再只对有效题目生成参考答案,并由人工复核答案是否可靠可验证。最后得到一个2240道题的数据集,有效题923道,无效题1317道。
| 错误类型 | 数量 | 占比 |
|---------|------|------|
| 矛盾 | 380 | 28.9% |
| 无解 | 362 | 27.5% |
| 歧义 | 315 | 23.9% |
| 信息缺失 | 181 | 13.7% |
| 题目格式不良 | 72 | 5.5% |
接着用这份数据集训练模型:碰到有效题目照常作答,碰到无效题目则要大胆回一句“INVALID”(无效)。为防模型偷懒——动不动拿“这题无效”当挡箭牌逃避解题——奖励函数里特意加了惩罚项:把明明有效的题目误判成无效,要扣分。
> **GRPO(Group Relative Policy Optimization)**:一种强化学习训练算法,通过让模型对同一问题生成多个回答,比较组内相对表现来计算训练信号,不需要额外训练一个价值网络。
这一步练完,解题模型就有了初步的“质疑能力”,后面的整个自我进化循环都架在这个能力上。
### 第二步:让一个冻结的“旁观者”认出重复
换皮重复题怎么对付?R-Quest不再比对文字表面,而是让AI直接判断“这两道题问的是不是同一类任务”。
具体用一个参数完全冻结、不参与训练的基础模型副本,把出题者每轮生成的候选题目两两比对,看它们是否属于“同一种题型”。标准很清楚:数学设定和要解决的问题本质相同,哪怕数字、变量名、包装故事全不一样,也算同一类;反过来,仅仅同属一个大数学领域(比如都是代数题),不足以判为重复。
工程上还有个巧思。每道新题若都要和批次内所有其他题目逐一比较,计算量是题目数量的平方级,代价太高。研究者改为:每道候选题只随机抽K道其他题目来比(默认K=8),只要有一次被判成“同类型”,这道题就不要了。
算下来,当某类重复题型在批次中占到20%时,K=8的抽样策略能把它识别并拒绝的概率约为83.2%;K提到16,拒绝概率升到97.2%。
这套抽样策略好比食品安全的抽检:监管方不可能逐件检查市场上每一件商品,但抽检比例设计得当,一批劣质产品只要有一两次被抽中查出问题,整批货就得下架。**抽检比例太低,问题商品容易蒙混过关;定得太高,检验成本又太贵,甚至可能把正常商品误判下架。**
论文还设置了一组对照:把K从8调到16,重复题型的占比的确被压得更低——前五大题型占比从某轮的30%降到16.8%,可数学成绩反倒不如K=8。研究者的说法是,多样性卡得太死,可能连同一题型里更难、更有训练价值的变体也一起误伤了。可见压重复并非越狠越好,得找准平衡点:纯粹的重复题要赶走,同一类题型里的进阶版本也得留条活路。
### 两类反馈信号合并:出题者的奖励机制重新设计
“有效性判断”和“新颖性判断”这两件武器备齐之后,下一步就是把它们嵌进训练流程。
出题者生成的每道题,先要过有效性这一关:解题者会多次作答,若超过半数的回答判定该题“无效”,出题者拿到的就是负向奖励,等于被告知“这种题别再出了”。
过了有效性检验的题目接着进新颖性检验,与批次内随机抽取的K道题逐一比对,一旦被判为“同类型重复”,照样拿不到正向奖励。有效且新颖的题,才会依据解题者回答的一致性(即难度是否适中)得到真正的奖励。
解题者这边,训练数据构建同样要先过有效性和新颖性两道关;此外训练数据中始终留出10%来自第一步初始化阶段的数据用来“复习”,免得解题者在后续自我进化中慢慢忘掉“识别无效题”这项本事。
实验结果:十轮过后,差距扩大到17.32分
理论再漂亮,也要看实测。研究团队在Qwen3-4B-Base和OctoThinker-3B两个模型家族上做了全面测试,覆盖数学推理、通用领域推理和代码生成三类共12个评测基准。
先看五轮自我进化后的数学成绩对比:
| 方法 | Qwen3-4B-Base平均分 | OctoThinker-3B平均分 |
|------|---------------------|----------------------|
| 基础模型(未训练) | 46.17 | 24.90 |
| R-Zero | 49.10 | 28.25 |
| OCNR | 49.57 | 28.12 |
| R-Diverse | 49.82 | 28.61 |
| **R-Quest(本文方法)** | **51.64** | **30.69** |
R-Quest在两个模型家族上都排第一,比基础模型分别高5.47分和5.79分,比R-Zero也多出2.5分左右。
更抓眼球的,是把训练拉到十轮之后。R-Zero在第三轮冲到49.10分的峰值,随后一路走低,第十轮只剩34.60分——不光没长进,还比没训练过的基础模型(46.17分)低了11.57分,是典型的“学废了”。
R-Quest则从第一轮到第十轮,每轮分数都高于R-Zero曾达到的最高分,第十轮攀上自己的峰值51.92分,比R-Zero同轮的34.60分高出整整17.32分。
**这已经超出小修小补的范畴:一条本该崩掉的曲线,被彻底掰成了持续上扬的曲线。**
论文另外单独测了只保留有效性反馈、或只保留新颖性反馈两种情况。两者单用都能超过R-Zero的峰值,但有效性反馈对防止后期崩溃更关键——去掉它,模型训练后期会重新出现明显的性能下滑;去掉新颖性反馈虽也下降,幅度却温和得多,整体仍在基础模型之上。
再看代码生成和通用推理这两项“跨领域”测试。R-Quest的训练素材全是数学题,能不能把学到的能力搬到完全不同的任务上,才见真章。
| 领域 | Qwen3-4B-Base基础分 | R-Zero | R-Quest |
|------|---------------------|--------|---------|
代码生成方面(HumanEval+/MBPP+平均),基础模型得58.79分,R-Zero为59.27分,R-Quest拿下62.69分。
通用推理一项(SuperGPQA/MMLU-Pro/BBEH平均),三者依次是28.79分、31.21分和32.75分,最高分仍归R-Quest。
这两个领域R-Quest都没做过直接训练,却照样排在第一。代码生成比基础模型高3.90分,R-Zero同期只涨了0.48分。研究者的解释是:少拿无效题去练,模型或许就不再习惯“照着没说明白的假设硬答”,转而更老实地按题目给出的实际信息推理。这种严谨劲儿恰好是写代码需要的——代码必须严格满足题面写明的约束,不能自己加戏。
判断有效性的本事,真的在涨
只看最终分数还不够。论文另外追踪了训练过程中解题模型的“质疑能力”逐轮怎么变。
做法是固定一组297道留出题(训练中从未用过),每一轮都让当轮的解题模型判断这些题有效还是无效,再算“平衡准确率”,即正确认出有效题与正确认出无效题两个比率的平均值。
结果,R-Quest的平衡准确率从初始化后的64.80%升到第十轮的72.93%。单看“识别无效题的召回率”更能说明问题:R-Quest第十轮达到86.36%,十道无效题能揪出八道多;R-Zero全程在10.23%到26.14%之间打转,跟瞎猜差不多。
出题者生成的题目质量也在变。R-Quest第一轮有效率88.0%,到第四至第十轮稳定在94.5%到97.5%;R-Zero则从76.5%滑到49.0%,将近一半是废题。
“多数投票答案的准确率”最能说明问题,它反映解题者给题目打的伪标签靠不靠谱。两种方法起步时差得不多,到第十轮,R-Quest还有54.69%,R-Zero只剩2.06%,几乎彻底失灵。
把这些数字连起来看,故事就完整了:出题质量往下掉,会直接污染答案质量;答案质量再往下掉,又反过来污染下一轮训练数据。整个系统陷进恶性循环,越滚越糟。R-Quest做的,是在循环的起点就插一道闸门,把问题拦在萌芽阶段。
小时候玩的传话游戏就是这种感觉:十个人站成一排,头一个人把话轻声说给下一个,一路传到队尾,内容常常已经走样得认不出来。**要是每一环都只偏差一点点,中途又没人回头核实,错误就会逐渐叠加,越往后越离谱,最后抵达终点的版本甚至可能与原意截然相反。**R-Quest做的事,相当于在传话的每一环都安排一个人盯着核对,让信息不至于一路走样。
写在后面
读完论文,最触动人的其实不是R-Quest这套方法有多精巧,而是它揭示的一个更普遍的道理:一个系统开始拿自己的输出训练自己、又缺少外部校验时,微小的质量瑕疵会被系统自己放大,直到彻底失控。
这不只是AI训练的事。任何“自我评价、自我强化”的闭环系统都可能有同样的风险。比如推荐算法根据用户点击数据不断优化推荐内容,如果最初的点击数据里混进了噪声或者偏见,算法在没有外部纠偏的情况下,可能把这种偏见越放越大。R-Quest的解法,说到底就是给闭环系统加进一个“自我质疑”的环节,让系统能识别“我现在生成的东西本身是不是有问题”。这个思路或许能搬到很多其他自我迭代的系统设计里。
另一个让人反复琢磨的细节是,论文里提到严苛的新颖性控制(K从8提到16)反而把数学成绩拉低了。这打破了一个原本以为理所当然的假设——“去重越狠越好”。事实证明,重复本身不全是坏事,同一类题型里难度递进的变体,恰恰是模型持续进步需要的练习素材。这提醒人:优化一个系统时,单一维度上“做到极致”往往不是最优解,真正的关键是在多个相互制约的目标之间找到那个动态平衡点。
论文还留了一个没完全展开的问题:如果把这套有效性和新颖性反馈机制推广到数学之外的领域,比如科学推理、常识问答,“什么是无效问题”和“什么是重复问题”的判断标准会不会完全不一样?这或许是这条研究路线接下来最值得追问的地方。
Q&A
Q1:R-Quest是什么?
A:R-Quest是一种让推理模型持续自我进化的训练方法。它教会解题模型识别并拒绝无效题目,同时用冻结的基础模型检测重复题型,从而解决自我训练中常见的性能崩溃问题。
Q2:为什么R-Zero这类自我进化模型训练几轮后会性能崩溃?
A:原因主要有两个。一是自己生成的题目里无效题越来越多,最高能到六成以上;二是出题者反复生成换汤不换药的重复题型。训练数据质量因此持续下滑,后续答案和训练效果也跟着被污染。
Q3:R-Quest相比R-Zero效果提升有多大?
A:数学推理的十轮自我进化测试中,R-Quest第十轮达到51.92分的峰值,比R-Zero同轮的34.60分高出17.32分;而且R-Quest全程没有出现R-Zero那样的后期崩溃现象。