超越GPT-4o-mini | 北大开源「国产o1」大模型,{多阶段自主推理}让小模型也能“放大招“!

01、LLaVA-o1背景简介

在这里插入图片描述
以OpenAI o1为代表的大型语言模型展示了强大的推理能力,这充分的验证了语言模型推理时间缩放的有效性。然而,视觉对于使模型能够充分理解世界并扩展其认知能力同等重要。因此,开发一个融合语言和视觉的多模态模型,同时促进其有效、系统和深入的推理,具有重要意义。
早期的开源视觉语言模型(VLM)主要采用直接预测方法,在回答问题时立即生成简短的答案。这种直接反应范式的主要局限性在于它缺乏结构化的推理过程,这使得它对需要逻辑推理的任务效率较低。近期的研究表明,结合思维链(CoT)推理可以鼓励模型逐步推理,显著提高其问答能力。然而,即使使用CoT推理,大多数VLM在推理过程中也经常产生错误或幻觉输出。
大量的研究结果表明,这些问题的一个重要原因是现有VLM中推理过程的系统性和结构化不足。具体来说,通过引用系统,该模型不生成直接的推理链,而是参与多阶段推理。另一方面,结构化是指模型能够清楚地识别它所处的推理阶段,并理解每个阶段要解决的主要任务。作者观察到,VLM经常在没有充分组织问题和可用信息的情况下发起响应。此外,它们经常偏离对结论的逻辑推理,而不是过早地提出结论并随后试图证明其合理性。鉴于语言模型会逐一生成响应,一旦引入错误的结论,模型通常会沿着有缺陷的推理路径继续。

02、LLaVA-o1算法简介

在这里插入图片描述
在这项工作中,作者介绍了LLaVA-o1,这是一种用于进行自主多阶段推理的新型VLM。与思维链提示不同,LLaVA-o1能够独立地参与总结、视觉解释、逻辑推理和结论生成的连续阶段。这种结构化方法使得LLaVA-o1能够在推理密集型任务的精度方面得到显著地提高。
为了实现这一点,作者收集了LLaVA-o1-100k数据集,整合了很多来自各种可视化问答源的样本,并提供了结构化的推理注释。此外,作者提出了一种推理时间级波束搜索方法,该方法能够实现有效的推理时间尺度。
值得注意的是,LLaVA-o1仅使用了10万个训练样本和一种简单而有效的推理时间缩放方法,它不仅在各种多模态推理基准上比其基础模型高出8.9%,而且还超过了更大甚至闭源模型的性能,如Gemini-1.5-pro、GPT-4o-mini和Llama-3.2-90B-VisionInstruct。

03、LLaVA-o1算法整体流程

在这里插入图片描述
上图展示了该算法的推理流程。利用Best-of-N搜索方法来生成N个完整响应,并从中选择一个最佳响应;句子级的束搜索为每个句子生成多个候选选项,并选择最佳选项。相比之下,作者提出的阶段级波束搜索能够为每个推理阶段(例如,摘要、标题、推理和结论)生成候选者,并在每个阶段选择最佳选项。Best-of-N搜索在粗略级别上运行,而句子级别的Beam搜索过于精细,该方法实现了最佳平衡并获得了最佳性能。具体的步骤如下所述:

  • 步骤1–在第一阶段的解决方案种采样N个样本。
  • 步骤2–随机抽取2个响应,让模型确定哪个更好,保持更好的响应。
  • 步骤3–重复N-1次,保持最佳反应。
  • 步骤4–对下一阶段的N个响应进行采样,然后重复步骤2-4,直到所有阶段都处理完毕。

04、LLaVA-o1算法实现细节

04.01-生成LLaVA-o1-100k的工作流

在这里插入图片描述
大多数现有的VQA数据集缺乏训练LLaVA-o1模型所需的详细推理过程。因此,作者收集了一个新的数据集,该数据集中整合了几个广泛使用的VQA数据集的样本,总共有99k个图像QA对(每对可能包括一轮或多轮提问)。
如上图所示,由于目前不存在可以直接产生系统、结构化推理的多模态模型,作者使用GPT-4o生成详细的推理过程,包括总结、标题、推理和结论,并将其编译成LLaVA-o1-100k数据集,作者计划后期发布该数据集,供大家一起使用。

04.02-阶段级的束搜索详解

在这里插入图片描述
作者在上图中提供了一个示例。当不应用推理时间缩放时,尽管模型生成了正确的推理步骤,但在推理过程中无法得出具体的答案。这会导致模型在结论阶段进行猜测,从而导致错误的结果。相比之下,通过推理时间缩放,模型保留了导致最终结果的推理步骤,确保了答案的正确性。

05-LLaVA-o1算法性能评估

05.01-主观效果性能评估

