AI多模态论文解读:LLaVA-CoT:让视觉语言模型逐步推理

本文作者:AIGCmagic社区 猫先生


 一、简 介

LLaVA-CoT引入了四个不同的阶段(摘要、标题、推理和结论),使模型能够独立进行系统化的多阶段推理,显著提高了在推理密集型任务上的准确性。

编译了LLaVA-CoT-100k数据集,整合了来自各种视觉问答来源的样本,并提供了结构化的推理注释,为训练提供了丰富的数据支持。

提出一种新的推理时阶段级束搜索方法,能够在每个阶段生成多个候选结果并选择最佳结果继续生成过程,实现了有效的推理时扩展。

通过监督微调,LLaVA-CoT不仅在广泛的推理基准上超越了其基础模型,还超过了更大且闭源的模型,如Gemini-1.5-pro、GPT-4o-mini和Llama-3.2-90B-Vision-Instruct。

图片

图1. LLaVA-CoT和其他模型在六个多模态推理基准测试中的性能。尽管LLaVA-CoT是从Llama-3.2-11B-Vision-Instruct模型中微调而来的(该模型的平均分数最低),但它胜过了许多更大的开源模型,甚至一些闭源模型


二、引 言

大语言模型在推理能力上取得了显著进步,特别是在推理时间扩展方面,如OpenAI的o1所示。然而,当前的视觉语言模型(VLMs)往往难以进行系统和结构化的推理,尤其是在处理复杂的视觉问答任务时。

本文要解决的问题是如何提升视觉语言模型(VLMs)在处理复杂视觉问答任务时的系统性结构化推理能力。

现有的VLMs在推理过程中缺乏系统性和结构性,导致在复杂推理任务中频繁出现错误和幻觉输出;如何有效地进行推理时间扩展,以应对更复杂的任务和场景。

图片

图2. 基线模型与LLaVA-CoT的比较。如图所示,基线模型Llama-3.2-11B-Vision-Instruct在推理过程中出现了明显的缺陷,多次出现错误。相比之下,LLaVA-CoT首先概述问题,从图像中解释相关信息,然后逐步进行推理过程,并最终得出一个得到充分支持的结论


三、方法概述

LLaVA-CoT(Let Vision Language Models Reason Step-by-Step),一种旨在通过多阶段推理来增强视觉语言模型(VLM)系统性和结构性推理能力的新模型。

(1)结构化推理阶段:LLaVA-CoT将答案生成过程分解为四个结构化推理阶段:总结、标题、推理和结论。每个阶段都有其独特的作用:

  • 总结阶段:模型提供问题的高层次总结,概述将要解决的问题的主要方面。

  • 标题阶段:如果存在图像,模型提供与问题相关的视觉元素的简洁概述,帮助理解多模态输入。

  • 推理阶段:基于初始总结,模型进行结构化和逻辑推理,得出初步答案。

  • 结论阶段:模型综合前面的推理,生成最终答案。

(2)数据准备和模型训练:为了训练LLaVA-CoT模型,作者构建了一个包含99k图像问答对的新数据集LLaVA-CoT-100k。该数据集通过使用GPT-4o生成详细的推理过程,并使用监督微调进行训练。具体步骤如下:

  • 使用GPT-4o生成问题和图像的总结、标题、推理和结论。

  • 过滤生成的数据以确保质量。

  • 选择Llama-3.2-11B-Vision-Instruct作为基础模型,并在LLaVA-CoT-100k数据集上进行全参数微调

图片

图3. 生成LLaVA-CoT-100k数据集过程的流程。引导GPT-4o在各个阶段生成响应,并过滤其输出以确保质量

(3)推理时间扩展:为了进一步在推理过程中增强模型的推理能力,作者提出了一种新的阶段级束搜索方法。该方法在每个推理阶段生成多个候选结果,并选择最佳结果以继续生成过程。具体步骤如下:

  • 在每个推理阶段随机采样N个响应。

  • 随机选择2个响应,让模型决定哪个更好,并保留较好的响应。

  • 重复上述步骤N-1次,保留最佳响应。

  • 重复上述过程,直到所有阶段都处理完毕。

图片

图4. 推理方法的示意图。最佳N次搜索生成N个完整响应,并从中选择最佳一个;句子级波束搜索为每个句子生成多个候选选项,并从中选择最佳一个。相比之下,我们的阶段级波束搜索为每个推理阶段(例如,摘要、标题、推理和结论)生成候选项,并在每个阶段选择最佳选项。最佳N次搜索在粗略层面上操作,而句子级波束搜索过于细致,我们的方法实现了最优平衡并取得了最佳性能


四、实验细节

数据收集:作者从多个广泛使用的视觉问答数据集中收集了样本,包括ShareGPT4V、ChartQA、A-OKVQA、AI2D、GeoQA+、ScienceQA、DocVQA、PISC和CLEVR等。

实验设计:实验在六个广泛使用的多模态推理基准上进行,包括MMStar、MMBench、MMVet、MathVista、AI2D和HallusionBench。所有评估均使用VLMEvalKit进行,以确保公平性和可重复性。

