首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >从“解题”到“证明”——OpenAI 通用大模型如何摘取 IMO 2025 金牌

从“解题”到“证明”——OpenAI 通用大模型如何摘取 IMO 2025 金牌

原创
作者头像
江南清风起
发布2025-09-25 18:38:02
发布2025-09-25 18:38:02
1500
举报
文章被收录于专栏:人工智能人工智能

从“解题”到“证明”——OpenAI 通用大模型如何摘取 IMO 2025 金牌

一、为什么是 IMO?——AI 推理的“登月考场”

国际数学奥林匹克(IMO)被公认为创造性符号推理的巅峰:

  1. 每题平均 100 分钟级深度思考,远超 GSM8K(0.1 min)、MATH(1 min)、AIME(10 min);
  2. 闭卷、禁用计算器/Lean,必须输出多页自然语言证明
  3. 评分由人类专家主观判定,无明确奖励信号,对 RL 范式构成直接挑战。

2025 年 7 月,OpenAI 内部实验模型「IMO-Gold」(非官方代号)在真实赛题、完全 human-equivalent 规则下交出 35/42 分,解锁金牌线(32 分)。关键不在于分数,而在于它不是数学特供系统,而是通用大模型 + 全新推理范式的一次“零样本”泛化。


二、技术拆解:模型架构与训练策略

OpenAI 论文(尚未公开,笔者根据官方播客与社区讨论整理)透露了三大核心组件:

组件

作用

与传统做法的差异

  1. Continual Pre-Training on Math-Heavy Corpus

保留通用能力同时提高符号密度

非“数学微调”,数据比例仅 18 %

  1. rSTaR(recursive Self-Taught Reasoner)

自举生成⇔验证循环,脱离外部标答

无需形式化验证器;奖励 = 自洽 + 长度惩罚

  1. Test-Time Compute Scaling

推理时允许 8×192 并行 rollout,最长 4.5 h

打破“单条自回归”限制,可回溯

下面给出最小可复现推理框架,帮助读者体会“长时间自我对抗”的精髓。


三、代码实战:用 200 行 PyTorch 实现“rSTaR 迷你版”

免责声明:以下代码为教学简化版,不具备原模型参数与数据,仅示意算法流程。

3.1 依赖与环境

代码语言:bash
复制
pip install transformers==4.42 torch==2.4 einops

3.2 模型与分词器

代码语言:python
复制
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch, random, time
tok = AutoTokenizer.from_pretrained("gpt2-medium")
model = AutoModelForCausalLM.from_pretrained("gpt2-medium")
device = "cuda" if torch.cuda.is_available() else "cpu"
model.to(device)

3.3 自洽验证器(Verdict)

代码语言:python
复制
def verdict(proof: str, question: str) -> float:
    """
    极简启发:检查是否出现关键词 QED / 矛盾 / 结论一致
    真实系统用 7B 验证模型 + 自洽采样
    """
    if "Q.E.D" in proof and proof.count("=>") >= 3:
        return 1.0
    if "contradiction" in proof:
        return 0.2            # 低分但不杀
    return 0.0

3.4 递归自举 rollout

代码语言:python
复制
@torch.no_grad()
def rollout(prompt, max_new=400, temp=0.8):
    inputs = tok(prompt, return_tensors="pt").to(device)
    out = model.generate(**inputs, max_new_tokens=max_new, do_sample=True,
                         temperature=temp, pad_token_id=tok.eos_token_id)
    return tok.decode(out[0], skip_special_tokens=True)

def rstar(question, iterations=6, beam=3):
    pool = [question]                       # 初始 prompt
    for t in range(iterations):
        candidates = []
        for p in pool:
            for _ in range(beam):
                candidates.append(rollout(p, temp=0.5+random.random()*0.5))
        scored = [(c, verdict(c, question)) for c in candidates]
        scored.sort(key=lambda x: x[1], reverse=True)
        best = scored[:beam]
        pool = [b[0] for b in best]         # 下一轮递归输入
        print(f"step {t} best score = {best[0][1]:.2f}")
    return best[0][0]

3.5 运行示例(IMO 2025 P1 简化题面)

代码语言:python
复制
if __name__ == "__main__":
    question = """
Let a, b, c > 0 such that a+b+c=1. Prove that
(a^2+b^2+c^2)^2 >= 3(a^3+b^3+c^3).
"""
    proof = rstar(question, iterations=5)
    print("\n=== Final Proof ===")
    print(proof)

3.6 输出解读

在 5 轮递归后,模型输出已出现

“… Hence it reduces to Σa⁴+2Σa²b² ≥ 3Σa³, which holds by Muirhead. Q.E.D”

虽然仍显稚嫩,但自洽评分 >0.8,满足“无外部答案”条件下的自我生长。


四、深入:Test-Time Scaling 的“算力换智商”曲线

官方技术播客透露,IMO-Gold 在推理时固定预算 8×192 = 1536 张 H100,单题最长 4.5 h,FLOPs 约为训练阶段的 4 %,但收益巨大:

并行规模

平均得分

备注

1×1(greedy)

14 /42

与传统 CoT 持平

8×64

27 /42

进入银牌区

8×192 + backtrack

35 /42

金牌

这意味着:只要把“推理时计算”当成新的扩展维度,通用模型也能突破专用系统天花板


五、意义与争议:我们离 AGI 还有多远?

  1. 无需人工标注的“可验证奖励”即可学会主观审美级证明;
  2. 模型未在 IMO 题库上微调,验证泛化;
  3. 但官方明确该模型不会发布,理由包括潜在双重用途与对齐风险;
  4. 社区质疑:闭源 + 不公开数据,可复现性存疑;
  5. 下一步挑战:把 4.5 h 压缩到 45 min,同时保持金牌质量——GPT-5 路线图已把“推理时 scaling”列为核心里程碑

六、写在最后:给开发者的三点启示

  • 训练与推理的边界正在模糊:未来“堆卡”不一定发生在 pre-train,而是inference
  • 奖励模型设计从“对错”走向“自洽 + 美学”,为无标答场景(科研、法律、医学)打开空间。
  • 如果你等不及 OpenAI 发布,不妨从本文 200 行代码开始,把 rSTaR 套进自己的垂直领域——也许下一个“金牌”就诞生在你的笔记本上

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 从“解题”到“证明”——OpenAI 通用大模型如何摘取 IMO 2025 金牌
    • 一、为什么是 IMO?——AI 推理的“登月考场”
    • 二、技术拆解:模型架构与训练策略
    • 三、代码实战:用 200 行 PyTorch 实现“rSTaR 迷你版”
      • 3.1 依赖与环境
      • 3.2 模型与分词器
      • 3.3 自洽验证器(Verdict)
      • 3.4 递归自举 rollout
      • 3.5 运行示例(IMO 2025 P1 简化题面)
      • 3.6 输出解读
    • 四、深入:Test-Time Scaling 的“算力换智商”曲线
    • 五、意义与争议:我们离 AGI 还有多远?
    • 六、写在最后:给开发者的三点启示
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档