在这里插入图片描述
上图展示了基础的LIama-3.2-11B模型和LLaVA-o1在相同的输入问题上面的比较结果。通过观察与分析,我们可以发现:基础模型Llama-3.2-11B-VisionInstruct在推理过程中表现出明显的缺陷,在整个推理过程中出现了几个错误。相比之下,LLaVA-o1首先概述问题,解释图像中的相关信息,进行逐步推理过程,最终得出一个有充分支持的结论。

05.02-客观指标性能评估

在这里插入图片描述
上图展示了LLaVA-o1和其它模型在六个多模态推理基准上的性能表现。尽管LLaVA-o1是从Llama-3.2-11B-VisionInstruct模型(平均得分最低)微调而来的,但它的表现优于许多较大的开源模型,甚至超过一些闭源模型。
图片
在这里插入图片描述
上表展示了不同的模型在多个评估基准上面的实验结果。这里,LLaVA-o1(带直接训练)是指直接在原始VQA数据集的问答对上训练的模型,而LLaVA-o1(不带结构化标签)表示在去除结构化标签的LLaVA-o-100k数据集上训练的模型。LLaVA-o1是指在完整的LLaVA-o1-100k数据集上训练的模型,包括结构化标签。
通过观察与分析,我们可以发现:LLaVA-o1在多个基准上面都超越了其它的基线算法,这充分的证实了其有效性。
图片

如上表所示,作者在六个需要高级推理能力的基准测试中比较了LLaVA-o1与其它几个最先进的开源和闭源视觉语言模型(VLM):MMStar-R、MMBench-R、MMVet-R、MathVista、AI2D和HallusionBench。
通过观察与分析,我们可以发现:LLaVA-o1始终优于许多类似甚至更大尺寸的开源模型,如InternVL2-8B、Ovis1.5-Gemma29B、MiniCPM-V2.6-8B、Llama-3.2-90B-VisionInstruct和VILA-1.5-40B。值得注意的是,LLaVA-o1甚至超越了GPT-4o-mini和Gemini-1.5-pro等某些闭源模型,突显了该结构化推理方法的有效性。这种比较验证了该方法的优势,特别是在严重依赖推理技能的基准测试中,并强调了LLaVA-o1是推理密集型VLM任务领域的竞争模型。

06-LLaVA-o1算法效果展示

在这里插入图片描述在这里插入图片描述

07-近期线下活动

在这里插入图片描述
这是我筹办的一次线下交流活动,专注于AI&AIGC,欢迎有想法或有产品的朋友们参加,一起来面基,坐等你的到来,最后几个名额!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/61229.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Unity类银河战士恶魔城学习总结(P126 Item ToolTip物品提示)

【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili 教程源地址:https://www.udemy.com/course/2d-rpg-alexdev/ 本章节实现了把鼠标放到物品上面就会显示物品属性 UI_ItemTooltip.cs 功能实现:该脚本的核心功能是展示和隐藏物品的工具提示…

11.13机器学习_线性回归

十 集成学习方法之随机森林 机器学习中有一种大类叫集成学习(Ensemble Learning),集成学习的基本思想就是将多个分类器组合,从而实现一个预测效果更好的集成分类器。集成算法可以说从一方面验证了中国的一句老话:三个…

【机器学习】数学知识:欧式距离(Euclidean Distance)和曼哈顿距离(Manhattan Distance)

欧式距离和曼哈顿距离是两种常用的距离度量方法,用于衡量两点之间的相似性或差异性。它们在几何分析、数据挖掘、机器学习等领域有广泛应用。 1. 欧式距离 概念 欧式距离(Euclidean Distance)是最常见的直线距离度量方法,源于欧…

hydra基础知识

hydra基础知识 1、yaml的使用 1.1 基础介绍 主要是用来写配置文件 优势: 层级式可以写注释安装: pip install pyyaml1.2 语法 2、omegaconf 2.1 基础介绍 为什么需要omegaconf? omegaconf主要是对python原生的字典,列表类型的增强,通过omegaconf能够更好的处理yaml…

递归(3)----力扣40组合数2,力扣473火柴拼正方形