样本选择:从每个数据集中选择了一定数量的问答对,总共99k个图像问答对。

参数配置:使用Llama recipes框架进行训练,具体超参数配置包括学习率1e-5,训练轮数3,批量大小4,使用快速内核,不使用验证等。


五、实验结果分析

基准测试结果:与基础模型相比,LLaVA-CoT在一般视觉问答、数学推理、科学视觉问答和幻觉控制任务上均表现出色,平均基准得分提高了6.9%。

图片

消融研究:

  • LLaVA-CoT-100k数据集比直接使用原始数据集的问答对更有效。

  • 结构化标签对模型性能的提升至关重要,去除标签后模型性能显著下降。

  • 模型主要在需要系统性推理的任务上表现出改进,如实例推理、逻辑推理、数学和科学和技术。

推理时间扩展:阶段级束搜索方法在推理时间计算增加时表现出显著的有效性。随着候选响应数量的增加,模型性能持续提高。


推荐阅读

AI多模态核心架构五部曲:

AI多模态模型架构之模态编码器:图像编码、音频编码、视频编码

AI多模态模型架构之输入投影器:LP、MLP和Cross-Attention

AI多模态模型架构之LLM主干(1):ChatGLM系列

AI多模态模型架构之LLM主干(2):Qwen系列

AI多模态模型架构之LLM主干(3):Llama系列  

AI多模态模型架构之输出映射器:Output Projector  

AI多模态模型架构之模态生成器:Modality Generator

AI多模态实战教程:

AI多模态教程:从0到1搭建VisualGLM图文大模型案例

AI多模态教程:Mini-InternVL1.5多模态大模型实践指南

AI多模态教程:Qwen-VL升级版多模态大模型实践指南

AI多模态实战教程:面壁智能MiniCPM-V多模态大模型问答交互、llama.cpp模型量化和推理


技术交流

加入「AIGCmagic社区」群聊,一起交流讨论,涉及AI视频、AI绘画、数字人、多模态、大模型、传统深度学习、自动驾驶等多个不同方向,可私信或添加微信号:【lzz9527288】,备注不同方向邀请入群!

更多精彩内容,尽在AIGCmagic社区」,关注了解全栈式AIGC内容!

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

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

相关文章

分布式缓存redis

分布式缓存redis 1 redis单机(单节点)部署缺点 (1)数据丢失问题:redis是内存存储,服务重启可能会丢失数据 (2)并发能力问题:redis单节点(单机)部…

《C++11》nullptr介绍:从NULL说起

在C11之前,我们通常使用NULL来表示空指针。然而,NULL在C中有一些问题和限制,这就是C11引入nullptr的原因。本文将详细介绍nullptr的定义、用法和优点。 1. NULL的问题 在C中,NULL实际上是一个整数0,而不是一个真正的…

供应链数字化转型参考大型供应链系统技术架构设计方案

该文介绍了一个大型供应链系统技术架构的设计方案,包括整体设计、核心技术目录和应用案例。设计采用Choerodon微服务框架,关注海量并发、可伸缩性、安全性等方面。同时,方案符合大型企业结构的HR组织架构,支持多级组织架构和角色、…

STM32F1学习——DMA直接存储器存取

一、DMA直接存储器存取 DMA的全称是 Direct Memory Access 直接存储器存取,他可以提供外设和存储器间或存储器和存储器间的高速数据传输,无需CPU的干预。 STM32有12个DMA通道,由DMA1(7个通道组成)和DMA2(5个通道组成),STM32F103C8…

一个使用 Golang 编写的新一代网络爬虫框架,支持JS动态内容爬取

大家好,今天给大家分享一个由ProjectDiscovery组织开发的开源“下一代爬虫框架”Katana,旨在提供高效、灵活且功能丰富的网络爬取体验,适用于各种自动化管道和数据收集任务。 项目介绍 Katana 是 ProjectDiscovery 精心打造的命令行界面&…

6.2 MySQL时间和日期函数

以前我们就用过now()函数来获得系统时间,用datediff()函数来计算日期相差的天数。我们在计算工龄的时候,让两个日期相减。那么其中的这个now函数返回的就是当前的系统日期和时间。 1. 获取系统时间函数 now()函数,返回的这个日期和时间的格…

55_OpenResty开发入门

Nginx编程需要用到Lua语言,因此我们必须先学习Lua的基本语法。Nginx本身也是C语言开发,因此也允许基于Lua做拓展。多级缓存的实现离不开Nginx编程,而Nginx编程又离不开OpenResty。 1.OpenResty概述 OpenResty是一款基于NGINX和LuaJIT的Web平台。通过Lua扩展NGINX实现的可伸…

vue倒计时组件封装,根据每个循环项的倒计时是否结束添加新类名。

1.创建countdown.vue文件&#xff1a; <template><p style"font-size: 10px">{{time}}</p> </template> <script>export default{data () {return {time : ,flag : false}},mounted () {let time setInterval(() > {if (this.fla…

