推理模型专题 | 开源类O1:Marco-o1技术全面解读

ops/2025/1/21 1:27:44/
  • 引言

  • 简介

  • Marco推理数据集

  • 通过MCTS扩展解空间

    • 前置知识:蒙特卡罗树搜索(MCTS)

    • MCTS扩展解空间

  • 推理行动策略

    • 行动选择

    • 思考后的反思

  • 实验

    • 设置

    • 主要结果

    • 翻译任务案例研究

  • 总结

0. 引言

小伙伴们好,我是《小窗幽记机器学习》的小编卖铁观音的柯南。

OpenAI的o1模型的出现:

OpenAI o1三部曲:上篇-概述、

OpenAI o1三部曲:中篇-原理、

OpenAI o1三部曲:下篇-乞丐版o1-mini

引发了学术界和工业界对大规模推理模型(large reasoning models ,LRM)研究的浓厚兴趣。鉴于前文对主流O1模型进行评测:实测主流O1模型,究竟谁才是地表最强王者?揭开三足鼎立局面!,结果显示开源的Marco-o1效果不错,甚至超越部分闭源产品。为此,今天这篇小作文将全面介绍Marco-o1的技术细节。

1. 简介

阿里国际数字化商业团队(非Qwen团队)提出Marco-o1,该模型不仅关注数学、物理和编程等具有标准答案的学科领域(这些领域非常适合强化学习),还更加注重开放性解决方案。Marco-o1旨在解答一个问题:"o1模型能否有效地推广到那些缺乏明确标准且难以量化奖励的更广泛领域?"

Marco-o1采用思维链(CoT)微调、蒙特卡罗树搜索(MCTS)、反思机制和创新的推理动作策略,专门针对复杂的现实问题求解任务进行了优化。Marco-o1主要贡献包括:

  • 基于CoT数据的微调:通过对基础模型进行全参数微调,结合开源的CoT数据集和自主开发的合成数据,开发了Marco-o1-CoT模型。

  • MCTS扩展解空间:将大语言模型与MCTS整合,训练得到Marco-o1-MCTS。该模型使用模型输出置信度来指导搜索并扩展解空间。

  • 推理动作策略:引入了新型推理动作策略与反思机制(Marco-o1-MCTS Mini-Step),包括在MCTS框架内探索不同动作粒度,并提示模型自我反思,从而显著提高了模型解决复杂问题的能力。

  • 在翻译任务中的应用:首次将大推理模型(LRM)应用于机器翻译任务,探索了推理时间缩放定律在多语言和翻译领域的应用。

如图2所示,通过使用经过筛选的Open-O1 CoT数据集(OpenO1 Team在2024发布的)、Marco-o1 CoT数据集和Marco-o1指令数据集对Qwen2-7B-Instruct进行微调,Marco-o1提升了处理复杂任务的能力。MCTS利用top-k替代token的softmax对数概率得出的置信度分数,探索多个推理路径,引导模型找到最优解。此外,推理行动策略在步骤和微步骤中采用不同的行动粒度,以优化搜索效率和准确性。

图2:Marco-o1 概述

Github: https://github.com/AIDC-AI/Marco-o1

模型下载: https://huggingface.co/AIDC-AI/Marco-o1

论文地址: https://arxiv.org/abs/2411.14405

2. Marco推理数据集

为增强Marco-o1模型的推理能力,采用了监督微调(SFT)策略,使用多样化的数据集,如表1所示。

  • Open-O1 CoT数据集(经过筛选) : 通过启发式和质量筛选过程优化Open-O1项目的CoT数据集,使模型能够有效采用结构化推理模式。

  • Marco-o1 CoT数据集(合成):使用MCTS生成Marco-o1 CoT数据集,有助于形成复杂的推理路径,增强模型的推理能力。

  • Marco指令数据集:在执行复杂任务中强大的指令遵循能力将起到关键作用,为此融入了一套指令遵循数据。这种整合确保模型能够应对广泛的任务,同时显著提升其推理能力。

表1:Marco推理数据集概览

3. 通过MCTS扩展解空间

以下略章节,请前往公众号文章:推理模型专题 | 开源类O1:Marco-o1技术全面解读