给定一个候选人编号的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用 一次 。 注意:解集不能包含重复的组合。 示例 1: 输入: candidates [10,1,2,7,6,1…

RPC-健康检测机制

什么是健康检测? 在真实环境中服务提供方是以一个集群的方式提供服务,这对于服务调用方来说,就是一个接口会有多个服务提供方同时提供服务,调用方在每次发起请求的时候都可以拿到一个可用的连接。 健康检测,能帮助从连…

Android WMS概览

WMS(WindowManagerService)是 Android 系统的核心服务,负责管理应用和系统的窗口,包括窗口的创建、销毁、布局、层级管理、输入事件分发以及动画显示等。它通过协调 InputManager 和 SurfaceFlinger 实现触摸事件处理和窗口渲染&a…

4.STM32之通信接口《精讲》之USART通信---实验串口发送程序

本节将进行实战,基础了解请查看第1,2,3节(Whappy) 开始背!! USART ---》全双工 异步/同步 点对点 C语言基础printf用法,这节将用到printf的重定向,来打印到串口助手上…

Kotlin return与return@forEachIndexed

Kotlin return与returnforEachIndexed fun main() {val data arrayOf(0, 1, 2, 3, 4)println("a")data.forEachIndexed { index, v ->if (v 2) {//类似while循环中的continue//跳过,继续下一个forEachIndexed迭代returnforEachIndexed}println("…

Cherno OpenGL(28 ~ 33)

批量渲染-介绍 在这里我们将在一个drawcall打包多个几何体。即 batch geometry。 我们在这里将聚焦于2d渲染,我们如何渲染一堆2d的quads或者说rectangles呢? 一种情况是比如一个2d游戏有很多个tile组成,要去渲染这些tile;另一种…

缺失值异常值的处理导入数据插值拟合工具箱

文章目录 1.构造数据2.缺失值的处理3.异常值的处理4.导入数据的注意事项5.插值拟合工具箱使用 1.构造数据 下面的这个就是生成这个正态分布的数据,这个时候我们的这个数据里面是没有这个异常的数据的,因此这个时候我们可以自己创造这个异常的数据&#…

FPGA开发流程

注:开发板:小梅哥的ACX720。本实验可直接运行在小梅哥的ACX720开发板上,后续的实验都可直接运行在小梅哥的ACX720上。 一、打开VIVADO并创建工程 1、双击VIVADO图标,打开vivado。 2、打开vivado界面打,点击有 Create …

知识库管理系统:企业数字化转型的加速器

在数字化转型的大潮中,知识库管理系统(KBMS)已成为企业提升效率和创新能力的关键工具。本文将探讨知识库管理系统的定义、企业建立知识库的必要性,以及如何快速搭建企业知识库。 知识库管理系统是什么? 知识库管理系统…

.NET桌面应用架构Demo与实战|WPF+MVVM+EFCore+IOC+DI+Code First+AutoMapper

目录 .NET桌面应用架构Demo与实战|WPFMVVMEFCoreIOCDICode FirstAutoPapper技术栈简述项目地址:功能展示项目结构项目引用1. 新建模型2. Data层,依赖EF Core,实现数据库增删改查3. Bussiness层,实现具体的业务逻辑4. Service层&am…

ReactPress vs VuePress vs RectPress

ReactPress:重塑内容管理的未来 在当今数字化时代,内容管理系统(CMS)已成为各类网站和应用的核心组成部分。ReactPress作为一款融合了现代Web开发多项先进技术的开源发布平台,正以其卓越的性能、灵活性和可扩展性&…

为以人工智能为中心的工作负载重新设计的全局控制台

MinIO 控制台多年来一直是一个不断发展的产品。每次学习时,我们都会思考如何改进交互框架中这个非常重要的部分。首先是控制台,它在推出后的一年内就被广泛采用。更具体地说,超过 10K 个组织。接下来是企业控制台。这从对象存储与其 GUI 之间…

Django5 2024全栈开发指南(三):数据库模型与ORM操作

目录 一、模型的定义二、数据迁移三、数据表关系四、数据表操作4.1 Shell工具4.2 数据新增4.3 数据修改4.4 数据删除4.5 数据查询4.6 多表查询4.7 执行SQL语句4.8 数据库事务 Django 对各种数据库提供了很好的支持,包括 PostgreSQL、MySQL、SQLite 和 Oracle&#x…

Java通过calcite实时读取kafka中的数据

引入maven依赖 <dependency> <groupId>org.apache.calcite</groupId> <artifactId>calcite-kafka</artifactId> <version>1.28.0</version> </dependency> 测试代码 import java.sql.Connection; import java.sql.DriverMan…

RDIFramework.NET CS敏捷开发框架 V6.1发布(.NET6+、Framework双引擎、全网唯一)

RDIFramework.NET C/S敏捷开发框架V6.1版本迎来重大更新与调整&#xff0c;全面重新设计业务逻辑代码&#xff0c;代码量减少一半以上&#xff0c;开发更加高效。全系统引入全新字体图标&#xff0c;整个界面焕然一新。底层引入最易上手的ORM框架SqlSugar&#xff0c;让开发更加…

TypeORM在Node.js中的高级应用

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 TypeORM在Node.js中的高级应用 TypeORM在Node.js中的高级应用 TypeORM在Node.js中的高级应用 引言 TypeORM 基本概念 1. 实体&am…