字节&复旦大学多模态理解大模型来了:
可以精确定位到视频中特定事件的发生时间。
比如在下面这个视频中:
狗子转身看镜头时的时间戳是多少?
什么时候用爪子推开滑板?
在这里,视频中的宝宝什么时候推起眼镜、舒展了一下身体?又是什么时候翻的书?
对于这样的问题,这个叫做LEGO的模型全都读得懂,并毫不犹豫给出正确答案。
看起来,有了这些研究成果,以后我们看视频查资料都要方便一大截咯?
可精确识别局部信息的多模态LLM来了
LEGO全称是一个语言增强的多模态grounding模型。
它主要解决的是多模态LLM跨多种模态进行细粒度理解的能力,此前业内的成果主要强调全局信息。
为了实现该目标,作者主要先从数据集下手,打造了一套用于模型训练的多模式、多粒度问答形式数据集(即将开源)。
该数据集的构建涉及两个关键流程。
一是数据集转换(Dataset Conversion)。
在这个阶段,作者的目的是构建用于模态对齐和细粒度对齐的基础多模态数据集。
由于数据集质量相对较低,主要通过转换公开数据集获得。
如下图上部分所示,他们向GPT-3.5提供任务描述以生成特定于任务的问题库,最终生成单轮对话格式的问答对。
生成的数据集会进行过滤以确保其质量。
其中对于图像模态,作者利用LLaVA-pretrain595K数据集进行模态对齐,细粒度对齐则使用特定数据集如RefCOCO。
视频模态用Valley-Pretrain-703K进行模态对齐,Charades-STA数据集用于细粒度对齐。
二是指令调整数据集生成(Instruction-tuning Dataset Generation)。
这个数据集的目的是让模型更好地理解和遵循人类指令。
如上图下部分所示,作者也选择了公开可用的数据集(Flickr30K Entities、VCR、DiDeMo等)的子集进行人工注释,以创建上下文示例。它用于指导GPT-3.5在生成指令调整数据集时遵循类似的模式。
随后,特定任务的系统提示和随机选择的示例被输入到GPT-3.5中,以生成单轮或多轮对话。最后,进行数据过滤以确保数据集质量。
下面是经过三阶段训练产生的最终数据样本示例:
下面是LEGO模型的架构:
每个模态的输入通过独立的编码器进行处理,提取特征,然后使用适配器将这些特征映射到LLM的嵌入空间。
图中演示的是视频和图像模式的两个示例,蓝色方框表示视频作为输入,而黄色方框表示图像作为输入。
由于其基于模块化设计和适配器的架构,LEGO可以无缝集成新的编码器,处理额外的模态,如点云和语音,主打一个好扩展。
最后,LEGO使用Vicuna1.5-7B作为基础语言模型,训练由三个阶段完成:多模态预训练,细粒度对齐调整和跨模式指令调整。
下面是实验评估:
图像任务中,LEGO模型和其他模型在REC任务中的性能如下表所示,可以看到它在所有数据集上都表现出了比较有竞争力的性能。
视频任务中,由于LEGO侧重对于整个视频的理解,相比VideoLLaMA、VideoChat和Valley这三个模型,性能表现相当优异:
更多能力展示
如上所说,LEGO的能力不仅在于视频定位,对图片、音频等多模态任务都很在行。
指的就是以下这些:
- 图像内容解读
在这张风景图中,它准确给出了游玩风险提示。
在这个meme图中,它也准确发现这是一个炸鸡拼成的简单地图。
- 视频内容概括简介
可以看到它能识别出非常细节的城市坐标和景点。
- 音频解析
当然,这里测试的只是一个比较简单的纯雨声短音频。
- 声音定位
给一段狗叫音频+一张狗狗奔跑的图像,它可以准确圈出声音来源在狗嘴部。
作者介绍
本文一共12位作者。
除了一作Zhaowei Li来自复旦大学,还有一位叫做的Dong Zhang的也来自这里。
其余均为字节跳动员工,通讯作者为Tao Wang。
论文地址: https://arxiv.org/abs/2401.06071