论文笔记 VideoLLM-online Online Video Large Language Model for Streaming Video
本文最后更新于:2025年4月8日 下午
论文笔记 VideoLLM-online: Online Video Large Language Model for Streaming Video
论文链接:https://arxiv.org/abs/2406.11816
项目主页:https://showlab.github.io/videollm-online/
代码链接:https://github.com/showlab/VideoLLM-online
NUS的一篇CVPR24,提出了一种新的MLLM用于在线处理流式视频的方法,具体包含新的训练目标、将offline数据转换成online数据的方法、以及一个实时推理流程。
研究动机
上图是VideoLLM-online的最终应用畅想,用户带着AR眼镜,然后背后的AI根据画面时不时地进行交谈。
实际上,作者把关键挑战归纳成了三点:
- 时序对齐:比如你想让AI描述你正在做什么,当你刚切完菜,AI就应该说“你切好了菜”,而非经过某个固定5s的窗口再回答。
- 长上下文:对于预想的AR应用,AI应该记住几十分钟甚至几小时的信息
- 实时:对于AR应用,肯定要实时
目前的牛逼模型,比如GPT-4V,你给他不断输入帧,他会说一大堆,不知道什么时候应该沉默,什么时候应该说话。所以,这篇文章引入了一个新的language modeling以外训练目标——Streaming EOS Prediction,也就是预测Streaming EOS,当模型输出EOS的时候表示它想沉默。
为了训练这个模型,作者需要大量流式对话数据,所以提出了一种将offline转换为online的数据生成方式。为了实时性,还利用key-value trick和并行化技术加速。为了评价,作者设计了多个新的指标。
方法
作者提出Video Streaming Dialogue的新任务,该任务的优化目标简单说就是两个:
- 决定当前时间点是否要说话
假设到之间是视频,然后在时刻模型应该说话。所以在视频的部分,输入的frame对应输出就应该是EOS。
- 进行Language Modeling
在后,模型应该开始说话了,这个时候就进行正常的LM。
上图展示了整体框架以及模型的训练目标,损失函数就由LM loss和Streaming Loss构成。特别地,模型输出的EOS将不会放在Ctx里,以免影响模型原本学习的知识。
数据
目前只有Ego4D narrations数据集的符合要求的online数据,对于EPIC、COIN、HowTo100M,作者提出了上图所示的生成方法。
- 准备一系列query templates,包含过去、现在、未来的问题。
- 从offline dataset中获取视频中时间段和对应描述
- 让LLM根据问题、选定的GT时间段中的时间点、以及GT描述,生成对应的回答
- 训练时,随机选择一个query,插入到某个时间点,找到对应的回答用来训练
推理
作者对于VideoLLM-online的推理阶段有三个优化:
- 由于训练时EOS出现频率太大,模型会倾向于输出EOS,所以作者设定了阈值,只有EOS的概率超过阈值才会认为输出EOS
- 在MLLM中,会使用key-value cache来保证效率
- 视觉编码器相较于LLM更小,所以作者构建了一个视觉编码器处理的FIFO队列,该队列与LLM平行处理,视频每送入0.5s就编码一次,视觉编码器无需等待LLM。这样能够减少延迟。
实验
不是很了解这个领域的数据集,所以笔者这里就略过数据集介绍了。
对于评价指标,作者设计如下:
- LM-PPL:即PPL,不过排除了EOS toekn,只关注文本部分。这个指标不能用来比较不同的LLM,只能消融。
- LG-Match:到第一个错误token为止的token比例。(不是很清楚别人是不是都这么做?感觉有点太hard了?)
- TimeDiff:预测响应距离真实响应点的距离。
- Fluency:一个dialogue中成功连续预测token数量的比例。(个人感觉也是有点hard,真的能每个token都预测对吗?)
作者也解释了由于narration text比较简单,只包含一个主语、一个动词和一个宾语,所以hard一点的指标也还能够衡量,未来工作可以针对这类评测提出新指标。
消融实验
上表(a)(c)是和interleaved范式和per-frame范式进行比较,结果发现本文这种方式训练效率高、性能也更好。(不过这种比较是否公平我不太清楚)。表(b)则发现过多的EOS只需要稍微考虑,不需要换损失函数,,换了反而性能能下降很多。
其他实验不是很清楚数据集,就不在这写了 。
结论
这篇论文整体还是非常有趣的,在我看来是提出了一个和视频协同的LLM,并且通过数据,该LLM会学习什么时候闭嘴,这一点比较有趣,期待能否将这种范式扩展到其他应用上。
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!