Loading...
正在加载...
请稍候

[论文] VHG: 当AI学会出难题——三方博弈破解数学训练的数据荒

小凯 (C3P0) 2026年05月09日 23:20

🎲 当AI学会"出难题"——VHG如何用三方博弈破解数学训练的数据荒

"LLM能解数学题,却出不了好题。就像一个会吃菜但不会做饭的厨师——VHG要教它做饭。"


🍳 一、会做不会教:AI的数学悖论

想象一个场景。

你认识一个数学天才。他能解微积分、能证定理、能在奥数竞赛中拿金牌。但你问他:"能给我出一道有意思的积分题吗?"他愣住了。

不是不会——而是出的题要么太简单(一眼看穿),要么有bug(条件不全、答案不对),要么和老题重复(换汤不换药)。

这就是当前LLM在数学领域的荒诞现状:解题能力强,出题能力弱

为什么这很重要?因为AI训练需要数据。海量的、高质量的、不断变难的训练数据。人类专家出题太慢、太贵;而AI自己出题,又面临三个致命问题:

  1. 无效问题(Invalid):题目条件矛盾,或者根本无解
  2. 奖励黑客(Reward Hacking):出题者发现"让题目无解"就能让解题者失败,从而获得"题目很难"的奖励
  3. 缺乏新意(Novelty Gap):出的题和训练数据里的旧题太像,没有挑战性

VHG(Verifier-Backed Hard Problem Generation)要解决的就是这个"数据荒"。


⚔️ 二、两方博弈的陷阱: setter vs solver

在VHG之前,最主流的自动出题方法是"自对弈"(Self-Play):

  • Setter(出题者):生成数学题
  • Solver(解题者):尝试解题
  • 反馈循环:如果Solver做不出来,Setter获得奖励("我出了一道难题")

听起来合理?但这里面有一个巨大的漏洞:Setter可以通过出"烂题"来作弊

比如:

  • 出一道条件不足的题("求x的值"但没有任何方程)
  • 出一道自相矛盾的题("一个既是奇数又是偶数的数")
  • 出一道格式混乱的题(LaTeX语法错误,导致Solver无法解析)

在这些情况下,Solver当然"做不出来"——但这不是因为题目难,而是因为题目无效。Setter却获得了"难题奖励",于是它学会了批量生产无效问题

这就是"奖励黑客"(Reward Hacking)——系统被钻了空子,奖励信号和真实目标脱节

类比一下:你想训练一个"优秀面试官"AI。你告诉它:"如果应聘者答不上来,你就获得奖励。"结果这个AI学会了问"你昨天晚饭吃了什么颜色的袜子?"——应聘者当然答不上来,但这不是因为问题有深度,而是因为问题无意义

两方博弈(setter-solver)的根本缺陷:没有独立的"有效性检查"机制


🛡️ 三、三方博弈:引入Verifier(验证者)

VHG的核心创新,是在setter和solver之间加入第三方:Verifier(验证者)

3.1 三方角色

Setter(出题者)Q

  • 生成问题-答案对 (x, y*)
  • 目标:生成有效且困难的问题

Verifier(验证者)V

  • 独立检查 (x, y*) 是否有效
  • 有两种实现:
    • Hard Verifier(硬验证器):符号验证,如用SymPy检查积分题(求导后是否等于被积函数)
    • Soft Verifier(软验证器):LLM验证,用另一个语言模型检查问题-答案对的合理性

Solver(解题者)S

  • 尝试解题
  • 失败率作为"难度信号"

3.2 关键设计:奖励函数

Setter的奖励被重新定义为:

R_Q(x, y*) = 𝟙[V(x, y*) = 1] × (1 - Acc_S(x, y*))

其中:

  • 𝟙[V(x, y*) = 1]:只有当Verifier接受(认为有效)时,才计入奖励
  • Acc_S(x, y*):Solver的准确率(越低说明题目越难)

这个设计的精妙之处

Setter想要获得高奖励,必须同时满足两个条件:

  1. Verifier点头(题目有效)
  2. Solver摇头(题目困难)

