当前位置: 首页 > news >正文

Honeybee Locality-enhanced Projector for Multimodal LLM

Honeybee: Locality-enhanced Projector for Multimodal LLM

TL; DR:提出新的 MLLM Adapter:C-Abstractor 和 D-Abstractor,同时满足压缩 token 个数和保持空间信息两点要求,整体性能也更进一步。

导语

目前的 MLLM 大多是 Visual Encoder + LLM + Adapter(Projector) 的形式,其中 Visual Encoder 和 LLM 都是结构确定且预训练好的,因此,Adapter 的结构设计和训练是 MLLM 能否成功的关键。Adapter 负责将 Viasual Encoder 提取到的视觉特征转换为 LLM 可以接收的视觉 tokens,是连接二者的桥梁。目前,主流的 Adapter 结构有三种:1. LLaVA 中的 MLP;2. Flamingo 中的 Perceiver Resampler;3. BLIP 2 中的 Q-Former。本文分析了 Adapter 需要满足的两大关键点,即灵活可变的视觉 token 数量和保持视觉特征局部 context 的空间信息,基于此提出了一种新颖的 MLLM Adapter:C/D Abstractor。此外,还提出了一套全面的高效利用多种 Instruction 数据集的方式。最终,本文构建了一个新的 MLLM,称为 HoneyBee,取得了 SOTA 的性能。

在这里插入图片描述

作者指出,作为 LLM 和 Visual Encoder 中间的桥梁,Adapter 最好既要能支持 的视觉 token 个数,又能保持视觉特征中的空间信息。而这也正是作者认为目前已有的 Adapter 结构难以兼顾的两点。具体来说:

  • MLP 类 Adapte 简单有效,尤其是能保持视觉特征中的局部空间信息,但是其输出的视觉 token 个数却必须是与输入相同的。而由于 MLLM 中,LLM 的推理开销占绝大部分,因此 Visual Encoder 和 Adapter 本身的推理效率对整体影响并不大,反而是最终输出视觉 token 的个数对整体推理效率影响较大,因此在 Visual Encoder 输出的视觉 token 数量较多的情况下,如果不能通过 Adapter 压缩 token 个数,将对 LLM 造成很大的推理负担。
  • Resampler 和 Q-Former 类的 Adapter 结构,使用固定个数的 learnable quiries 和 cross attention 来从视觉特征中提取信息,输出视觉 token,虽然能够有效地压缩视觉 token 的个数,提高推理效率,但是却有一定的视觉信息损失。

方法

本文基于上述分析,提出了一类既可以保持图像特征空间信息,又可以压缩视觉 token 个数的 Adapter:C-Abstractor 和 D-Abstractor。

C-Abstractor

想要在压缩特征维度的同时保持局部空间信息,第一时间想到的模型结构就应该是卷积。C-Abstractor (Convolutional Abstrctor)正是一种基于卷积的 MLLM Adapter。其具体结构如下图 (a) 所示,首先经过 L L L 个残差卷积块,再经过 Adaptive AvgPool 进行下采样,然后再经过 L L L 个残差卷积块。由于卷积操作是一种滑窗滤波的形式,故而可以再保持视觉特征中空间信息的同时,结合 AvgPool 减少 token 数。

D-Abstractor

卷积的局部性归纳偏置可能会太强,因此作者还提出了一种 D-Abstractor(Deformable attention-based Abstractor)。其思路是在常规 Resampler 的基础上增强其局部性,同时保持其可变 token 个数的灵活性。具体来说,作者参考 Deformable DETR 中的 Deformable Attention,每个 learnable query 通过一个基于二维坐标的采样过程来收集视觉特征,该过程使用参考点(reference point)和采样偏移(sampling offset),聚焦于参考点附近的区域。这里本文还提出了一种手动初始化参考点的方法,使得 D-Abstractor 能够捕捉到给定图像的细粒度和全面信息。

在这里插入图片描述

实验

最重要的实验结果如下表所示,对比了 Linear、Resampler 和 C-Abstractor 的模型性能和推理速度。可以看到,在模型性能方面,Resampler 类的 Adapter 由于无法保持空间信息,其性能相比 Linear 和 C-Abs 类的 Adapter 差距较为明显,而这两者之间,也是 C-Abs 性能更好一些。推理速度方面,由于 Linear 类 Adapter 无法压缩视觉 token 个数,所以只能输出 256 个视觉 token,而 Resampler 和 C-Abs 类的 Adapter 则可以通过压缩 token 个数到 144,减少推理时间。

