EAGLE——探索混合编码器的多模态大型语言模型的设计空间

news2024/11/15 10:52:07

概述

准确解释复杂视觉信息的能力是多模态大型语言模型 (MLLM) 的关键重点。最近的研究表明,增强的视觉感知可显著减少幻觉并提高分辨率敏感任务(例如光学字符识别和文档分析)的性能。最近的几种 MLLM 通过利用视觉编码器的混合来实现这一点。尽管它们取得了成功,但缺乏系统的比较和详细的消融研究来解决关键方面,例如专家选择和多位视觉专家的整合。本文对使用视觉编码器和分辨率的混合的 MLLM 的设计空间进行了广泛的探索,Eagle 框架试图探索使用编码器混合的多模态大型语言模型的设计空间。研究结果揭示了各种现有策略共同的几个基本原则,从而导致了一种简化而有效的设计方法。Eagle 发现,简单地将一组互补视觉编码器中的视觉标记连接起来与更复杂的混合架构或策略一样有效。此外,Eagle 引入了预对齐来弥合以视觉为中心的编码器和语言标记之间的差距,从而增强了模型的一致性。由此产生的 MLLM 系列 Eagle 在主要 MLLM 基准测试中超越了其他领先的开源模型。

Eagle 的工作与多模态大型语言模型 (MLLM) 的总体架构设计有关。除了前面提到的代表性开源研究之外,其他值得注意的 MLLM 系列包括但不限于 MiniGPT-4、Lynx、Otter、QwenVL、CogVLM、VILA、GPT-4V、Gemini 和 Llama 3.1。根据视觉信号如何集成到语言模型中,MLLM 可以大致分为“跨模态注意”模型和“前缀调整”模型。前者使用跨模态注意将视觉信息注入 LLM 的不同层,而后者将视觉标记视为语言标记序列的一部分并直接将其附加到文本嵌入中。Eagle 的模型属于前缀调整系列,遵循 LLaVA 风格的多模态架构。考虑到 MLLM 是一个快速发展的领域,Eagle 建议参考更详细的研究和调查以获得进一步的见解。

Eagle 的工作与专注于改进 MLLM 的视觉编码器设计的研究密切相关。早期的工作通常采用在视觉语言对齐任务上预先训练的视觉编码器,例如 CLIP 和 EVA-CLIP。更强大的视觉编码器(例如 SigLIP 和 InternVL)已被提出,以通过更好的设计、更大的模型尺寸和更有效的训练配方来增强视觉语言任务。由于模型通常在低分辨率图像上进行预先训练,并且可能缺乏编码细粒度细节的能力,因此经常执行更高分辨率的自适应以提高 MLLM 输入分辨率。除了更高分辨率的自适应之外,LLaVA-NeXT、LLaVA-UHD、Monkey、InternLM-XComposer 和 InternVL 等模型使用平铺或自适应平铺来处理高分辨率输入,其中图像被分成较低分辨率的块并单独处理。虽然通过引入额外的视觉专家可以处理更高分辨率,但这种方法与平铺技术略有不同,尽管两者都兼容并且可以结合使用。

使用混合编码器探索多模态 LLM 的设计空间

大型语言模型 (LLM) 的成功引发了人们对实现视觉感知能力的极大兴趣,让它们能够在现实世界中观察、理解和推理。这些模型的核心 多模态大型语言模型 (MLLM)是一种典型的设计,其中图像由视觉编码器转换为一系列视觉标记并附加文本嵌入。CLIP 通常被选为视觉编码器,因为它的视觉表示通过对图像-文本对进行预训练与文本空间对齐。根据架构、训练配方和将视觉标记注入语言模型的方式,MLLM 的著名系列包括 Flamingo、BLIP、PaLI、PaLM-E 和 LLaVA。由于预训练视觉编码器和 LLM 序列长度的限制,大多数这些模型都保持相对较低的输入分辨率。Eagle 的工作与使用多个视觉编码器来改善感知的模型密切相关。Mini-Gemini 和 LLaVA-HR 建议将高分辨率视觉特征融合到低分辨率视觉标记中。除了分辨率问题之外,这些预训练的视觉编码器可能缺乏特定功能,例如读取文本或定位对象。为了解决这个问题,各种模型集成了在不同视觉任务上预训练的视觉编码器,以增强视觉编码器的功能。

