近期,开源社区传来好消息:上海AI Lab团队发布了LLaMA版o1项目,旨在复刻OpenAI的奥数解题神器o1。该项目采用了多种先进技术,包括蒙特卡洛树搜索、Self-Play强化学习、PPO以及AlphaGo Zero的双重策略范式,引起了开发者社区的广泛关注。

image.png

早在OpenAI的o1系列发布之前,上海AI Lab团队就开始探索利用蒙特卡洛树搜索来提升大模型的数学能力。o1发布后,团队进一步升级算法,专注于数学奥赛问题,并将其作为OpenAI草莓项目的开源版本进行开发。

为了提升LLaMA模型在数学奥赛问题上的表现,团队采用了成对优化策略,即不直接给出答案的绝对分数,而是比较两个答案的相对优劣。 通过这种方法,他们在最难的AIME2024基准测试中取得了显著进步。 在30道测试题中,优化后的模型做对了8道,而原版LLaMA-3.1-8B-Instruct模型只做对了2道。 这一成绩超过了除o1-preview和o1-mini之外的其他商业闭源方案。

image.png

10月底,团队宣布在基于AlphaGo Zero架构复刻OpenAI o1方面取得重大进展,成功使模型在学习过程中通过与搜索树交互获得高级思维能力,而无需人工标注。 不到一周,项目便开源了。

目前,LLaMA版o1已开源的内容包括:预训练数据集、预训练模型、强化学习训练代码。 其中,“OpenLongCoT-Pretrain”数据集包含超过10万条长思维链数据,每条数据都包含一个完整的数学问题推理过程,包括思考内容、评分结果、问题描述、图形坐标、计算过程、结论推导等完整的推理链路,以及对各个推理步骤的批评和验证内容,为推理过程提供评价和指导。 经过在此数据集上的继续预训练,模型可以像o1一样读取和输出长思维链过程。

image.png

虽然项目名为LLaMA-O1,但目前官方提供的预训练模型是基于谷歌的Gemma2。 在预训练模型的基础上,开发者可以继续进行强化学习训练。 训练过程包括:使用蒙特卡洛树搜索进行自我对弈以生成经验;将经验存储在优先经验回放缓冲区中;从缓冲区采样批次数据进行训练;更新模型参数和经验优先级。 训练代码中还使用了一些关键技术,包括使用LoRA进行参数高效微调、使用PPO算法作为策略优化方法、实现GAE算法用于计算优势函数、以及使用优先经验回放提高训练效率。

值得注意的是,LLaMA-O1代码发布在名为SimpleBerry的GitHub账号下,该账号没有特别简介,显得比较神秘。 从其他与SimpleBerry相关的账号和官网信息中,只能看出其性质是一个研究实验室,但没有透露更多研究方向的信息。

除了LLaMA-O1之外,另一个公开进展的o1复刻项目是来自上海交通大学团队的O1-Journey。 该团队在十月初发布了第一份进展报告,介绍了创新的Journey Learning范式,以及第一个成功将搜索和学习整合到数学推理中的模型。O1-Journey核心开发团队主要由上交大大三、大四本科生,以及上交大GAIR实验室(生成式人工智能研究实验室)的一年级博士生组成,指导教师包括上交大副教授刘鹏飞、姚班校友、斯隆奖得主李远志等。

论文地址:https://arxiv.org/pdf/2410.02884

https://arxiv.org/pdf/2406.07394