多模态大语言模型展现了强大的图像理解和推理能力。但要让它们基于当前观测来对未来事件进行预测推理仍然非常困难。
即便是当前最强大的 GPT-4V(如下图所示),也无法很好地解决这一问题。
△ GPT-4V 的错误案例
现在,华科大和上科大团队提出了一个赋予多模态大语言模型前瞻性思维的学习范式,并基于这一范式构建了多模态大语言模型 Merlin(梅林)。
Merlin(梅林)是亚瑟王传说中的一个传奇人物,以其强大的魔法和智慧而闻名于亚瑟王传说。传说中梅林拥有预见未来的能力,并对命运有着深刻的理解。
来看看它具体是如何做的?
注:人类可以根据当前观测状态来推理出即将或者接下来一段时间可能会发生的事件,我们将这一能力称为前瞻性思维。
一个简单的例子:
当你在电视上观看 NBA 球赛时,你可以根据场上不同球员的状态来判断接下来可能会出现的场景。
比如当一名进攻球员在持球突破防守人之后,我们有理由判断这名球员即将冲到篮下进行上篮或者灌篮。
再比如当持球人在三分线停下并面向篮筐时,我们则有理由预测这名球员即将进行三分射篮(当然也有可能是假动作为了晃开防守人进行突破)。
Merlin 大模型就可以进行此类预测。
方法介绍
为了探究如何赋予激发多模态大语言模型的前瞻性思维。
我们首先深入分析了人类是如何进行未来事件的预测的。
我们将人类进行未来事件的推理预测视为一个两阶段的系统。
首先一阶段我们会对当前场景进行观测,观测过程当中重点捕捉相关主体的动态线索,第二阶段我们的大脑会根据这个获取的动态线索来分析主体的行为模式(比如奔行走或者奔跑等)及行为意图,进而推理出即将可能发生的事件。
对标多模态大语言模型,我们认为第二阶段是可以较好地完成的,这得益于大语言模型强大的逻辑推理能力。
所以问题出在了第一阶段,也就是当前的多模态大语言模型难以成功捕获相关主体的动态信息,进而限制了其对于未来事件推理的能力。
得到这一结论之后,接下来我们要做就是探究如何让多模态大语言模型学会从当前观测中捕捉相关主体的动态线索信息。
为了实现这一目标,一个直接的方案就是让多模态大语言模型学习预测下一帧的全部信息(也就是以重建下一帧为优化目标)。
不过这么做一方面学习难度较大,另一方面图像或者视频序列存在大量的冗余视觉信息,这并不利于模型学会捕获对应主体的动态信息。
基于上述分析,本文提出了一个以“轨迹”这一结构化表示作为优化目标来建立过去与未来之间的动态关联。我们认为以轨迹作为优化目标有以下几点好处:
(1)轨迹作为一种高度结构化的表征具有较强的信息凝练性,能够帮助模型有效地提取出主体在连续动作中的关键动态信息,从而减少了对冗余视觉信息的学习需求,计算成本更低。
(2)轨迹可以很自然地将过去和未来关联在一起,通过学习预测主体的轨迹,多模态大语言模型必须学会精确地关注对应的主体在不同帧中的对应位置,可以极大地增强模型多图多身份 (Id) 的对齐能力。
基于这些优点,我们设计了一个新型的学习框架,它专注于从多模态输入(如图像、视频和文本)中提取和理解主体的运动轨迹并进行预测。此框架具体如下:
受到当前主流 LLM 学习范式的启发,我们也构建了一个两阶段的学习范式,分别为前瞻思维预训练(Foresight Pre-TrAIning, FPT)以及前瞻思维指令微调(Foresight Instruction-Tuning, FIT)。
在 FPT 中,我们首先会输入包含数帧图片的视觉上下文 tokens 给模型,然后我们会给予相关主体的第一帧的初始观测(初始位置,表观描述或者是动作描述),接着我们要求模型需要根据初始观测来预测出对应主体的整条轨迹。
通过学习预测整条轨迹,模型必须学会正确关注多图中的对应主体并捕捉其动态信息。
而在 FIT 中,则会加入一些相关的 user prompt 来进行关于相关主体的对话。
值得注意的是,为了在这一阶段激发模型的前瞻性思维,我们也设计了一种以“轨迹”为核心的指令交互形式,我们将其称之为轨迹思维链技术(Trajectory Chain-of-Thought,T-CoT)。
具体来说,当和模型进行对话时,我们会要求模型将提及的相关主体的轨迹一并输出(如上图所示)。
通过输出整条轨迹,强制要求模型关注多图中的对应主体,为后续的未来事件推理提供足够的动态信息。更多方法细节,请阅读论文。
数据构造
设计好了我们的学习范式之后,接下来更重要的是构建合适的数据来让模型进行学习,我们基于现在市面上开源的数据精心构建了一整套多任务学习数据,数据分布具体如下:
主要包括 Caption,Referring,Detection,Tracking,Reasoning 以及 Dialogue 数据 * 表示数据只用于指令微调阶段(FIT)。
这里梅林首次使用了由 tracking 数据构造的 FPT 数据来赋予模型轨迹感知及预测能力。
另一方面,我们也提出了精确任务及输出形式提示(Precise Definition of Task Prompt and Answer Format)技术:
通过告诉大模型具体的任务以及输出形式来避免多任务学习之间的冲突以及对通用多模态能力的损害。
我们后续的实验也表明采用这一技术可以让大模型兼顾学习多任务专有能力以及通用多模态能力。
能力展示
结合上述两个学习过程以及构建的高质量数据,我们搭建了一个全新的通用多模态大语言模型,梅林(Merlin)。
Merlin 可以支持单图或多帧图像序列的输入,可以完成包括检测,跟踪,REC,REG 等一系列任务。
同时得益于我们提出的 FPT 以及 FIT,Merlin 展现了强大基于轨迹的未来推理能力,这里我们挑一些 cases 来展示 Merlin 的能力,更多的测试结果请阅读我们的论文以及后续开放的 demo。
实验分析
为了全面评测 Merlin 的各方面能力,我们设计了一系列性能比较试验以及性质探究实验,这里我们着重挑选几个有启发性的实验来进行分享,更多实验细节,请阅读我们的论文。
1、未来推理(Future Reasoning)评测
由于当前领域内并没有成熟的可以对多模态大语言模型进行评测的 benchmark,所以本工作基于 MMBench 搭建了一套新的 Future Reasoning Benchmark。
在这一 benchmark 上,Merlin 显著超越了现有的主流多模态大模型,展现了强大的未来推理能力。
2、轨迹关联及预测评测
由于 Merlin 将基于初始观测进行相关主体轨迹预测作为预训练中的一项核心学习目标,为了更全面的评测这一学习情况,我们重点选择了 tracking 这一下游任务来进行评测。
这是由于轨迹关联是 tracking 任务中的一个核心子任务,tracking 的评测指标可以一定程度上反应大模型的多图多 id 的对齐能力。
从结果可以看到 Merlin 作为一个通用多模态大语言模型,在 tarcking 任务上甚至超越了一些专家模型,同时值得注意的是这也是多模态大语言模型首次可以执行 tracking 相关的任务。
3、幻觉评测
幻觉问题是大模型领域的一个重要研究课题,由于多模态大语言模型引入了视觉模态,由主体描述和对应的视觉信息无法准确对齐而导致的 bias 也进一步带来了更加严重的幻觉。
本文中我们在 POPE 上对 Merlin 进行了幻觉评测来评估模型的图文之间的对齐能力。如下表所示:
可以看到,Merlin 展现了强大的抗幻觉能力,显著领先当前的主流多模态大语言模型,这证明了我们提出的前瞻性思维训练范式可以增强模型的“识图”能力,让模型减少对图片内容的误识别以及图文之间的不一致问题。
4、多模态综合性能评测
Merlin 同样在当前的主流多模态大语言模型综合能力(包括 MMBench 以及 MMVet)以及视觉问答能力(包括 GQA 以及 VisWiz)评测 Benchmark 上进行了评测。
评测结果表明 Merlin 都取得了非常有竞争力的结果,展现了 Merlin 强大的通用综合能力。
5、可视化分析
为了更直观的展现 Merlin 对于动态信息线索的捕捉情况,本文也进行了一个有趣的可视化实验,对于一个具体的对话问答,我们将模型输出的轨迹坐标的 word embedding 与多帧图片的视觉 tokens 之间的注意力图进行了可视化,如下图所示:
我们可以看到,模型输出的估计坐标的 word embedding 可以准确的关注到对应帧中的对应目标主体。
这个可视化结果也进一步证明了“轨迹”是一个非常好的中间表示来帮助多模态大语言模型建立起语言描述和多帧图像对应主体之间的动态关联。
这也从另一个角度解释了为什么 Merlin 具有强大的多模态综合能力以及抗幻觉能力。
思考和总结
Merlin 这一工作向我们展示了“轨迹”这一结构化表示在帮助多模态大语言模型具备前瞻性思维中的重要作用。
从这一点出发我们可以进一步思考回归框(bounding box)以及轨迹(trajectory)究竟在多模态大语言模型的学习中究竟起到了什么样的作用 ——
是作为一种中间形式还是可以作为一种单独的学习优化目标?
另一方面现有的坐标编码是否合理,有没有什么更加适配自然语言的表示形式呢?
我想这些目前都还没有标准答案,需要各位研究者们进一步深入地探索。最后希望 Merlin 这个工作能给多模态大模型社区带来一些新的思考和认知,也欢迎大家持续关注我们的工作,多多交流。
论文: