OpenAI训练了一个自博弈(Self-play)模型o1-IOI,该模型在2024年国际信息学奥林匹克竞赛(IOI)中获得了213分,超过49% 的人类选手(即大模型大约处在人类水平的中间状态)。OpenAI以o1为基础进行初始化,并进一步训练以提升编程技能。o1-IOI在2024 IOI中与人类参赛者在相同条件下竞争。它有十个小时的时间来解决六个具有挑战性的算法问题,并且每个问题允许提交50次。
针对每个问题,IOI模型系统给出了很多候选的提交,根据特定的策略从中选出50个进行提交,这种策略是基于在IOI公共测试用例、模型生成的测试用例(如同生成代码和测试代码之间就是一种博弈)和一个学习得分函数上的表现来决定的。如果IOI模型系统选择随机提交,平均只会得156分,这表明在竞赛限制下,这种策略的价值带来了60分(213-156=57)。
在放宽提交限制(不受50次限制)后,我们发现模型性能显著提升。当每个问题允许10,000次提交时(相当于进行了充分的自博弈),模型得分达到362.14,超过了金牌门槛(即几乎超过了所有人类选手),即使没有任何测试-时间选择策略(test-time selection strategy)。
这是不是也验证了我在《软件工程3.0的解释》6)中的观点?
最后,OpenAI模拟了由Codeforces在线编程竞赛(全球最强的,竞赛题目涵盖了数据结构、算法、数学等),以展示该模型的编码能力。这次严格遵循比赛规则,允许10次提交。GPT-4o获得了808积分的Elo评级(Elo评分具有较强的实时性和准确性,通过玩家之间的多轮对局结果来动态调整评分,直接反映了他们的相对强度),只超过了(优于)11%的人类选手(位置很低)。但自博弈模型(o1-IOI)远超GPT-4o和o1,获得了1807的Elo评级,表现优于93%的竞争者。是不是很恐怖?GPT-4o很强了(在Codeforces不算强),但在自博弈模型(o1-IOI)面前很弱:11% vs 93%。
其实早在2017年,OpenAI开始这方面的探索与研究:
4小时就打败了国际象棋的最强程序Stockfish! 2小时就打败了日本将棋的最强程序Elmo! 8小时就打败了与李世石对战的AlphaGo v18!
(下面机会难得,不可错过)