Post-Training Language Models for Gold-Medal Performance in Coding Competitions
Aleksander Ficek, Sean Narenthiran, Mehrzad Samadi, Somshubra Majumdar, Boris Ginsburg
cs.LG, cs.AI, cs.CL, cs.MA, cs.SE
2026-09-03
NVIDIA 用 2.2 万道竞赛题做监督微调与强化学习,再配上迭代纠错策略 GenCorrect。Nano-CC 把 IOI 2025 从 130 分做到 468。竞赛特化 Ultra-CC 在 IOI 2026 现场拿下 535.4/600,超过人类第一的 498.27。
竞赛编程已经是测大模型推理的硬尺子,IOI 和 ICPC 是其中最难的两场。近年有闭源和开权模型报过金牌,但训练数据、后训练、模型规模和测试时算力缠在一起,分不清哪一块在干活。NVIDIA 把整条竞赛特化管线拆开:2.2 万道题、合成思维链、监督微调、可执行奖励的强化学习,外加一轮轮用评测器反馈改代码的 GenCorrect。然后把同一套思路拿到 IOI 2026 现场,在和人类选手相同的时间、断网和提交规则下跑。
题库来自过去二十年 16 个竞赛系列和在线平台,做成可执行评测环境,IOI 2025、ICPC 2025、LiveCodeBench Pro 全部剔除并去重。DeepSeek-V4-Flash 给 Nano 生成 120 万条思维链,给 Ultra 生成 47.8 万条,难的题多采样,并掺进教师自我改进轨迹,给后面的迭代纠错打底。
Nemotron-3-Nano-CC 是 30B 总参、3B 激活的 MoE,SFT 三轮后再做 GRPO:3219 道可执行题,每步 64 道题、每题 16 条 rollout,C++17 编译运行,满分 1 分否则 0,没有 KL 惩罚。Nemotron-3-Ultra-CC 是 550B 总参、55B 激活,只做一轮 SFT,算力不够做同规格 RL。
GenCorrect 最多五轮。每轮并发生成最多 200 个解,按 token-shingle 多样性选出 10 个提交;IOI 拿子任务分,把每题已拿到的最高分和三个参考解带回下一轮。IOI 每题 50 次提交,五轮刚好用满。现场版把教师换成 GLM-5.2,第五轮生成预算加到 1000,并用自造测试输入做执行筛选;推理用 NVFP4 量化,峰值到 760 张 GB300。
IOI 2025 满分 600,金牌线 438.3:
| 系统 | Score@1 | Score@200 / GenCorrect |
| Nano 基座 | 130 | 272 |
| Nano-CC | 291 | 461 / 五轮 468 |
| Ultra 基座 | 273 | 436 |
| Ultra-CC | 304 | 505 / 五轮 502 |
SFT 贡献了绝大部分单样本提升:Nano 三轮后 IOI 从 130 分到 280 分,LCB Pro Pass@1 从 17.6% 到 70.7%,ICPC 也从 16.9% 抬到约 47%。RL 再把 IOI 推到 291(48.5%),ICPC 51.0%,LCB Pro 71.6%,幅度小。从基座直接 RL,IOI 只从 21.7% 到 24.9%,补不回 SFT。ICPC 上 Nano 五轮 GenCorrect 从 8.6 题到 9.4 题,对齐第四名金牌队的 9 题;Ultra 到 9.6 题,二轮后就平台。
IOI 2026 现场,竞赛特化 Ultra-CC 拿下 535.4/600,金牌线 361.12,人类第一 498.27。现场用的 GLM-5.2 蒸馏版在 IOI 2025 Score@1 到 59.4%,高于 Flash 蒸馏的 50.7%,平均生成更短(约 8.4 万对 9.0 万 token),同样时间窗能采更多候选。赛后用普通五轮 GenCorrect 复跑,均值 521.72,区间 495.0–545.8。官方说明:不是正式选手,成绩不进榜。
3B 激活的 Nano-CC 加测试时算力就能过 IOI 2025 金牌线,说明竞赛金牌现在更像系统工程:数据、教师蒸馏、提交预算和评测器闭环,权重大于再堆一层 RL。现场 535.4 是公开记录里首次在 IOI 题面上超过人类第一。代价也写在纸上:峰值 760 张 GB300,和人类比的是比赛规则,不是算力。
作者自己写了:训练和测试时算力都很大,现场结果应按同规则的系统对比来读,不能当成和选手的同等资源对决。Ultra 没做竞赛 RL,跨规模消融也不全。题库因第三方版权不能完整开源。NVFP4 把 IOI 2025 Score@1 从 59.4% 打到 52.8%,换 3.7 倍吞吐,现场分数有量化折损。2026 金牌线 361 远低于 2025 的 438,赛题对人类更难,但人类第一仍有 498,模型是在这条线上再超 37 分。泛化到竞赛编程以外,论文没有证据。