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

从"解题"到"证明"------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 %
2. rSTaR(recursive Self-Taught Reasoner) 自举生成⇔验证循环,脱离外部标答 无需形式化验证器;奖励 = 自洽 + 长度惩罚
3. 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 套进自己的垂直领域------也许下一个"金牌"就诞生在你的笔记本上
相关推荐
CodeCraft Studio3 小时前
Visual Studio 2026 Insiders 重磅发布:AI 深度集成、性能飞跃、全新设计
ide·人工智能·microsoft·visual studio
Charles豪3 小时前
MR、AR、VR:技术浪潮下安卓应用的未来走向
android·java·人工智能·xr·mr
起个名字费劲死了3 小时前
Pytorch Yolov11 OBB 旋转框检测+window部署+推理封装 留贴记录
c++·人工智能·pytorch·python·深度学习·yolo·机器人
Tadas-Gao3 小时前
华为OmniPlacement技术深度解析:突破超大规模MoE模型推理瓶颈的创新设计
人工智能·架构·大模型·llm
天上的光3 小时前
计算机视觉——灰度分布
人工智能·opencv·计算机视觉
X.AI6664 小时前
【大模型LLM面试合集】有监督微调_微调
人工智能
Billy_Zuo4 小时前
人工智能深度学习——循环神经网络(RNN)
人工智能·rnn·深度学习
洁宝趴趴4 小时前
Real-Time MDNet
人工智能·深度学习
神州问学4 小时前
A I智能革命——上下文工程新突破
人工智能