秒懂视频的 AI 诞生了!KAUST 和哈佛大学研究团队提出 MiniGPT4-Video 框架,不仅能理解复杂视频,甚至还能作诗配文。
几天前,OpenAI 官方账号发布了第一支由 Sora 制作的 MV——Worldweight,引全网围观。
AI 视频,已然成为多模态 LLM 发展的大趋势。然而,除了视频生成,让 LLM 对复杂视频进行理解,也至关重要。
最近,来自 KAUST 和哈佛大学的研究人员提出了 MiniGPT4-Video—— 专为视频理解而设计的多模态大模型。
值得一提的是,MiniGPT4-Video 能够同时处理时态视觉数据和文本数据,因此善于理解视频的复杂性。比如,上传一个宝格丽的首饰宣传视频。
MiniGPT4-Video 能够为其配出标题,宣传语。
再比如,使用虚幻引擎制作的视频,新模型可以对其进行理解。
能看出这个视频使用了后期处理和特效,而不是实际拍摄出来的。
甚至,看过一簇簇花盛开的视频,MiniGPT4-video 即兴作出了超美的抒情诗。
基于 MiniGPT-v2,MiniGPT4-video 将其能力扩展到处理帧序列,以便理解视频。
MiniGPT4-video 不仅考虑了视觉内容,还纳入了文本对话,使该模型能够有效地回答涉及视觉和文本内容的查询。
实验结果显示,新方法在 MSVD、MSRVTT、TGIF 和 TVQA 基准上分别提高了 4.22%、1.13%、20.82% 和 13.1%。
接下来,一起看看 MiniGPT4-video 还能做什么?
更多演示
上传一个宝宝戴眼镜看书的视频后,MiniGPT4-video 可以理解搞笑点在哪里。
提取视频中核心要义,也不在话下。
你还可以让 MiniGPT4-Video 生成一个创意性的广告。
解说视频也是超级厉害。
MiniGPT4-Video 能能够拥有如此强大视频解读能力,究竟是怎么做到的?
技术介绍
MiniGPT-v2 通过将视觉特征转化为 LLM 空间,从而实现了对单幅图像的理解。
他的结构如下图 2 所示,由于 LLM 上下文窗口的限制,每段视频都要进行帧子采样,帧数(N)由 LLM 的上下文窗口决定。
随后,使用预先训练好的模型 EVA-CLIP,将视觉帧与文本描述对齐,然后使用线性层将其映射到大型语言模型空间。
与 MiniGPT-v2 类似,研究人员将每幅图像中每四个相邻的视觉 token 浓缩为一个 token,从而将每幅图像的 token 数减少了 75%,从 256 个减少到 64 个。
在训练过程中,研究人员会随数据集提供字幕,但在推理过程中或视频没有字幕时,研究人员会利用语音到文本模型(如 whisper)生成视频字幕。
帧字幕使用 LLM tokenizer 进行 token 化,将每个采样帧的视觉 token 和文本 token 进行连接。指令 token 被附加到输入序列的末尾,然后模型输出问题的答案。
训练流程
大规模图像-文本对预训练
在第一阶段,研究人员训练了一个线性层。
它将由视觉编码器编码的视觉特征(例如 EVACLIP )投影到 LLM 的文本空间中,并采用 captioning loss。
研究人员利用了一个结合的图像描述数据集,包括来自 LAION、概念性标题(Conceptual Captions)和 SBU 的图像,以将视觉特征与 LLM 的输入空间对齐。
大规模视频-文本对预训练
在第二阶段,研究人员使模型通过输入多帧来理解视频。
具体来说,研究人员从每个视频中抽取最多 N 帧。在此阶段,研究人员使用以下模板中的预定义提示:
<s>[INST]<Img><FrameFeature_1><Sub><Subtitle text_1>… <Img> <FrameFeature_N><Sub><Subtitle text_N><Instruction></INST>
抽取的帧数取决于每个语言模型的上下文窗口,特别是对于 Llama 2,上下文窗口是 4096 个 tokens,而 Mistral 的上下文窗口是 8192 个 tokens。
在研究人员的方法中,他们用了 64 个 tokens 表示每个图像。
因此,对于 Llama 2,研究人员指定 N=45 帧,相当于 2880 个 tokens 用于视觉内容表示。
此外,研究人员为字幕分配 1000 个 tokens,而剩余的 tokens 用于模型输出。
类似地,在 Mistral 的情况下,上下文窗口加倍,N 相应地加倍到 N=90 帧,以确保与扩展的上下文窗口兼容。
在此提示中,每个 <FrameFeature> 都由视觉主干编码的采样视频帧替换。
<Subtitle text> 代表相应帧的字幕,<Instruction > 代表研究人员预定义的指令集中随机采样的指令,包含多种形式的指令,如「简要描述这些视频」。
研究人员使用结合了 CMD 和 WebVid 的视频描述数据进行大规模视频描述训练。
视频问题解答指令微调
在这一阶段,研究人员采用与第二阶段相同的训练策略,但重点是利用高质量的视频答题数据集进行教学微调。
这一微调阶段有助于提高模型解释输入视频和生成精确回复的能力。
解释输入视频并生成相应的问题。模板与第二阶段模板与第二阶段的模板相同,但将 <Instruction> 替换为 Video-ChatGPT 数据集中提到的一般问题。
实现细节
在三个训练阶段中,研究人员保持批大小为 4,并使用 AdamW 优化器结合余弦学习率调度器,将学习率设置为 1e4。
研究人员的视觉主干是 EVA-CLIP,进行了权重冻结。
值得注意的是,研究人员训练了线性投影层,并使用 LoRA 对语言模型进行了高效微调。
具体来说,研究人员微调了 Wq 和 Wv 组件,排名 (r) 为 64,LoRA-alpha 值为 16。整个模型以一致的 224×224 像素的图像分辨率进行训练,确保了所有阶段的统一性。
多项基准,刷新 SOTA
为了对最新提出的架构进行全面评估,研究人员评估了三种基准类型的性能:Video-ChatGPT、Open-ended Questions 和 Multiple-Choice Questions (MCQs)。
表 1 所示的 VideoChatGPT 基准测试中,最新模型在没有字幕的情况下与之前的方法不相上下。
当研究人员将字幕作为输入时,模型在所有五个维度上都取得了 SOTA。
这验证了研究人员的模型可以利用字幕信息,来提高视频的理解。
在另外两个基准测试评估中,MiniGPT4-Video 明显优于最新的 SOTA 方法。
它在 MSVD、MSRVTT、TGIF 和 TVQA 基准上分别实现了 4.22%、1.13%、20.82% 和 13.1% 的显着改进。
带字幕和不带字幕的结果进一步表明,将字幕信息与视觉提示集成可显著提高性能,TVQA 的准确率从 33.9% 提高到 54.21%。
定性结果
更多的定性结果,如下图所示。
最后,研究人员还将 MiniGPT4-video 与 VideoChatGPT 相比较。
可以看出,针对一个问题,最新方法的回复更加全面。
总之,MiniGPT4-video 有效地融合了视频领域内的视觉和对话理解,为视频问答提供了一个 引人注目的解决方案。
不过,缺陷在于上下文窗口限制。
具体来说,当前版本要求 Llama 2 视频长度为 45 帧(不到一分半),Mistral 版本的视频长度为 90 帧(不到三分钟)。
因此,下一步研究将模型能力扩展到处理更长视频的能力。
参考资料:
-
https://arxiv.org/pdf/2404.03413.pdf