查看原文
其他

联汇科技OmChat:突破长视频理解极限的多模态大模型

让你更懂AI的 PaperWeekly
2024-08-23

多模态大模型,特别是长视频理解的多模态大模型的一个主要挑战是如何高效管理和利用图像序列和视频帧的超长上下文数据。OmChat 通过多阶段的训练,使得模型支持最长达 512K 词元,表现优于所有其他开源模型。本文对 OmChat 的关键技术,以及数据集的特点进行了总结。


论文标题:
OmChat: A Recipe to Train Multimodal Language Models with Strong Long Context and Video Understanding

论文链接:

https://arxiv.org/abs/2407.04923

代码链接:

https://github.com/om-ai-lab/OmModel

扫码查看论文扫码查看代码



本文结构

本文首先对文章的核心方法进行总结,包括作者如何将模型的上下文长度拓展到 512k(渐进的预训练方式),以及作者在预训练与指令微调阶段如何选择高质量数据。最后对 OmChat 模型在各个 benchmark 上的结果进行分析和展示,以及对作者提出的 benchmark 进行介绍。最后对文章进行总结。

方法
主要特点

▲ OmChat的模型框架和训练策略


OmChat 与先前工作的不同之处在于以下几点:

统一多模态处理方式:OmChat 实现了处理各种类型视觉输入的统一方法。无论输入格式如何,OmChat 首先将输入分解为图像,然后将其输入到视觉模块中。这种系统的方法确保所有输入变化,无论是单张图像、多张图像、图像-文本交错组合还是视频帧,都处理为一致的输入。

动态视觉编码:OmChat 实施了类似 AnyRes 的动态视觉编码。通过引入这种动态视觉编码机制可以增强捕捉各种图像分辨率的细节和细微差别的能力。

主动渐进多模态预训练:从 4K 到 512K 实施渐进训练策略,逐步扩大模型的长上下文容量和能力。此外,在训练期间实施数据高质量选择是确保模型从最具信息性的相关数据样本中学习的关键步骤。

预训练与 SFT 阶段的高质量数据选择:在预训练阶段和 SFT 阶段对来自不同来源和不同形式的数据进行了筛选。首先,利用类似于 Rho-1 的方式选取高质量的多模态数据集,排除了低质量的 data point,确保图像-文本的组合是有意义的。通过平衡各个来源的数据集和实验,找到最佳的数据配比。 

渐进多模态预训练

在 projector 训练完成之后,通过多模态的预训练,将模型上下文长度依此扩展为 4K、32K、128K 到 512K,采用的方法类似于 [1], 通过将 RoPE θ 扩展到50M来调整位置编码参数。数据上,在缺乏足够长上下文数据的情况下,通过将较短的样本连接成符合预期上下文长度的样本弥补。在训练超过 128K 长度上下文的阶段,采用了 RingAttention 用于计算 QKV 注意力。

高质量多模态预训练数据选择

作者基于 Rho-1 技术提出了一个新的数据选择方法进行 pretrain 的数据选择,将其应用从仅限于语言预训练扩展到多模态领域。主要的假设如下:

“语料库中的所有词元在多模态训练中并不具有同等重要性”,多模态数据中的词元可以分为三种类型:

1. 类型1:与图像高度相关的文本:实体(如人、动物、物体)、数量、颜色、文字等。这些词元直接对应于图像信息,对多模态对齐至关重要。 

2. 类型2:与图像关系较低的文本:过渡词或从前文推断出的内容。这些词元主要用于训练 MLLM 的纯文本能力。 

3. 类型3:与图像内容冲突的文本:这些词元与图像信息不一致,可能提供误导信息,负面影响多模态对齐过程。 

作者提出了一种选择性视觉语言建模(SVLM)方法,以优先处理类型1文本并忽略类型 3 文本。 

1. SVLM 首先在高质量多模态指令微调数据上训练参考模型,然后根据参考模型的对数概率计算多模态预训练集中所有文本词元的参考损失。 

2. 选择的根据是 Rho-1 loss(词元预训练损失和参考模型损失的差),该损失如果较大那么说明该文本词元更可能是类型 3。

3. 在多模态预训练中,根据批处理中词元的损失值进行优先排序,只关注前百分位的词元用于损失计算。

高质量指令微调数据选择

与其他模型不同的是,OmChat 特别包括了使用多图像或视频数据的任务,如图像比较和视频问答。这种方法帮助模型学习理解多图像场景,以及视频帧之间的时间关系,从而增强其在多图像和视频理解方面的表现。

使用这些数据集进行微调的一个挑战是它们的大小差异。例如,OpenHermes-2.5 包含约 100 万个样本,而 InfoVQA 只有 2000 个样本。直接使用所有数据集可能导致任务种类的不平衡,因此找到最佳的数据组合方法至关重要。该研究采用了一种连续训练策略 [2] 来选择最佳的指令微调数据组合。 

如下图所示:

1. 首先根据任务的重要性手动设计每个数据集的百分比比例。 

2. 采样一个 big combination,根据设计的百分比从原始数据集中抽取组合样本。对于数据不足的数据集进行重复采样以满足所需数量。之后,将这个 big combination 分成多个部分,确保每部分保持所设计的百分比。

3. 在第一部分恒定的学习率 2e-5 进行训练,随后,从第一部分的最后一个检查点开始训练 big combination 的第二部分,使用相同的恒定学习率,使用这个过程持续进行剩余的部分。 

4. 同时,从每部分的最后一个检查点开始,在恒定阶段使用的相同数据上进行额外训练,然后在总步数的额外 10% step 内进行学习率的线性衰减。 

通过这种方式能够评估不同规模的指令微调数据集的性能,而无需反复训练前面的部分,有助于从所有指令微调数据集中选择最佳组合。

