首页 > 其他分享 >【LLM】Openai-o1及o1类复现方法

【LLM】Openai-o1及o1类复现方法

时间:2025-01-18 23:29:50浏览次数:3  
标签:训练 模型 奖励 搜索 QwQ LLM Openai o1

note

  • 可以从更为本质的方案出发,通过分析强化学习的方法,看看如何实现o1,但其中的核心就是在于,如何有效地初始化策略、设计奖励函数、实现高效的搜索算法以及利用强化学习进行学习和优化。

文章目录

一、Imitate, Explore, and Self-Improve: A Reproduction Report on Slow-thinking Reasoning Systems

开源了在技术报告Imitate, Explore, and Self-Improve: A Reproduction Report on Slow-thinking Reasoning Systems中使用的训练数据和模型。

  • 训练数据包括3.9K数学领域和1K混合领域(代码、科学和自然语言谜题)的长程思维链。其中3.9K数学领域数据有2.3K来自DeepSeek-R1,1.6K来自于QwQ(经过我们的模型改写成与R1同样的格式,详情参考论文);1K混合领域数据均来自于R1。
  • 模型在选取的基准测试集达到了与o1-preview整体接近的效果。

通过使用模仿,探索,再自我改进的方式,我们发现:

  • 通过使用少量高质量的示范数据进行训练,可以有效引导长时间思考的能力。一旦建立,这种能力似乎能够自然地跨领域泛化。
  • 数学领域的示范数据特别适合提升大语言模型的长时间思考能力,而包含较长思考过程的数据在提升模型解决复杂问题的能力方面显得尤为有效。
  • 与大语言模型在快速思考模式下生成的正式回应不同,思考过程通常以灵活、非正式的方式表达,旨在引导模型走向正确的解决路径。
  • 通过探索和自我改进,可以有效增强慢思考能力,而离线学习方法的改进似乎主要发生在初始迭代中,尤其是在处理复杂任务时。
MATH-OAIAIME2024GPQA
o1-preview85.544.672.3
SKILL-2 (3.9K imitate)90.246.755.1
SKILL-2 (1.1K imitate + 1.8K explore)89.84056.1

二、QwQ-32B-Preview模型

试用链接:https://huggingface.co/spaces/Qwen/QwQ-32B-preview
模型链接:https://huggingface.co/Qwen/QwQ-32B-Preview
官方博客:https://qwenlm.github.io/zh/blog/qwq-32b-preview/

在这里插入图片描述

GPQA: 测试模型在常识问答和通用知识理解上的能力。
AIME: 检验模型对高难度数学竞赛题目的解题能力。
MATH-500: 测评模型在广泛数学领域中解决复杂问题的表现。
LiveCodeBench: 测试模型生成、调试和实现代码的编程能力。

可以看到,QwQ-32B-preview综合表现优异,并且各项能力比较均衡,没有“偏科”情况。在MATH-500测评中甚至超过了OpenAI的2个o1模型。作为一个推理模型,QwQ-32B-preview的综合表现已全面超越常规模型,如GPT-4o和Claude 3.5 Sonnet。

三、综述:Scaling of Search and Learning: A Roadmap to Reproduce o1 from Reinforcement Learning Perspective