例如,Mousi 和 Brave 等模型通过沿通道或标记方向连接来融合来自不同视觉编码器的视觉标记。RADIO 引入了多教师蒸馏方法,将不同视觉编码器的能力统一到单个模型中。MoAI、IVE 和 Prismer 进一步使用视觉专家的输出(例如 OCR、检测或深度估计)来补充 MLLM 生成答案的附加信息。MoVA 设计了一个路由网络,根据给定的图像和指令分配最佳视觉模型。

最近的研究表明,更强大的视觉编码器设计对于减少 MLLM 幻觉 并提高光学字符识别 (OCR) 等分辨率敏感任务的性能。一些研究侧重于增强视觉编码器的能力,要么通过扩大预训练数据和参数,要么通过将图像划分为低分辨率块。然而,这些方法通常会带来大量的训练资源需求。一种有效而强大的策略是混合使用不同任务和输入分辨率进行预训练的视觉编码器,要么通过将更高分辨率的编码器与 CLIP 编码器融合,依次附加来自不同编码器的特征,要么采用更复杂的融合和路由策略来最大限度地发挥不同编码器的优势。这种“视觉专家混合”方法已被证明是有效的,尽管对其设计空间的详细研究和严格的烧蚀仍然缺乏,这促使 Eagle 重新审视这一领域。关键问题仍然存在:选择哪种视觉编码器组合,如何融合不同的专家,以及如何使用更多视觉编码器调整训练策略。

为了解决这些问题,Eagle 系统地研究了混合视觉编码器设计空间,以改进 MLLM 感知。该设计空间的探索涉及以下步骤:1) 对各种视觉编码器进行基准测试并寻找更高分辨率的适应性;2) 对视觉编码器融合策略进行“同类”比较;3) 逐步确定多个视觉编码器的最佳组合;4) 改进视觉专家预对齐和数据混合。探索步骤如下图所示。

在这里插入图片描述

Eagle 的研究涵盖了针对不同任务和分辨率进行预训练的视觉编码器的性能,例如视觉语言对齐、自监督学习、检测、分割和 OCR。Eagle 采用循环方法,从基本的 CLIP 编码器开始,每次添加一位专家,选择在每一轮中提供最佳改进的专家。

虽然 Eagle 的研究并不是第一个在 MLLM 中利用多个视觉编码器的研究,但这项系统研究在此环境下得出了几个关键发现:

  • 在 MLLM 训练期间解锁视觉编码器很重要。 这与 LLaVA 等考虑多个视觉编码器或教师的模型形成对比,在这些模型中,冻结视觉编码器是一种常见的做法。
  • 一些最近提出的融合策略并未表现出明显的优势。 相反,直接的通道连接成为一种简单但有竞争力的融合策略,可提供最佳的效率和性能。
  • 吸纳更多视觉专家可带来持续收益。 除了扩大单个编码器的规模外,这使其成为系统地增强 MLLM 感知的一条有希望的途径。当视觉编码器解锁时,改进尤其明显。
  • 预调准阶段是关键。 Eagle 引入了预对齐阶段,其中非文本对齐的视觉专家使用冻结的 LLM 进行单独微调,然后再一起进行训练。此阶段显著提高了混合视觉编码器设计下的 MLLM 性能。

方法论和架构