▲ 连续训练策略的示意图。黑点表示在当前数据部分使用恒定学习率保存检查点的步骤。基于每个这些检查点及其对应的数据部分,在相同数据上使用线性衰减调度器进行额外的10% step的训练,如红线所示。绿点表示用于评估该数据部分性能的检查点。


实验
单图像推理


OmChat 8B 模型在单图像推理中表现出色,超越了许多更大规模的模型,如 LLaVA-Next-Yi-34B,CogVLM-17B-Chat,Yi-VL 34B 等。
文本“大海捞针”任务

OmChat 在超长上下文的文本任务中表现出色。该任务下,模型在单一针设置下进行评估,需要从长上下文中随机插入的事实或声明中检索并回答问题。OmChat在4k 到 256k 词元范围内的上下文长度中表现出几乎完美的表现,突显了长上下文训练策略的成功和有效性。在 512k 上下文长度下观察到的轻微性能下降可能是由于模型在更短的上下文中进行微调。结合更多的长上下文数据进行微调应有助于改善此性能。



基于时序的视觉“大海捞针”任务

OmChat 在超长上下文的视频帧定位任务中依然表现出色。作者提出了一个基于时序的视觉“大海捞针”(TV Needle)的基准数据集,以评估 MLLMs 理解视频中时间视觉细节的能力。TV Needle 将针任务的概念从基于文本扩展到多模态版本。TV Needle 数据集保留了从长文档中定位“文本针”信息的原始目标,但增加了一个额外的挑战,即需要识别长视频中的视觉针,包括其时序信息。
下图展示了 OmChat、LLaVa-1.5 和 GPT-4o 的性能比较分析。值得注意的是,尽管 GPT-4o 是表现最好的,但它并未完美解决该任务。在包含 222 帧(相当于 128k 词元)的视频上,其性能显著下降,并由于 API 限制无法处理 444 帧(256k 词元),无法在更长的上下文长度进行评估。

OmChat 模型在所有输入长度和针位置上表现出一致且出色的表现,显著超过了随机基线和 LLaVa-1.5。作者将这种强大的长视频理解能力归功于渐进训练策略,该策略逐步使模型具备了长上下文处理能力。



多图像和视频基准测试

OmChat 在传统的多图像和视频基准测试领先于现有模型。首先,与在单图像任务上训练的模型相比,如 LLaVa-1.5 和 Qwen-VL-Chat,OmChat 在所有基准测试中表现出色,平均得分高出 10 分以上。此外,与最新的多图像模型如 Mantis 和 VILA 相比,OmChat 仍表现优异,这可能归功于精心设计的多图像和视频数据格式。 

此外,与闭源模型 GPT-4V 相比,OmChat 在 MVBench 上的得分更高,这需要强大的视频时序理解能力。
消融实验与分析

▲ 五种不同的数据格式(标记为F0到F4)用于处理多图像和视频数据。符号<im_start>和<im_end>是用作图像分隔符的特殊词元。术语“image/frame”表示在多图像数据中使用文本“image”作为分隔提示,在视频数据中使用文本提示“frame”。


多图输入格式对结果的影响。实验中测试了五种输入格式(F0 到 F4),并添加了一个额外的视频指令数据集用于格式 F4。 

1. 格式 F0:简单地将所有图像词元连接在一起,尽管这种方法简单,仍然在多图像和视频基准测试中表现优于其他单图像模型。 

2. 格式 F3 和 F4:使用文本提示“image {i}”和特殊词元<im_start>和<im _end>作为图像分隔符,这在多图像场景中非常有效。 

3. 格式 F4:在所有基准测试中表现最佳,尤其在语义多图像任务(如 Mantis-Eval 和 Q-Bench)中表现更好。对于时间视频任务(如 MileBench 和MVBench),使用文本提示“frame {i}”也获得了高分。 

数据选择消融实验:从 10M 词元数据部分增加到 20M 词元数据部分,总平均得分有所提高,表明从每个数据集中增加样本有助于提高模型性能。然而,从 40M 到 80M 词元的数据部分,总平均得分下降。对每个基准得分的详细分析表明,下降主要出现在纯文本基准上,这可能是由于在多模态任务上的训练步数过多所致。

相反,多模态得分在从 40M 到 80M 词元的数据部分中仅略有增加。因此,考虑到多模态和纯文本能力之间的权衡,最终选择了 20M 词元的数据部分作为最佳指令微调数据组合。

▲ 使用连续训练策略对不同数据部分训练模型的评估结果。数据部分的大小是根据微调数据集中答案的词元总数确定的。总平均得分涵盖了文本基准和多模态基准的性能指标。


可视化结果:如上图所示,OmChat 模型在与其他强大的多模态大语言模型(MLLMs)的比较中表现出色。特别体现在以下方面:预测视频中的未来动作、基于常识做出判断,以及比较连续图像的视觉特征。

▲ OmChat与其他模型的可视化结果比较



总结

本文介绍了 OmChat,这是一种旨在处理长上下文和视频理解任务的多模态模型。OmChat 的主动渐进多模态预训练策略结合高质量的监督微调数据集,并支持任意方面的高图像分辨率,确保其在各种基准测试中表现出色。OmChat 在处理多图像和视频任务方面表现优异,能够有效管理复杂的视觉数据,并支持高达 512K 词元的上下文长度。

参考文献

[1] World model on million-length video and language with blockwise ringattention 

[2] Minicpm: Unveiling the potential of small language models with scalable training strategies


更多阅读



#投 稿 通 道#

 让你的文字被更多人看到 



如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。


总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 


PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。


📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算


📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿


△长按添加PaperWeekly小编



🔍


现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧



·
·
·


继续滑动看下一个
PaperWeekly
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存