前置知识:蒙特卡罗树搜索(MCTS)

MCTS扩展解空间

4. 推理行动策略

4.1 行动选择

4.2 思考后的反思

5. 实验

6. 总结

受OpenAI推出的o1模型启发,阿里国际团队研发了Marco-o1模型,以提升大语言模型的推理能力。通过结合CoT微调、MCTS算法和推理行动策略,Marco-o1显著增强了处理复杂任务的能力。在MGSM数据集上的实验表明,其推理准确率提升明显,并在翻译任务中展现出对细微语义的深入理解。该研究的主要贡献包括:全参数微调模型、融合MCTS扩展解空间、优化推理行动策略,以及首次探索大模型在翻译任务中的推理规律。

官方表示后续计划通过结果奖励建模(ORM)和过程奖励建模(PRM)来完善MCTS的奖励信号,这将减少随机性并进一步提高性能。此外,正在探索强化学习技术来微调Marco-o1的决策过程,最终增强其处理复杂现实任务的能力。


http://www.ppmy.cn/ops/151802.html

相关文章

【脑机接口数据处理】matlab读取ns6 NS6 ns5NS5格式脑电数据

文章目录 MATLAB函数openNSx详解:轻松读取NSx文件函数概述下载文件基本用法注意事项示例 结论 MATLAB函数openNSx详解:轻松读取NSx文件 在神经科学和生物医学工程领域,处理神经信号数据是一项常见且重要的任务。NSx文件格式是一种用于存储神…

idea 如何安装 github copilot

idea 如何安装 github copilot 要在 IntelliJ IDEA 中安装 GitHub Copilot,可以按照以下步骤操作: 打开 IntelliJ IDEA: 启动 IntelliJ IDEA。 打开插件管理器: 点击菜单栏中的 File。 选择 Settings(Windows/Linux)或 Prefere…

【HeadFirst系列之HeadFirst设计模式】第3天之观察者模式

前言 从今日起,陆续分享《HeadFirst设计模式》的读书笔记,希望能够帮助大家更好的理解设计模式,提高自己的编程能力。 设计模式本质上就是前人比较成熟的经验和智慧。他们遇到过相同的问题,也顺利地解决了这些问题。 跟随前人的脚…

“深入浅出”系列之数通篇:(5)TCP的三次握手和四次挥手

TCP(传输控制协议)的三次握手和四次挥手是TCP连接建立和释放的过程。 一、TCP三次握手 TCP三次握手是为了建立可靠的连接,确保客户端和服务器之间的通信能力。具体过程如下: 第一次握手:客户端向服务器发送一个带有…

Spring Boot使用WebSocket

跟其他http的控制层类似,我们需要实现一个基本的 WebSocket 服务器端点。 PlatformAsyncWebSocket.java package com.rmeservice.platform.websocket;import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component;import javax.websocket…

实战经验:使用 Python 的 PyPDF 进行 PDF 操作

文章目录 1. 为什么选择 PyPDF?2. 安装 PyPDF3. PDF 文件的合并与拆分3.1 合并 PDF 文件3.2 拆分 PDF 文件 4. 提取 PDF 文本5. 修改 PDF 元信息6. PDF 加密与解密6.1 加密 PDF6.2 解密 PDF 7. 页面旋转与裁剪7.1 旋转页面7.2 裁剪页面 8. 实战经验总结 PDF 是一种非…

使用libwebsocket技术总结

一、编译libwebsocket 1) 需要使用Cmake工具,将根目录下CMakeLists.txt打开后,需要配置openssl库的路径 2) 当前libwebsocket v3.2版本需要使用openssl v1.1.x以上版本,否则ssl安全协议支持只能选择内置ssl模块,一般都选择opens…

08、如何预防SQL注入

目录 1、分析及其存在哪些危险 2、预防SQL注入 1、分析及其存在哪些危险 原理: SQL 注入是一种常见的网络攻击手段,攻击者通过在用户输入中插入恶意的 SQL 语句,利用程序对用户输入处理不当的漏洞,使恶意 SQL 语句被数据库服务器执行。 通常发生在应用程序将用户输入直接拼…