与之前专注于视觉编码器之间的新融合策略或架构的方法不同,Eagle 的目标是确定一种极简设计来融合不同的视觉编码器,并通过详细的消融和移除任何不必要的组件来支持。如下图所示,Eagle 首先将基本 CLIP 编码器扩展为一组具有不同架构、预训练任务和分辨率的视觉专家。然后,Eagle 会利用这些专家比较不同的融合架构和方法,并探索如何使用多个编码器优化预训练策略。

在这里插入图片描述

最后,Eagle 将所有发现结合起来,并将该方法扩展到具有不同分辨率和领域知识的多个专家视觉编码器。使用与 LLaVA-1.5 相同的预训练数据(包含 595k 个图像-文本对),Eagle 进入监督微调阶段,通过从一系列任务中收集数据并将其转换为多模态对话,包括 LLaVA-1.5、Laion-GPT4V、ShareGPT-4V、DocVQA、synDog-EN、ChartQA、DVQA 和 AI2D,产生 934k 个样本。

该模型首先使用图像-文本对进行预训练,训练一个时期,批处理大小为 256,其中整个模型处于冻结状态,并且仅更新投影层。在第二阶段,该模型在监督微调数据上进行微调,训练一个时期,批处理大小为 128。对于本次探索,Eagle 采用 Vicuna-7B 作为底层语言模型。第一阶段的学习率设置为 1e-3,第二阶段的学习率设置为 2e-5。

更强大的 CLIP 编码器

Eagle 从 CLIP 模型开始探索,因为它已成为许多 MLLM。虽然 CLIP 模型可以增强多模态任务,但它们的局限性也得到了充分证明。例如,许多现有的 MLLM 倾向于使用预先训练的 CLIP 分辨率(例如 224 × 224 或 336 × 336)作为输入分辨率。在这些情况下,编码器通常难以捕捉对分辨率敏感的任务(如 OCR 和文档理解)至关重要的细粒度细节。

在这里插入图片描述

为了处理更高的输入分辨率,一种常见的方法是平铺,即将输入图像分成多个图块并单独编码。另一种更简单的方法是直接扩大输入分辨率,并在必要时插入视觉变换器模型的位置嵌入。Eagle 将这两种方法与不同分辨率的冻结和非冻结视觉编码器进行了比较,结果包含在上表中。研究结果可以总结如下:

  • 解冻 CLIP 编码器在插值到不同于 CLIP 预训练分辨率的更高 MLLM 输入分辨率时会带来显著的改善,而当分辨率保持不变时性能不会下降。
  • 冻结 CLIP 编码器并直接使其适应更高的 MLLM 输入分辨率会严重损害性能。
  • 在所比较的策略中,使用未冻结的 CLIP 编码器直接插值到 448 × 448 在性能和成本方面被证明是有效且高效的。
  • 尽管最佳 CLIP 编码器的模型规模小得多(300M 对 6B),且预训练数据较少,但它的性能仍接近 InternVL。

值得注意的是,CLIP-448 允许 Eagle 将设置与 LLaVA-HR 和 InternVL 相匹配,其中 CLIP 编码器同样适用于采用 448 × 448 输入并输出 1024 个 patch token。为了进一步研究,Eagle 遵循了这一简单策略,即在训练期间扩大输入分辨率并解锁视觉编码器。

在这里插入图片描述

Eagle 观察到,现有的流行融合策略尽管设计各异,但大致可以分为以下几类:

  1. 序列追加:直接将来自不同主干的视觉标记附加为更长的序列。
  2. 通道连接:沿通道维度连接视觉标记而不增加序列长度。
  3. 拉瓦一高回弹率:使用混合分辨率适配器将高分辨率特征注入低分辨率视觉编码器。
  4. 迷你双子座:使用 CLIP 标记作为低分辨率查询来交叉参与位于同地本地窗口中的另一个高分辨率视觉编码器。
  5. 可变形注意力机制:在 Mini-Gemini 之上引入的新基线,其中原始窗口注意力被可变形注意力所取代。

