链载Ai

标题: 阿里Marco-o1: 基于Qwen 7B的面向开放域推理的类o1模型 [打印本页]

作者: 链载Ai    时间: 前天 17:03
标题: 阿里Marco-o1: 基于Qwen 7B的面向开放域推理的类o1模型

今天分享的是阿里的一个工作:

Marco-o1: Towards Open Reasoning Models for Open-Ended Solutions.

Marco-o1:面向开放的推理模型以获得开放式解决方案。

论文链接:https://arxiv.org/pdf/2411.14405

代码链接:https://github.com/AIDC-AI/Marco-o1

摘要

这篇论文介绍了一个名为 Marco-o1 的大型推理模型,该模型旨在解决开放式推理问题。与传统的大型推理模型专注于具有标准答案的学科(如数学、物理和编程)不同,Marco-o1 更注重于那些没有明确标准答案和难以量化奖励的开放性问题。为了实现这一目标,Marco-o1 采用了思维链微调、蒙特卡洛树搜索、反思机制以及针对复杂现实世界问题解决任务优化的创新推理策略。论文的核心问题是探讨 Marco-o1 模型是否能够有效地推广到更广泛的领域,在这些领域中,标准不明确且奖励难以衡量。

主要方法

Marco-o1采用三种训练集组成。分别是:

  1. Open-O1 CoT Dataset (Filtered): 这是 OpenAI o1 模型使用的 CoT 数据集的过滤版本。它包含各种学科(如数学、物理、编程等)的推理问题及其对应的思维链解答。 通过使用这个数据集,Marco-o1 可以学习到 o1 模型的推理模式和策略,并将其应用到更广泛的任务中。
  2. Marco-o1 CoT Dataset:这是 Marco-o1 团队专门构建的 CoT 数据集,旨在补充 Open-O1 CoT Dataset 并进一步提升模型的推理能力。该数据集包含更多开放性推理问题,例如需要创造性解决方案或缺乏明确标准的问题。
  3. Marco-o1 Instruction Dataset:这是一个指令数据集,用于训练 Marco-o1 理解和执行各种指令的能力。该数据集包含各种类型的指令,例如文本生成、问答、翻译等,以增强模型的通用性和实用性。

其中开放域的CoT数据是相对比较难生成的。正是因为很多开放的场景中,我们很难量化模型的回答准确性或者步骤的准确性,所以很难复现一些数学任务、代码任务等的方法。

本文结合蒙特卡洛树搜索大语言模型来扩展解决方案空间,并生成用于开放域推理任务的CoT数据集。下面将逐步解释文中提到的关键概念及其应用。

1. MCTS框架与推理状态

在MCTS框架中,每个节点表示一个推理状态,也就是问题解决过程中的某个具体阶段。在每个节点上,模型会基于当前的推理状态做出选择。

2. 动作作为LLM的输出

MCTS的每个节点可以通过不同的“动作”来迁移到另一个状态。这里的动作是由LLM生成的输出,也就是模型根据当前推理状态生成的潜在步骤或小步骤。

3. 回合(Rollout)与奖励计算

回合(rollout)阶段,LLM会继续进行推理,直到达到一个终态(例如,生成一个完整的答案或者解决方案)。回合的主要目标是模拟推理过程,并计算每个步骤的“奖励”来评价推理路径的质量。

4. 置信度分数与奖励分数

为了解决推理过程中的不确定性和评估不同路径的优劣,本文引入了置信度分数(confidence score)来评价每个生成的令牌的可靠性。

5. 引导MCTS搜索

通过计算每个回合的奖励分数,MCTS能够有效地评估并选择更有前景的推理路径。奖励分数作为一个反馈信号,指导搜索算法向更有信心和可能准确的推理链条靠近。

6. 扩展解决方案空间

结合MCTS和LLM的策略能够显著扩展解决方案空间。MCTS通过多次模拟不同的推理路径(回合),让模型能够探索一个巨大的推理空间,并根据计算出来的置信度分数选择最有可能的路径。

除了以上MCTS的常规流程以外,Marco还引入了反思机制。这部分工作探索了通过调整粒度和引入反思机制来提高MCTS框架下推理能力的策略。主要流程包括:

动作粒度调整
反思机制
粒度选择与效率

这些策略共同扩展了模型的推理空间,增强了模型解决复杂问题时的推理能力,特别是在细节推理和自我纠错方面。

例子

这张图展示了Marco-o1-CoT左侧)和Marco-o1-MCTS (step)(右侧)在解决同一个下载时间计算问题时的表现对比。两者的主要区别在于推理粒度的不同,Marco-o1-MCTS (step)通过步骤级别的细化推理探索更广泛的解决方案空间,最终得出了正确的答案。

问题背景

Carla正在下载一个200GB的文件。通常情况下,她可以以每分钟2GB的速度下载,但下载到40%时,Windows强制安装更新,更新过程需要20分钟。更新完成后,Carla必须重新开始下载文件。我们需要计算她总共需要多少时间来下载这个文件。

左侧:Marco-o1-CoT

Marco-o1-CoT方法使用较大粒度的推理步骤来解决问题,但由于推理粒度较粗,它错过了某些重要的细节,导致推理结果不准确。

正确的推理步骤

错误的推理

输出

最终,Marco-o1-CoT得出的结论是总共需要120分钟来下载文件,但这个答案显然是错误的。

右侧:Marco-o1-MCTS (step)

Marco-o1-MCTS (step)方法将推理过程分解为更细的步骤,使模型能够更全面地探索解决方案空间,避免了漏掉重要细节,最终得出了正确的答案。

正确的推理步骤

输出

通过细化推理过程,Marco-o1-MCTS (step)得出了正确的结论:总共需要160分钟来下载整个文件。







欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5