用 Python 处理 CSV 和 Excel 文件

&#x1f496; 欢迎来到我的博客&#xff01; 非常高兴能在这里与您相遇。在这里&#xff0c;您不仅能获得有趣的技术分享&#xff0c;还能感受到轻松愉快的氛围。无论您是编程新手&#xff0c;还是资深开发者&#xff0c;都能在这里找到属于您的知识宝藏&#xff0c;学习和成长…

vulnhub靶场【IA系列】之Tornado

前言 靶机&#xff1a;IA-Tornado&#xff0c;IP地址为192.168.10.11 攻击&#xff1a;kali&#xff0c;IP地址为192.168.10.2 都采用虚拟机&#xff0c;网卡为桥接模式 本文所用靶场、kali镜像以及相关工具&#xff0c;我放置在网盘中&#xff0c;可以复制后面链接查看 htt…

[云讷科技] 用于软件验证的仿真环境

我们使用Pursuit自动驾驶仪为各种场景设计仿真环境&#xff0c;以便用户可以在模拟环境中直接验证他们的软件&#xff0c;无需现场测试。该环境基于Gazebo引擎。 1. 工作区目录 模拟环境的工作区位于提供的U盘中的~/pursuit_space/sitl_space_pursuit中。用户可以按照用户手册…

Android string.xml中特殊字符转义

项目中要在string.xml 中显示特殊符号 空格&#xff1a; &#xff08;普通的英文半角空格但不换行&#xff09; 窄空格&#xff1a;  &#xff08;中文全角空格 &#xff08;一个中文宽度&#xff09;&#xff09; &#xff08;半个中文宽度&#xff0c;但两个空格比一个中文…

局域网共享文件夹实现两台Windows电脑之间传输文件

文章目录 1. 启用网络发现和文件共享2. 设置共享文件夹3. 记录主电脑的IP地址4. 在第二台电脑访问共享文件夹5. 故障排查6. 启用文件共享未生效方案1&#xff1a;检查服务状态方案2&#xff1a;检查防火墙设置方案3&#xff1a;检查网络类型方案4&#xff1a;使用“管理员命令提…

【Uniapp-Vue3】页面生命周期onLoad和onReady

一、onLoad函数 onLoad在页面载入时触发&#xff0c;多用于页面跳转时进行参数传递。 我们在跳转的时候传递参数name和age: 接受参数&#xff1a; import {onLoad} from "dcloudio/uni-app"; onLoad((e)>{...}) 二、onReady函数 页面生命周期函数中的onReady其…

Python uWSGI 安装配置

关于《Python uWSGI 安装配置》的文章&#xff0c;可以从以下几个方面进行阐述&#xff1a; uWSGI简介&#xff1a;uWSGI是一个Python Web服务器&#xff0c;它实现了WSGI协议、uwsgi、http等协议。在部署Django或Flask开发的Python Web项目时&#xff0c;uWSGI作为连接Nginx与…

iOS 解决两个tableView.嵌套滚动手势冲突

我们有这样一个场景&#xff0c;就是页面上有一个大的tableView&#xff0c; 每一个cell都是和屏幕一样高的&#xff0c;然后cell中还有一个可以 tableView&#xff0c;比如直播间的情形&#xff0c;这个时候如果我们拖动 cell里面的tableView滚动的话&#xff0c;如果滚动到内…

【9.2】Golang后端开发系列--Gin路由定义与实战使用

文章目录 一、Gin 框架路由的基本定义方式1. 简单路由创建2. 路由参数3. 查询参数 二、商业大项目中的路由定义和服务调用1. 路由模块化2. 路由组和中间件3. 中间件的使用4. 服务层调用5. 错误处理6. 版本控制7. 路由注册 一、Gin 框架路由的基本定义方式 1. 简单路由创建 使…

STM32 FreeRTOS移植

目录 FreeRTOS源码结构介绍 获取源码 1、 官网下载 2、 Github下载 源码结构介绍 源码整体结构 FreeRTOS文件夹结构 Source文件夹结构如下 portable文件夹结构 RVDS文件夹 MemMang文件夹 FreeRTOS在基于寄存器项目中移植步骤 目录添加源码文件 工程添加源码文件 …

【算法】回溯法

回溯法&#xff08;Backtracking&#xff09;是一种通过系统地搜索问题的解空间来找到所有可能结果或最佳解的算法设计范式。它广泛应用于解决各种组合优化问题&#xff0c;比如图的着色、数独求解、八皇后问题、旅行商问题等。 在程序中&#xff0c;回溯法通常表现为递归函数…

【ASP.NET学习】Web Forms创建Web应用

文章目录 什么是 Web Forms&#xff1f;ASP.NET Web Forms - HTML 页面用 ASP.NET 编写的 Hello RUNOOB.COM它是如何工作的&#xff1f;经典 ASP ASP.NET Web Forms - 服务器控件经典 ASP 的局限性ASP.NET - 服务器控件ASP.NET - HTML 服务器控件ASP.NET - Web 服务器控件ASP.N…