在这里插入图片描述
我们并没有像 LLaVA 最初的预训练策略那样训练投影仪来同时对齐多个视觉专家,而是首先使用下一个标记预测监督将每个专家的表示与较小的语言模型(实践中为 Vicuna-7B)对齐。如下图所示,通过预对齐,整个训练过程包括三个步骤:1)在 SFT 数据上使用他们自己的投影仪训练每个预训练的视觉专家,同时保持语言模型不变;2)将第一步中的所有视觉专家结合起来,并使用图像文本对数据仅训练投影仪;3)在 SFT 数据上训练整个模型。

在这里插入图片描述
实验与结果

Eagle 在精心制定策略后,为该模型制定了以下原则:(1)整合更多视觉专家,并采用优化的训练方案;(2)通过直接通道连接将多个视觉专家组合在一起;(3)通过预对齐分别对视觉专家进行预训练。在本节中,为了进一步展示 Eagle 模型的优势,我们将加入额外的训练数据,并将 Eagle 与当前最先进的 MLLM 在各种任务中进行比较。Eagle 使用 Vicuna-v1.5-7B、Llama3-8B 和 Vicuna-v1.5-13B 作为语言模型。对于视觉编码器,根据第 2.6 节中的结果,Eagle 模型表示为 Eagle-X4,其中包括四个视觉编码器:CLIP、ConvNeXt、Pix2Struct 和 EVA-02,以及 Eagle-X5,其中包括一个额外的 SAM 视觉编码器。

视觉问答任务

Eagle 在三个视觉问答 (VQA) 基准(包括 GQA、VQAv2 和 VizWiz)上比较了该模型系列。如下表所示,Eagle-X5 在 GQA 和 VQAv2 上实现了最佳性能,凸显了加入更多视觉专家的优势。
在这里插入图片描述

OCR 和图表理解任务

为了评估 Eagle 的 OCR、文档和图表理解能力,我们在 OCRBench、TextVQA 和 ChartQA 上对该模型进行了基准测试。如上表所示,得益于 Eagle 的高分辨率架构和不同视觉编码器的集成,Eagle 在 TextVQA 上的表现明显优于竞争对手。值得注意的是,Eagle 保持了简单的设计,最多支持 1024 个 token,而无需对图像进行复杂的图块分解。

下图为OCR与文档理解的案例,通过高分辨率适配,以及更多视觉专家的加入,Eagle可以识别图片中的细小文字,并根据用户的指令精准提取信息。

在这里插入图片描述
为了更好地理解引入在其他视觉任务上经过预训练的专家的好处,下图直观地展示了仅使用 ConvNeXt 和 CLIP 视觉编码器的模型的结果,并与 Eagle-X5 的结果进行了比较。借助全套视觉编码器,该模型成功纠正了错误,这表明即使配备了在视觉语言对齐上经过预训练的高分辨率视觉编码器,通过集成在其他视觉任务上经过预训练的视觉专家,Eagle 的功能也会得到进一步增强。

在这里插入图片描述

多模态基准评估

Eagle 在七个 MLLM 基准上进行评估,以从不同角度展示其功能,包括 MME、MMBench、SEED、MathVista、MMMU、ScienceQA 和 POPE。具体来说,MME、MMBench 和 SEED 评估涉及推理、识别、知识和 OCR 的各种实际任务的整体性能。MMMU 专注于需要大学水平知识的不同领域的挑战性问题。POPE 评估 MLLM 的视觉幻觉。此评估中使用的指标遵循这些基准的默认设置。Eagle 报告 MME 的感知分数、MMBench 的 en_dev 分割、SEED 的图像分割、MathVista 的测试迷你分割、MMMU 的 val 分割、POPE 的 F1 分数和 ScienceQA 的图像分数,确保与其他模型报告的分数保持一致。

在这里插入图片描述

总结