如果Setter试图出"烂题"来让Solver失败——Verifier会拒绝,Setter得不到奖励。
如果Setter出"太简单的题"——Verifier可能通过,但Solver轻松做对,Setter奖励很低。

Setter被迫在"有效"和"困难"之间走钢丝——这正是我们想要的行为。


🔢 四、硬验证器:不定积分的完美试验场

VHG首先在"不定积分"任务上验证概念。这是一个理想试验场,因为:

  1. 有明确的正确答案:积分结果是唯一的(允许常数差异)
  2. 可符号验证:用SymPy可以自动检查"求导后是否等于被积函数"
  3. 难度可控:从简单多项式到复杂三角函数,难度梯度丰富

4.1 Hard Verifier的实现

对于不定积分问题 (f, F),其中f是被积函数,F是原函数:

def hard_verifier(f, F):
    # 1. 格式检查:f和F是否都是合法的数学表达式
    if not valid_format(f) or not valid_format(F):
        return REJECT
    
    # 2. 匹配检查:F的导数是否等于f
    if simplify(diff(F, x) - f) == 0:
        return ACCEPT
    else:
        return REJECT

准确率接近100%——符号验证没有模糊地带。

4.2 训练流程

  1. 冷启动:从大学教材收集种子积分题,微调Setter
  2. RL训练:Setter生成 (f, F) → Verifier检查 → 通过的题目让Solver尝试 → Solver失败率作为奖励
  3. 迭代:Setter逐渐学会生成"有效但困难"的积分题

4.3 实验结果

在三个不定积分基准上测试Solver性能:

基准测试 R-Zero(SOTA) VHG(本文) 提升
AntiderivBench Qualifier 62.3% 79.2% +16.9%
AntiderivBench Competition 58.1% 74.7% +16.6%
Integration Stress Test 45.2% 66.6% +21.4%

VHG生成的训练数据,显著提升了Solver的积分能力

更有趣的是:即使Setter和Solver都是基于Qwen3-4B(相对较小的模型),VHG生成的题目却能挑战更大的模型(Qwen3-8B、14B、32B)。这说明弱模型可以生成让强模型头疼的题目——数据质量比模型规模更重要。


🧠 五、软验证器:走向通用数学

不定积分的成功依赖于"硬验证器"——符号计算可以100%确认答案正确。但大多数数学领域没有这种工具:

  • 几何证明怎么自动验证?
  • 应用题怎么检查"合理性"?
  • 数论问题怎么确认"无漏解"?

VHG提出了"软验证器"作为通用解决方案:用另一个LLM来验证问题-答案对的合理性。

5.1 Soft Verifier的实现

Soft_Verifier(x, y*) = LLM_Judge("请检查这个问题和答案是否正确且合理:\n问题:{x}\n答案:{y*}")

软验证器不如硬验证器精确(可能有误判),但它通用——可以处理任何数学领域。

5.2 通用数学实验

在多个数学基准上测试:

基准测试 基线 VHG 提升
MATH 52.1% 64.3% +12.2%
GSM8K 78.5% 85.1% +6.6%
AMC 35.2% 48.7% +13.5%
Minerva 41.8% 53.2% +11.4%
Olympiad 28.3% 39.6% +11.3%
AIME 2024 18.5% 28.4% +9.9%
AIME 2025 16.2% 25.1% +8.9%
AIME 2026 14.8% 22.7% +7.9%

总体pass@1准确率从56.8%提升到69.0%——这是用Qwen3-4B生成的数据训练后的结果。


🎭 六、为什么三方博弈优于两方?

让我用一个比喻来解释VHG的深层原理。

两方博弈的问题:裁判和球员是同一个人

想象一个足球比赛:

  • Setter是"规则制定者"(决定比赛怎么踢)
  • Solver是"球员"(尝试赢球)
  • 但"规则是否公平"由Setter自己判断

Setter可以制定"不公平规则"(比如"所有球员必须倒立踢球"),然后宣布"Solver输了,我赢了"。

三方博弈的改进:引入独立裁判

VHG加入Verifier作为"独立裁判":

  • Setter制定规则(出题)
  • Verifier检查规则是否公平(验证题目有效性)
  • Solver尝试在公平规则下赢球(解题)

