MovieChat:一个能会看长视频并回答问题的 AI 模型
MovieChat 集成了视觉模型和大型语言模型,以克服特定预定义视觉任务的限制。
该模型将记忆分为两种类型:近期事件的短期记忆和存储视频中随时间推移保持不变的关键信息的长期记忆。

MovieChat 旨在解决长视频中计算复杂性、内存成本和长期时间依赖性的挑战。
MovieChat的工作机制主要受到Atkinson-Shiffrin记忆模型的启发,提出了一种包括快速更新的短期记忆和紧凑的长期记忆的记忆机制。
短期记忆是为了快速更新而设计的,可以理解为对视频中最近发生的事件的记忆,随着新事件的发生而快速更新。另一方面,长期记忆更加紧凑,并且存储视频中的关键信息,这些信息在较长时间内保持不变。
在Transformer模型中,令牌被用作内存的载体。这意味着每个令牌可以被视为一个存储单元,存储视频中的某一部分信息。通过这种方式,MovieChat 在处理长视频时可以有效地管理和利用内存资源。
MovieChat 框架由视觉特征提取器、短期和长期内存缓冲区、视频投影层和大规模语言模型组成。使用预先训练的模型(例如 ViT-G/14 和 Q-former)执行视觉特征提取。这些视觉特征被提取出来,然后通过视频投影层转换成大规模语言模型可以处理的格式。

MovieChat的工作原理主要涉及以下步骤:
预处理:首先,将视频分割成一系列片段,并对每个片段进行编码以获得其特征表示。 内存管理:然后,这些特征表示被存储在内存中。当处理新的视频剪辑时,内存会被更新,旧的信息会逐渐被遗忘,而新的信息会存储在内存中。 问答:当 MovieChat 收到问题时,它会根据问题和内存中存储的信息生成答案。这个过程是使用 Transformer 模型执行的,该模型能够处理长序列并生成相应的答案。
MovieChat 可以在 24GB GPU 上处理超过 10K 帧的视频。与其他方法相比,它具有显着优势,每帧的 GPU 内存成本平均从 21.3KB/f 增加到约 200MB/f,效率提高了大约 10,000 倍。
