DeepSeek-R1思路训练多模态大模型-Vision-R1开源及实现方法思路

embedded/2025/3/16 11:50:43/

刚开始琢磨使用DeepSeek-R1风格训练多模态R1模型,就看到这个工作,本文一起看看,供参考。
先提出问题,仅靠 RL 是否足以激励 MLLM 的推理能力?

结论:不能,因为如果 RL 能有效激励推理能力,Vision-R1-Zero 应该表现出生成复杂 CoT 的能力,并在基准测试中提升准确率。如下图D和E所示:

方法:从未经专门推理优化的原始 MLLM(例如 Qwen-2.5VL-7B-Instruct)开始,直接应用 RL 训练。使用与 Vision-R1 相同的奖励函数,即硬格式结果奖励函数(HFRRF):如果输出格式正确且答案正确,奖励为 1,否则为 0。训练目标是激励模型生成多模态 CoT,解决数学推理任务。

系统提示与奖励格式和Deepseek相似:

  • 系统提示:

    A conversation between User and
    Assistant. ... first thinks about
    the reasoning process ... provides
    the user with the answer. The
    reasoning process and answer are
    enclosed within <think> </think> and
    <answer> </answer> tags ...
    
  • 奖励格式:

    <think> </think><answer></answer>
    

方法架构

仅靠强化学习(RL)无法有效激励多模态大型语言模型(MLLM)的推理能力,主要原因是缺乏高质量初始数据和优化策略

因此,可以知道Vision-R1 的目标是:

  • 生成高质量的多模态推理链(CoT)数据集,无需人工标注。

  • 通过 RL 优化模型,使其生成逻辑清晰、长度适中的 CoT,避免过度思考(Overthinking)。

基于此,Vision-R1 提出了一种两阶段方法,通过冷启动初始化和渐进式 RL 训练。

Vision-R1流程

1. 冷启动初始化

冷启动初始化是通过构建一个高质量的多模态链式推理(CoT)数据集来实现的。目的是为模型提供一个初始的、高质量的推理示例,以便在后续的强化学习过程中更好地学习和改进推理能力。

冷启动初始化的核心在于如何从多模态数据中提取出高质量的推理过程。由于多模态大型语言模型(MLLMs)通常难以直接处理多模态输入,提出了一种称为“模态桥接”(Modality Bridging)的方法来实现这一目标。

整体数据生成流程

实现细节
步骤作用方法
1. 伪 CoT 生成MLLM 处理图像-文本对,生成初步推理步骤使用 Qwen-2.5VL-72B
2. 详细描述获取通过提示获取支持回答问题的详细图像描述提示模板见论文
3. CoT 提取与优化DeepSeek-R1 提取并优化 CoTDeepSeek-R1 见
4. 数据过滤规则过滤确保数据质量200K Vision-R1-cold 数据集
  1. 伪CoT生成:首先,使用现有的多模态大型语言模型(MLLM)来生成“伪CoT”(Pseudo-CoT)。具体的,输入一个图像-问题-答案对和一个提示到一个MLLM中,模型会生成一个包含图像描述和推理过程的文本。这个“伪CoT”不仅包含了图像的描述,还尝试进行初步的推理,但可能缺乏深度和复杂性。

    通过带有和不带“伪CoT”的描述生成的CoT过程比较。

  2. 文本描述生成:将生成的“伪CoT”与原始的图像-问题对以及一个新的提示一起输入到同一个MLLM中,以获取更详细的图像描述。这一步骤的目的是通过MLLM的文本生成能力,将图像中的视觉信息转化为更详细的文本描述,从而为后续的推理提供更多的上下文信息。

  3. 推理生成:将经过文本化的图像-问题对输入到一个专门的推理大型语言模型(如DeepSeek-R1)中,以生成高质量的CoT推理过程。DeepSeek-R1能够生成包含自然认知过程的推理过程,如质疑、反思和检查等。

  4. 数据过滤:从生成的CoT数据中保留那些最终答案与真实值一致的样本。使用规则进行数据过滤,去除逻辑不一致的样本,并替换一些词汇以提高语义连贯性。

冷启动数据源:

小结:冷启动初始化的主要目的是为模型提供一个高质量的起点,使得模型在后续的强化学习过程中能够更快地学习和改进其推理能力

2 渐进式思维抑制训练(PTST)

