今天小编分享的科学经验:字节大模型新进展:首次引入视觉定位,实现细粒度多模态联合理解,已开源&demo可玩,欢迎阅读。
字节大模型,BuboGPT 来了。
支持文本、影像、音频三种模态,做到细粒度的多模态联合理解。
答哪指哪,什么讲了什么没讲,一目了然:
除了有 " 慧眼 ",还有 " 聪耳 "。人类都注意不到的细节 BuboGPT 能听到:
前方高能!
三模态联合理解,文字描述 + 影像定位 + 声音定位,一键搞定,准确判断声音来源:
别着急,还没完!
即使音频和影像之间没有直接关系,也可以合理描述两者之间的可能关系,看图辨音讲故事也可以:
这么一看,BuboGPT 干点活,够 " 细 " 的。
研究人员表示:
MiniGPT-4,LLaVA 和 X-LLM 等最近爆火的多模态大模型未对输入的特定部分进行基础性连接,只构建了粗粒度的映射。
而 BuboGPT 利用文本与其它模态之间丰富的信息且明确的对应关系,可以提供对视觉对象及给定模态的细粒度理解。
因此,当 BuboGPT 对影像进行描述时,能够指出图中对象的具体位置。
BuboGPT:首次将视觉连接引入 LLM
除了上面作者分享在 YouTube 的示例,研究团队在论文中也展示了 BuboGPT 玩出的各种花样。
活久见青蛙弹琴!这样的图 BuboGPT 也能准确描述吗?
一起康康回答得怎么样:
不仅能够准确描述青蛙的姿势,还知道手摸的是班卓琴?
问它图片都有哪些有趣的地方,它也能把图片背景里的东西都概括上。
BuboGPT" 眼力 + 听力 + 表达力测试 ",研究人员是这样玩的,大家伙儿先来听这段音频。
再来看看 BuboGPT 的描述怎么样:
图片上的人的性别、声音来源、图片中发生的事情,BuboGPT 都能准确理解。
效果这么好,是因为字节这次用了将视觉定位引入 LLM 的方法。
具体方法我们接着往下看。
BuboGPT 的架构是通过学习一个共享的语义空间,并进一步探索不同视觉对象和不同模态之间的细粒度关系,从而实现多模态理解。
为探索不同视觉对象和多种模态之间的细粒度关系,研究人员首先基于 SAM 构建了一个现成的视觉定位 pipeline。
这个 pipeline 由标记模块(Tagging Module)、定位模块(Grounding Module)和实体匹配模块 ( Entity-matching Module ) 三个模块组成。
流程大概是这样婶儿的:
首先,标记模块是一个预训练模型,可以生成与输入影像相关的多个文本标签。
基于 SAM 的定位模块进一步定位影像上与每个文本标签相关的语义掩模或边界框。
然后,实体匹配模块利用 LLM 的推理能力从标签和影像描述中检索匹配的实体。
研究人员就是通过这种方式,使用语言作为桥梁将视觉对象与其它模态连接起来。
为了让三种模态任意组合输入都能有不错的效果,研究人员采用了类似于 Mini-GTP4 的两阶段走训练方案:
单模态预训练和多模态指令调整。
具体而言,BuboGPT 使用了 ImageBind 作为音频编码器,BLIP-2 作为视觉编码器,以及 Vicuna 作为预训练 LLM。
在单模态预训练阶段,在大量的模态 - 文本配对数据上训练相应的模态 Q-Former 和线性投影层。
对于视觉感知,研究人员仅对影像标题生成部分进行投影层的训练,并且保持来自 BLIP2 的 Q-Former 固定。
对于音频理解,他们同时训练了 Q-Former 和音频标题生成部分。
在这两种設定下都不使用任何提示(prompt),模型仅接收相应的影像或音频作为输入,并预测相应的标题(caption)。
△不同输入的指令遵循示例
在多模态指令调整阶段,构建了一个高质量的多模态指令数据集对线性投影层进行微调,包括:
影像 - 文本:使用 MiniGPT-4 和 LLaVa 中的两个数据集进行视觉指令调优。
音频 - 文本:基于 Clotho 数据集构建了一系列表达性和描述性数据。
音频 - 影像 - 文本:基于 VGGSS 数据集构建了 < 音频,影像,文本 > 三模态指导调优数据对,并进一步引入负样本来增强模型。
值得注意的是,通过引入负样本 " 影像 - 音频对 " 进行语义匹配,BuboGPT 可以更好地对齐,多模态联合理解能力更强。
目前 BuboGPT 代码、数据集已开源,demo 也已发布啦,我们赶紧上手体验了一把。
demo 浅玩体验
BuboGPT demo 页面功能区一目了然,操作起来也非常简单,右侧可以上传图片或者音频,左侧是 BuboGPT 的回答視窗以及用户提问視窗:
上传好照片后,直接点击下方第一个按钮来上传拆分图片:
就拿一张长城照片来说,BuboGPT 拆成了这个样子,识别出了山、旅游胜地以及城墙:
当我们让它描述一下这幅图时,它的回答也比较具体,基本准确:
可以看到拆分框上的内容也有了变化,与回答的文本内容相对应。
再来一张图片,并带有一段音频,BuboGPT 也正确匹配了声音来源:
当然,它也会出现识别不成功,表述错误的情况,比如说下面这张图中并没有人,音频也只是钟声,但它的描述和图片似乎并不搭边。
感兴趣的家人赶紧亲自上手试试~~
传送门:
[ 1 ] https://bubo-gpt.github.io/
[ 2 ] https://huggingface.co/spaces/magicr/BuboGPT(demo)