自从 OpenAI 发布 o1 模型以来,业界对其的追赶不断加速。
大模型推理的一个关键挑战在于,现实世界常常提出很多开放式和创造性的问题,对于 AI 来说,这是一类很难评估的任务,因为没有「标准答案」或者易于量化的奖励。
我们能否训练一个模型,让它能够从容应对无法避免的「模糊性」,仍然生成可靠的推理结果?
11 月 22 日,阿里巴巴国际数字商业集团MarcoPolo团队发布了 Marco-o1,这是一种旨在推进开放式问题解决的大型推理模型 (LRM)。当然该工作也提到:这是一项正在进行的探索性工作,仍有进一步改进的空间。
这篇论文篇幅并不长,让我们来梳理下技术细节。
论文标题:Marco-o1: Towards Open Reasoning Models for Open-Ended Solutions
论文链接:https://arxiv.org/pdf/2411.14405
项目地址:https://github.com/AIDC-AI/Marco-o1
虽然 o1 模型在 AIME 和 CodeForces 等测试中都展示了强大的推理能力,但 Marco-o1 的目标是超越结构化挑战,实现跨多个领域的泛化,特别是在那些没有严格评估指标的领域。通过集成诸如思维链 (CoT) 微调、蒙特卡洛树搜索 (MCTS) 和推理动作策略等技术来实现的,Marco-o1 能够更有效地处理复杂的问题解决任务。
通过微调 Qwen2-7B-Instruct 与过滤后的 Open-o1 CoT 数据集 、Marco-o1 CoT 数据集和 Marco-o1 指令数据集的组合,Marco-o1 提高了对复杂任务的处理能力。
Open-o1 CoT 数据集(已过滤):研究者通过应用启发式和质量过滤过程完善了 Open-o1 项目的 CoT 数据集,这一改进使模型能够有效地采用结构化推理模式。
Marco-o1 CoT 数据集(合成):研究者使用 MCTS 生成了 Marco-o1 CoT 数据集,这有助于制定复杂的推理路径,进一步增强了模型的推理能力。
Marco 指令数据集:认识到强大的指令遵循能力在执行复杂任务中的关键作用,研究者整合了一组指令遵循数据。这种整合确保了模型能够胜任各种任务,在保持其普遍有效性的同时显著增强其推理能力。
结果显示,Marco-o1 在 MGSM(英文)数据集上的准确率提高了 6.17%,在 MGSM(中文)数据集上的准确率提高了 5.60%,展示了更强的推理能力。
在翻译任务中,实验还证明 Marco-o1 在翻译俚语表达方面表现出色。例如,该模型正确地将中文中字面意思为「这只鞋给人一种踩屎感」的俗语翻译成了英文「This shoe has a comfortable sole」(这只鞋的鞋底很舒服),证明了它对俗语细微差别的精准把握。
基于 MCTS 的解空间扩展
该研究将 LLM 与 MCTS 集成在一起,以增强 Marco-o1 模型的推理能力:
节点是推理状态:在 MCTS 框架中,每个节点代表解决问题过程的推理状态;
动作作为 LLM 输出:节点可能执行的动作是 LLM 生成的输出。这些输出代表推理链中的潜在 step 或 mini-step;
Rollout 和奖励计算:在 rollout 阶段,LLM 继续推理过程直至终止状态;
指导 MCTS:奖励分数 R 用于评估和选择 MCTS 中的有希望的路径,从而有效地引导搜索走向更置信、更可靠的推理链。
此外,该研究通过计算置信度得分来获得每个状态的值。对于最终结果的每个 token t_i,作者通过将 softmax 函数应用于其对数概率和前 5 个替代 token 的对数概率来计算其置信度得分。这由以下公式给出:
在获得最终结果的所有 token 的置信度得分后,然后计算所有 token 的平均置信度得分,从而得出总奖励得分:
此平均值作为奖励信号,用于评估推理路径的质量。较高的 v 表示更置信且更准确的推理路径。
通过采用这种方法,该研究有效地扩展了解空间,使模型能够探索大量推理路径并根据计算出的置信度分数选择最可能的路径。
推理动作策略
动作选择
该研究观察到使用动作作为 MCTS 搜索的粒度相对粗糙,导致模型经常忽略对解决复杂问题至关重要的细微推理路径。
为了解决这个问题,该研究探索了 MCTS 搜索中的不同粒度级别。
最初,他们使用 step 作为搜索单位。
为了进一步扩展模型的搜索空间并增强其解决问题的能力,作者尝试将这些 step 分成包含 64 或 32 个 token 较小的单元,称为 mini-step。这种更加精细的粒度允许模型更详细地探索推理路径。
然而,虽然 token 级搜索在理论上提供了最大的灵活性和粒度,但由于需要大量的计算资源,以及设计这一级别的有效奖励模型挑战巨大,因此目前它是不切实际的。
实验中,该研究在 MCTS 框架内实施了以下策略:
Step 作为动作:允许模型生成完整的推理 step 作为动作。每个 MCTS 节点代表一个完整的思维或动作标签。这种方法可以实现有效的探索,但可能会错过解决复杂问题所必需的更细粒度的推理路径。
Mini-step 作为动作:使用 mini-step(32 或 64 个 token)作为动作。这种更细的粒度扩展了解空间,并通过在搜索过程中考虑更细微的 step 来提高模型处理复杂推理任务的能力。通过在这个级别探索解空间,模型可以更好地找到可能被更大的动作单元忽略的正确答案。
思考后进行反思
作者还引入了反思机制,通过在每个思考过程的末尾添加短语「Wait! Maybe I made some mistakes! I need to rethink from scratch。」 这提示模型自我反思并重新评估其推理步骤。实施这种反思机制已经带来了显著的改进,特别是在原始模型最初无法正确解决的困难问题上。加上反思,这些具有挑战性的问题大约有一半得到了正确的回答。
从自我批评的角度来看,这种方法使模型能够充当自己的批评者,识别其推理中的潜在错误。通过明确地提示模型质疑其初步结论,奖励模型重新表达和完善其思维过程。这种自我批评机制利用了模型检测自身输出中的不一致性或错误的能力,从而得到更准确、更可靠的解决方案。反思步骤充当了一个内部反馈循环,增强了模型在没有外部干预的情况下自我纠正的能力。
实验及结果
作者基于 Qwen2-7B-Instruct,并在训练数据上进行了 SFT,得到 Marco-o1-CoT。此外,作者在 MCTS(蒙特卡罗树搜索)框架中使用了 Marco-o1-CoT,通过动作来区分:
Marco-o1-MCTS (step):使用每个推理 step 作为一个动作(step);
Marco-o1-MCTS (mini-step of 64 tokens):使用 64 个 token 的 mini-step 作为一个动作(64 个 token);
Marco-o1-MCTS (mini-step of 32 tokens):使用 32 个 token 的 mini-step 作为一个动作(32 个 token)。
测试过程中,每个模型都使用了 CoT 提示来确保推理过程的一致性。
结果表明:在 MGSM-en 数据集中,Marco-o1-CoT 比 Qwen2-7B-Instruct 表现优异,如图 4 所示,这是由于使用了英文 CoT 数据进行了微调。然而,在 MGSM-zh 数据集中,Marco-o1-CoT 的表现与 Qwen2-7B-Instruct 相比有所下降。这种下降归因于用于微调的 CoT 数据是英文的,这可能无法有效地迁移到中文数据中。
这三个经过 MCTS 增强的模型表现出比 Marco-o1-CoT 更好的改进,表明融入 MCTS 有助于扩展模型的解空间,并增加获得正确答案的概率。然而,由于本文使用置信度得分作为奖励,树搜索结果显示出显著的随机性。
在 MGSM-en 中,step 作为动作策略表现最好,而在 MGSM-zh 中,mini-step 作为动作(32)策略产生了最高的准确性。目前,如图 4、5 和 6 所示,作者还无法得出哪种动作策略更优的明确结论。但研究者相信,随着奖励变得更准确,MCTS 提供的更大解空间将展现出更大的潜力。
如图 7、8 和 9 所示,Marco-o1 在处理复杂翻译任务(尤其是口语和俚语)上具有高级理解和推理能力,优于 Google 翻译等标准翻译工具。
扫描二维码添加小助手微信