为了解决冷启动后的过度思考问题,Vision-R1 采用渐进式思维抑制训练(PTST),通过 RL 进一步优化模型的推理能力。

  • 分组相对策略优化(GRPO): GRPO 是一种 RL 算法,通过分组类似状态或动作来优化策略,提高学习效率。 详细的可参考往期《DeepSeek采用的GRPO算法数学原理及算法过程浅析》

  • 硬格式结果奖励函数(HFRRF): 奖励函数简单:如果输出格式正确且答案正确,则奖励为 1,否则为 0。

  • 分阶段训练: 训练分为多个阶段,逐步增加序列长度(如 4K、8K、16K 标记)和调整组大小(如 16、8、4)。

    • 每个阶段训练 100 步,使用 64 个 NVIDIA H800 80G GPU,约 2 天,使用 Verl 框架。

    • 与固定长度 16K、300 步训练的 Vision-R1-Long 相比,PTST 表现更好,平均长度 2057,平均准确率 55.4%。

效果与实验

出现“顿悟时刻”:

数学评测:

参考文献:Vision-R1: Incentivizing Reasoning Capability in Multimodal Large Language Models, https://arxiv.org/abs/2503.06749)
code:https://github.com/Osilly/Vision-R1


http://www.ppmy.cn/embedded/173055.html

相关文章

基于MATLAB的冰块变化仿真

如图1所示&#xff0c;边长为5cm的冰块&#xff0c;初始温度为-2℃&#xff0c;放在25℃的环境中自然冷却&#xff0c;对流换热系数为10W/mK&#xff0c;本文将通过matlab编程求解冰块融化的过程&#xff0c;计算其温度场。 图1 案例示意图 02 温度场计算 本文通过matlab分别…

RAG技术深度解析:从原理到企业级应用实战

一、RAG技术架构的核心价值 1.1 大模型时代的认知瓶颈 当前主流大语言模型(LLM)存在两大核心缺陷: 静态知识固化:GPT-4等模型的训练数据截止于2023年9月,无法实时更新行业动态领域专业知识缺失:在医疗、法律等高精度场景中,模型幻觉率高达12%-35%RAG(检索增强生成)通…

C++和C的区别

C和C语言虽然共享相似的语法&#xff0c;但在设计理念和功能特性上有显著区别。以下是两者的主要差异&#xff1a; 1. 编程范式 C&#xff1a;纯过程式编程&#xff0c;强调函数和步骤。C&#xff1a;支持多范式&#xff0c;包括面向对象编程&#xff08;类、继承、多态&…

linux Swap 分区

Swap 分区在 Linux 系统中的作用 Swap 分区&#xff08;交换分区&#xff09;相当于虚拟内存&#xff0c;在物理内存&#xff08;RAM&#xff09;不够用时&#xff0c;系统会将一部分磁盘空间作为虚拟内存使用。主要作用如下&#xff1a; 缓解内存不足&#xff1a;当物理内存…

内网渗透之内网基础知识(一)

工作组 工作组:工作组是局域网中的一个概念&#xff0c;他是长久的资源管理模式。默认情况下使 用工作组方式进行资源管理&#xff0c;将不同的 computer 按照不同的要求分类到不同的组 域:用来描述一种架构&#xff0c;和“工作组”相对应&#xff0c;由工作组升级而来的高级…

Winfrom基础知识41-60

41. 如何实现自定义控件的复杂绘制&#xff1f; 答案&#xff1a; 继承 Control 类并重写 OnPaint 方法&#xff0c;使用 Graphics 对象进行复杂绘制。 示例&#xff1a; public class CustomGraph : Control {protected override void OnPaint(PaintEventArgs e){base.OnPa…

TCP/IP原理详细解析

前言 TCP/IP是一种面向连接&#xff0c;可靠的传输&#xff0c;传输数据大小无限制的。通常情况下&#xff0c;系统与系统之间的http连接需要三次握手和四次挥手&#xff0c;这个执行过程会产生等待时间。这方面在日常开发时需要注意一下。 TCP/IP 是互联网的核心协议族&…

docker指令整理

以下是 Docker 常用指令的归纳整理&#xff0c;涵盖镜像管理、容器操作、网络配置、数据卷等核心场景&#xff0c;方便快速查阅&#xff1a; 一、镜像管理 命令说明示例docker pull拉取镜像docker pull nginx:latestdocker push推送镜像到仓库docker push my-registry.com/my-…