《Scaling of Search and Learning: A Roadmap to Reproduce o1 from Reinforcement Learning Perspective》(https://arxiv.org/abs/2412.14135)
在这里插入图片描述
一个是采用强化学习这条路,所包括的四个关键组件,策略初始化、奖励设计、搜索和学习。

1. 策略初始化

一个是策略初始化,策略初始化使模型具备基本推理行为,能够有效探索复杂问题的解空间。预训练和指令微调是策略初始化的两个主要阶段。预训练通过大规模文本语料库学习基本的语言理解和推理能力;指令微调则将预训练的语言模型转化为面向任务的代理。
在这里插入图片描述

2. 奖励设计

一个是奖励设计,奖励设计为搜索和学习提供指导信号。过程奖励模型(PRM)比结果奖励模型(ORM)更适合复杂的推理任务,因为它不仅奖励最终结果,还奖励中间步骤。也可以将稀疏的结果奖励转化为密集的过程奖励。
在这里插入图片描述

3. 搜索

一个是搜索,搜索在训练和测试阶段都起着重要作用。训练时搜索生成高质量的训练数据,测试时搜索通过迭代改进模型的策略。树搜索算法如蒙特卡罗树搜索(MCTS)和束搜索(Beam Search)在生成高质量解决方案方面表现出色。
在这里插入图片描述

4. 学习

一个是学习,学习利用搜索生成的数据进行策略改进。策略梯度方法和行为克隆是两种主要的学习方法。策略梯度方法如近端策略优化(PPO)和直接策略优化(DPO)通过梯度上升更新策略,行为克隆则通过监督学习逼近专家策略。
在这里插入图片描述

四、o1类相关项目

如k0-math、skywork-o1、Deepseek-R1、QwQ和InternThinker,但这些模型尚未开源
在这里插入图片描述

  • g1可能是最早尝试重新实现o1的项目,采用的方法是提示工程。提示大型语言模型自我反思并提出多种解决方案来克隆o1的行为。
  • Thinking Claude的工作方式与g1类似,它通过更复杂和细粒度的动作提示大型语言模型,如问题分析和进度跟踪。g1和思考克洛德都能重塑大型语言模型的行为,使其类似于o1,但尚未在推理基准测试中验证的提示。
  • Open-o1提供了一个安全函数训练(SFT)数据集,其中每个回应都包含长长的上下文。但目前尚不清楚这些数据来自何处,可能来自人类专家或一个强大的大型语言模型。开放-o1发现,在的数据集上训练 llama-3-8b 和 qwen-7b 不仅能够塑造模型回应的风格以模仿o1,还能提高模型在推理基准测试上的表现。
  • o1 Journey在第一部分通过束搜索生成的树状数据被遍历,特定节点由GPT-4进行精炼,然后用于监督式微调。论文中呈现的例子突出了模型的自我反思能力,这来自于GPT-4的精炼。第1部分采用的方法可以描述为专家迭代,其中SFT应用于通过搜索生成的数据。第1部分还将o1-mini注释的PRM与数学牧羊人进行了比较。在一篇2024年的研究中,发现o1-mini的性能优于Math-Shepherd。在第二部分引入了一种截然不同的方法。第一部分侧重于强化学习,而第二部分则尝试蒸馏o1-mini。尽管o1-mini隐藏了思维链(CoT)并且只输出CoT的摘要,第二部分则尝试通过提示o1-mini来增强摘要,从而恢复隐藏的CoT。通过蒸馏,发现在AIME上Qwen-72B的性能优于o1-preview。然而,这并不意味着蒸馏使得学生模型能够超越教师模型,因为o1-mini在AIME上也超越了o1-preview。
  • Open-Reasoner的框架类似于AlphaGo,利用强化学习来提升模型性能。在测试阶段,采用蒙特卡洛树搜索(MCTS)来确定最优解。这个搜索算法仅在测试期间应用,而训练数据则是通过当前策略进行采样得到的。此外,采用了与Math-Shepherd类似的方法来训练奖励模型。
  • Slow Thinking with LLMs与o1 Journey类似,第一部分与Open-Reasoner类似,结合了强化学习和测试时搜索。但与开放式推理器不同的是,它在训练期间采用了DPO算法而不是PPO算法。在测试阶段,它还采用MCTS算法进行搜索。第2部分从QwQ和Deepseek-R1蒸馏出知识,并尝试了两种强化学习方法:DPO和SFT,使用来自拒绝采样的数据进行训练。发现,通过从QwQ和Deepseek-R1中蒸馏成千上万个例子,可以在具有挑战性的推理任务上显著提高性能,而基于蒸馏的强化学习可以带来进一步的改进。Marco-o1整合了Open-o1的数据和模型自身生成的数据,通过MCTS算法进行SFT训练。
  • Marco-o1展示了在每一步MCTS过程后提示模型进行自我反思,增强了搜索的有效性。
  • o1-coder尝试在代码生成上重新实现o1。训练一个生成器来生成测试用例以提供结果奖励。有了结果奖励,使用MCTS算法生成代码解决方案,然后用于通过SFT改进策略模型。按照Wang等人(2024c)的方法训练了一个PRM,该方法随着策略的改进而更新。

相关数据和模型资源

STILL-1: https://arxiv.org/abs/2411.11694
STILL-2: https://arxiv.org/abs/2412.09413
Github仓库(内含数据模型等相关资源): https://github.com/RUCAIBox/Slow_Thinking_with_LLMs

Reference

[1] OpenAI o1复现——清华大学提出 ReST-MCTS*
[2] OpenAI o1复现(数据蒸馏)的一点点心得
[3] 类O1复现项目数据和模型开源啦
[4] 两个值得一读的技术总结:OpenAI o1模型复现复现思想及多模态大模型用于数学推理
[5] 《A Survey of Mathematical Reasoning in the Era of Multimodal Large Language Model: Benchmark, Method & Challenges》多模态LLM在数学推理上应用:https://arxiv.org/abs/2412.11936

标签:训练,模型,奖励,搜索,QwQ,LLM,Openai,o1
From: https://blog.csdn.net/qq_35812205/article/details/144953197

相关文章

  • Agent系列(一)——利用OpenAI快速搭建简易Agent
    目录1、Agent 简介1.1Agents的核心组件1.1.1模型(Model):1.1.2工具(Tools):1.1.3编排层(OrchestrationLayer):1.2Agents的运作机制:从输入到输出 2、搭建简易的Agent 2.1模型准备2.1.1获取 api_key2.1.2获取base_url和chat_model2.2搭建Agent2.2.......
  • OpenAI 宕机思考丨Kubernetes 复杂度带来的服务发现系统的风险和应对措施
    作者:王建伟(正己)12月11日,OpenAI旗下AI聊天机器人平台ChatGPT、视频生成工具Sora及其面向开发人员的API自太平洋时间下午3点左右起发生严重中断,耗费约三个小时才顺利恢复所有服务。OpenAI在事后报告中写道,“该问题源自新部署的遥测服务,此项服务无意间压垮了Kuberne......
  • LLM大模型实践12-评估输入—分类
    简介本章聚焦评估输入任务的重要性,其对系统质量与安全性意义重大。处理多种独立指令集任务时,先对查询类型分类,再据此确定所用指令,好处众多。实现方式是定义固定类别,硬编码特定类别任务相关指令。比如构建客户服务助手,查询类型分类及指令确定尤为关键:用户要求关闭账户,二级......
  • LLM大模型实践14-处理输入-思维链推理
    语言模型在回答问题时匆忙下结论易在推理链中出错,“思维链推理”策略要求语言模型先给出相关推理步骤、深度思考后再给答案,更接近人类解题思维。此方法能减少语言模型匆忙犯错,生成更准确可靠的响应,是提升回答质量的重要策略。本章将探讨如何处理语言模型输入以生成高质量输出,......
  • 基于LLM大语言模型的知识库问答系统(FastGPT)
    FastGPT是一个基于LLM大语言模型的知识库问答系统。一、功能特点数据处理能力强:提供开箱即用的数据处理功能,支持手动输入、直接分段、LLM自动处理和CSV等多种数据导入途径,可处理PDF、WORD、Markdown和CSV等多种格式的文档,自动对文本数据进行预处理、向量化和QA分割,节省手......
  • OpenAI的AI推理模型有时会“用中文思考”,但没人能说清原因
      每周跟踪AI热点新闻动向和震撼发展想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领域的领跑者。点击订阅,与未来同行!订阅:https://......
  • Proj CJI Paper Reading: AdaPPA: Adaptive Position Pre-Fill Jailbreak Attack Appr
    AbstractBackground:目前的jailbreakmutator方式更集中在语义level,更容易被防御措施检查到本文:AdaPPA(AdaptivePositionPre-FilledJailbreakAttack)Task:adaptivepositionpre-filljailbreakattackapproachMethod:利用模型的instructionfollowing能力,先输出p......
  • Python中LLM的模型动态深度调整:早退机制
    文章目录引言早退机制的基本原理1.1早退机制的工作流程1.2退出分数的计算1.3早退机制的优点早退机制的实现2.1模型结构设计2.2早退模块的设计2.3早退决策的实现2.4训练与推理早退机制的应用场景3.1实时推理3.2边缘计算3.3自适应模型早退机制的优化与挑战4.1......
  • 划重点:OpenAI o1/o3的正确打开方式
    苹果&SpaceX前工程师BenHylak订阅 200美元/月的o1pro后,经过一天的认真尝试,发现它很差劲: 1、每次我问一个问题,都要等5分钟;2、结果看到的只是一大堆自相矛盾的官样文章;3、还有未经请求的架构图+优缺点列表。是o1真的不行吗?还是使用方式不对?重点来了,OpenAICEO山姆......
  • AI应用开发先了解这些概念:智能体、LLM、RAG、提示词工程
    什么是智能体(Agent)一种基于LLM(LargeLanguageModel)的能够感知环境、做出决策并执行行动以实现特定目标的自主系统。与传统人工智能不同,AlAgent模仿人类行为模式解决问题,通过独立思考和调用工具逐步完成给定目标,实现自主操作。通用智能体平台以Agent为核心技术驱动,......