实验说明了 Linear 和 Resampler 两类 Adapter 各自在不可变视觉 token 个数和丢失视觉空间信息两方面的缺点。而 C-Abs 则能同时满足压缩 token 个数和保持空间信息的需求,并且性能也更进一步。

在这里插入图片描述

本文还提出了一套利用各种 Instruction 数据集的方法,配合提出的 Adapter,最终构建出了一个新的 MLLM:HoneyBee。从下表与其他 MLLM 的性能对比可以看到, HoneyBee 取得了较优的性能。

在这里插入图片描述

总结

HoneyBee 提出了两种新颖的 MLLM Adapter:C-Abstractor 和 D-Abstractor,同时满足压缩 token 个数和保持空间信息两点要求,并且性能也更进一步。

但个人感觉好像还是 Adaptive AvgPool 在发挥作用?感觉可以再对比一下 Linear + Adaptive AvgPool 的性能和推理时间。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 融资3亿美元——月之暗面:AI大模型领域的新星
  • erlang小白的学习之路--rebar3 升级
  • 回归评价指标
  • 数据中心网络设计方案-VXLAN+ l2vpn+OSPF
  • 【项目实战】C++视频共享点播系统
  • [ACP云计算]组件介绍
  • libcurl8.9.1 上传mp4文件
  • java基础概念17-static
  • 关于宠物浮毛对身体是否有害?宠物空气净化器选对告别浮毛困扰
  • 《雅思口语真经总纲1.0》话题实战训练笔记part1——6. Music
  • 海量日志数据收集监控平台应该怎么设计和实现
  • Json-JacksonUtils工具类
  • 力扣高频SQL 50题(基础版)第四十二题之1517.查找拥有有效邮箱的用户
  • 经典文献阅读之--LESS-Map(长期定位轻量级和逐渐演进的语义地图方案)
  • Socket编程TCP 基础
  • ES学习笔记(10)--ES6中的函数和数组补漏
  • iOS小技巧之UIImagePickerController实现头像选择
  • Java小白进阶笔记(3)-初级面向对象
  • Xmanager 远程桌面 CentOS 7
  • 给初学者:JavaScript 中数组操作注意点
  • 聚类分析——Kmeans
  • 浅谈Kotlin实战篇之自定义View图片圆角简单应用(一)
  • 算法之不定期更新(一)(2018-04-12)
  • Python 之网络式编程
  • ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLTr
  • #AngularJS#$sce.trustAsResourceUrl
  • #Js篇:单线程模式同步任务异步任务任务队列事件循环setTimeout() setInterval()
  • #我与Java虚拟机的故事#连载16:打开Java世界大门的钥匙
  • (编程语言界的丐帮 C#).NET MD5 HASH 哈希 加密 与JAVA 互通
  • (附源码)springboot学生选课系统 毕业设计 612555
  • (附源码)ssm高校实验室 毕业设计 800008
  • (三)Honghu Cloud云架构一定时调度平台
  • (生成器)yield与(迭代器)generator
  • (转载)Linux网络编程入门
  • .Net - 类的介绍
  • .NET Core、DNX、DNU、DNVM、MVC6学习资料
  • .Net Core/.Net6/.Net8 ,启动配置/Program.cs 配置
  • .NET/C# 判断某个类是否是泛型类型或泛型接口的子类型
  • .net2005怎么读string形的xml,不是xml文件。
  • .NET序列化 serializable,反序列化
  • .NET中两种OCR方式对比
  • [ NOI 2001 ] 食物链
  • [.net 面向对象程序设计进阶] (19) 异步(Asynchronous) 使用异步创建快速响应和可伸缩性的应用程序...
  • [3D游戏开发实践] Cocos Cyberpunk 源码解读-高中低端机性能适配策略
  • [Bug]使用gradio创建应用提示AttributeError: module ‘gradio‘ has no attribute ‘inputs‘
  • [BZOJ1053][HAOI2007]反素数ant
  • [C语言]——函数递归
  • [Day 44] 區塊鏈與人工智能的聯動應用:理論、技術與實踐
  • [EFI]DELL XPS13 9360电脑 Hackintosh 黑苹果efi引导文件
  • [Java算法分析与设计]--线性结构与顺序表(List)的实现应用
  • [Mysql-DML数据操作语句]
  • [Nginx]反向代理Node将3000端口访问转换成80端口
  • [office] Excel自带的编辑函数求和方法 #其他#媒体
  • [PHP]严格类型
  • [poj 2001]Shortest Prefixes [Trie]