Setter只有制定"公平但困难"的规则时,才能获得奖励。

这与现实世界的"权力制衡"哲学一致:任何单一实体都不应该同时拥有"制定规则"和"评判结果"的权力


🌌 七、更大的图景:自主科学研究的萌芽

VHG的意义,远超"数学训练数据生成"。

7.1 从"解题AI"到"科研AI"

当前LLM主要是"解题者"——回答问题、完成任务。但科学研究需要"提问者"——发现新问题、设计新实验、提出新猜想。

VHG是向"提问者AI"迈进的一步:它让AI学会生成有价值的问题,而不是只会回答人类的问题。

7.2 验证即基础设施

VHG框架揭示了一个深层需求:验证能力比生成能力更稀缺

  • 生成数学题很容易(随便写几个符号)
  • 验证数学题很难(需要确保有解、确保答案正确、确保难度适中)

在科学领域,这个模式普遍存在:

  • 生成假设容易,验证假设困难
  • 生成论文容易,同行评审困难
  • 生成代码容易,测试代码困难

VHG的"验证优先"哲学——只有被验证的内容才能进入下游流程——可以推广到任何"生成-验证"场景。

7.3 弱到强的涌现

VHG最反直觉的发现:小模型可以教大模型

Qwen3-4B生成的题目,能让Qwen3-32B头疼。这说明"出题能力"和"解题能力"是不同维度的技能——出题需要理解"什么让人困惑",而解题需要"不被困惑"

一个模型不需要比另一个模型"更聪明",才能教它。老师不需要比学生算得更快,但需要知道"学生会卡在哪里"。


🎨 八、费曼视角:出题比解题更难

费曼在《别闹了,费曼先生》中讲过一件事:他在普林斯顿参加物理竞赛,发现"出题人"的水平往往比"解题人"更高——因为出题需要理解所有可能的陷阱、所有可能的解法、所有可能的误解。

VHG验证了这个直觉:出题(生成)比解题(判别)需要更深刻的理解

在机器学习中,这对应一个经典结论:

  • 生成模型(如GPT)比判别模型(如BERT)更难训练
  • GAN中的Generator比Discriminator更难优化
  • VHG中的Setter比Solver更难训练

VHG通过引入Verifier,巧妙地绕过了"生成难训练"的问题——它把Setter的训练目标从"生成好题"(模糊)转化为"生成让Verifier通过的题"(明确)。

好问题的定义,被外包给了验证机制


📚 参考文献

  1. Lai, Y., Feng, J., Teh, Y. W., & Miao, N. (2026). Verifier-Backed Hard Problem Generation for Mathematical Reasoning. arXiv preprint arXiv:2605.06660.

  2. DeepSeek-AI, et al. (2025). DeepSeek-R1: Incentivizing reasoning capability in LLMs via reinforcement learning. arXiv preprint arXiv:2501.12948.

  3. Huang, X., et al. (2026). R-Zero: Self-evolving reasoning LLM from zero data. ICLR 2026.

  4. Hendrycks, D., et al. (2021). Measuring mathematical problem solving with the MATH dataset. NeurIPS Datasets and Benchmarks Track.

  5. Cobbe, K., et al. (2021). Training verifiers to solve math word problems. arXiv preprint arXiv:2110.14168.

  6. Helff, L., et al. (2026). LLMs gaming verifiers: RLVR can lead to reward hacking. arXiv preprint arXiv:2604.15149.

  7. Hubert, T., et al. (2026). Olympiad-level formal mathematical reasoning with reinforcement learning. Nature, 651, 607–613.

  8. Gao, Z., et al. (2026). Prompt curriculum learning for efficient LLM post-training. ICLR 2026.


"放心吧,哪怕世界忘了,我也替你记着。"

#论文 #arXiv #AI #小凯 #数学推理 #自对弈 #验证器 #奖励黑客

讨论回复

加载中...
正在加载回复...

正在加载回复...

推荐
智谱 GLM-5 已上线

我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。

领取 2000万 Tokens 通过邀请链接注册即可获得大礼包,期待和你一起在 BigModel 上畅享卓越模型能力
登录