在本文中,我们讨论了 Eagle,这是对将视觉编码器集成到多模态大型语言模型中的设计空间的深入分析。与之前专注于设计新颖的融合范式的作品不同,Eagle 发现系统性的设计选择很重要,并发现了一系列有用的技术。Eagle 一步步优化了单个视觉编码器的训练配方,确定了一种可扩展且高效的融合方法,并逐渐将视觉编码器与不同的领域知识结合起来。结果强调了基本设计空间考虑的重要性。

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

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

相关文章

科研绘图系列:R语言ggplot2画热图(heatmap)

文章目录 介绍加载R包导入数据数据预处理画图导出数据系统信息介绍 热图(Heatmap)是一种数据可视化技术,它通过颜色的变化来表示数据的大小或者密度。热图通常用于展示两个变量之间的关系,或者在二维空间上展示数据的分布情况。以下是热图可以表示的一些内容: 数据分布:…

网络原理 HTTP与HTTPS协议

博主主页: 码农派大星. 数据结构专栏:Java数据结构 数据库专栏:MySQL数据库 JavaEE专栏:JavaEE 关注博主带你了解更多计算机网络知识 目录 1.HTTP概念 2.HTTP报文格式 3.HTTP请求 1.首行 1.1URL 1.2 GET⽅法 1.3 POST⽅法 1.4 其他⽅法 2.请求头(head…

JVM面试问题集

什么是JVM? 了解过字节码文件的组成吗? 说一下运行时数据区 哪些区域会出现内存溢出,会有什么现象? JM在JDK6-8之间在内存区域上有什么不同 类的生命周期 什么是类加载器 什么是双亲委派机制 打破双亲委派机制 Tomcat的自定义类加载器

【网络通信基础与实践番外一】多图预警之图解UDP和TCP前置知识

参考大佬的文章https://www.cnblogs.com/cxuanBlog/p/14059379.html 一、宏观架构中的传输层 在计算机中,任何一个可以交换信息的介质都可以称为端系统。计算机网络的运输层则负责把报文从一端运输到另一端,运输层实现了让两个互不相关的主机进行了逻辑…

Kafka-Manager安装及操作

文章目录 一、kafka-manager介绍二、kafka-manager安装三、Kafka-Manager操作 一、kafka-manager介绍 CMAK (Cluster Manager for Apache Kafka, previously known as Kafka Manager) CMAK (previously known as Kafka Manager) is a tool for managing Apache Kafka cluster…

STM32篇:开发环境安装

编程语言:C语言 需要安装的软件有两个:Keil5 和 STM32CubeMX 一.Keil5 的安装 使用 Keil4 写 STM32 代码其实也是可以,但需要很复杂的配置,不建议新手操作。 比较推荐 Keil5 编写 STM32 ,只需要一些简单的设置就可…

(一)Lambda-Stream流

概述 Java8的Stream使用的是函数式编程模式,它可以被用来对集合或数组进行链状流式的操作,可以更方便地让我们对集合或数组操作。 使用Stream流程: 创建流 -> 中间操作 -> 终结操作; 注:必须要有终结操作否则中间操作不生效…

hive-拉链表

目录 拉链表概述缓慢变化维拉链表定义 拉链表的实现常规拉链表历史数据每日新增数据历史数据与新增数据的合并 分区拉链表 拉链表概述 缓慢变化维 通常我们用一张维度表来维护维度信息,比如用户手机号码信息。然而随着时间的变化,某些用户信息会发生改…

7.搭建个人金融数据库之快速获取股票列表和基本信息!

前边我们提过,免费的数据一般来自于爬虫,获取难度和维护成本都比较高,其实不太适合小白用户。所以非必要情况下,我们尽量不用这种方式来获取数据。 我自己用的比较多的是tushare,一般来说有它也就够了,大…

Junit4测试报错:java.lang.NoClassDefFoundError: org/junit/runner/manipulation/Filter

原来build path 界面: Junit为Modulepath 应把Junit改为Classpath即可,如下图所示:

前端和后端的相对路径和绝对路径

1. 相对路径访问图片 test.html 位于 web/a/b/c/ 目录中&#xff1a; 若要访问 static/img/ 文件夹中的图片&#xff08;假设图片名为 image.png&#xff09;&#xff0c;相对路径应该是&#xff1a; <img src"../../../static/img/image.png" alt"Image&quo…

Java笔试面试题AI答之设计模式(3)

文章目录 11. Spring开发中的哪里使用了工厂设计模式 &#xff1f;1. BeanFactory2. 工厂方法模式3. 抽象工厂模式4. 示例说明总结 12. 什么是代理模式 &#xff1f;13. 请列举代理模式的应用场景 &#xff1f;14. 什么是原型模式 &#xff1f;15. 请简述Java中原型模式的使用方…

Mixamo动画使用技巧

1、登录Mixiamo网站 2、下载人物模型 3、找到FBX文件 选中人形骨骼 3、下载动画 4、拖拽FBX 5、注意事项 生成的FBX文件中会包含一个骨骼一个动画 如果人物有骨骼&#xff0c;则不需要&#xff0c;没有需要对应此包中的骨骼&#xff0c;骨骼不可以通用&#xff0c;动画通用 …

百度智能云API调用

植物识别API import base64 import urllib import requestsAPI_KEY "你的图像识别API_KEY" SECRET_KEY "你的图像识别SECRET_KEY"def main():url "https://aip.baidubce.com/rest/2.0/image-classify/v1/plant?access_token" get_access_t…

[spring]应用分层 及 Spring IoCDI

文章目录 一. 应用分层二. Spring IoC获取String中的对象五大 类注解1. Controller (控制器存储)2. Service&#xff08;服务存储&#xff09;3. Repository(仓库存储)4. Conponent(组件存储)5. Configuration(配置存储) 方法注解Bean定义多个对象重命名 三. Spring DI属性注入…

排序-----归并排序(递归版)

核心思想&#xff1a;假设数组前后两部分各自有序&#xff0c;然后各定义两个指针&#xff0c;谁小谁放到新开辟的数组里面&#xff0c;最后把新开辟的数组赋值给原数组就完成了。要使前后两部分有序就采用递归的方式&#xff0c;不断往下划分块&#xff0c;最后一层划分为两个…

springboot实战学习(7)(JWT令牌的组成、JWT令牌的使用与验证)

接着上篇博客的学习。上篇博客是在基本完成用户模块的注册接口的开发以及注册时的参数合法性校验的基础上&#xff0c;基本完成用户模块的登录接口的主逻辑以及提到了问题&#xff1a;"用户未登录&#xff0c;需要通过登录&#xff0c;获取到令牌进行登录认证&#xff0c;…

Unity对象池的高级写法 (Plus优化版)

唐老师关于对物体分类的OOD的写法确实十分好&#xff0c;代码也耦合度也低&#xff0c;但是我有个简单的写法同样能实现一样的效果&#xff0c;所以我就充分发挥了一下主观能动性 相较于基本功能&#xff0c;这一版做出了如下改动 1.限制了对象池最大数量&#xff0c;多出来的…

Pybullet 安装过程

Pybullet 安装过程&#xff08;windows&#xff09; 1. 安装C编译工具2. 安装Pybullet 1. 安装C编译工具 pybullet 需要C编译套件&#xff0c;直接装之前检查下&#xff0c;要不会报缺少某版本MVSC的error&#xff0c;最好的方式是直接下载visual studio&#xff0c;直接按默认…

多无人机通信(多机通信)+配置ssh服务

目录 多机通信 设备 主从机通信设置 配置从机 配置主机 测试 正式启用 MAVROS通信 多机通信 多机通信是实现机器人编队的基础&#xff0c;通过网络搭建通信链路。我们这里用中心节点网络通信&#xff0c;所有数据需有经过中心节点&#xff0c;所以&#xff0c;中心节点…