Valley: Video Assistant with Large Language model Enhanced abilitY
大家好,我是 卷了又没卷,薛定谔的卷的 AI 算法工程师「陈城南」~ 负责某大厂的算法工程师,带来最新的前沿 AI 常识和工具,包含 AI 相干技术、ChatGPT、AI 绘图等, 欢送 大家交换~。
近期基于 LLaMA 微调的模型有很多,Alpaca,Vicuna 都是基于 ChatGPT 等数据进行文本场景指令微调,LLaVA 也应用图文对数据进行了图文场景多模态能力的扩大(这几个模型往期文章都有波及,不分明 / 感兴趣的能够看)。
而本文提到的 Valley 则是字节公布的 视频场景多模态指令微调 LLaMA 模型。
其中这几个指令微调版本的模型都大差不差,次要还是数据与训练的差别。本文形容 Valley 当然对标的是其相似模型 LLaVA,原文 introduction 局部翻译批改后如下:
在 Valley 中,咱们遵循 LLaVA 的先预训练而后指令调整的流程,采纳一个简略的投影模块作为视频、图像和语言模式之间的桥梁。咱们采纳 CLIP (Radford et al., 2021) 的 ViT-L/14 (Dosovitskiy et al., 2021) 作为视觉编码器(与 LLaVA 统一),而后提出一种时空池化操作来对立视频和图像输出的视觉编码(模型差别点)。通过更新投影模块进行预训练,以使对立的视觉嵌入与 LLM 保持一致,其中 Stable-Vicuna (Chiang et al., 2023) 因为其多语言能力而成为抉择的 LLM。此外,咱们引入了从各种视频工作中收集的多模态指令跟踪数据集,包含视频问答、长形容、随便关系推理和动作辨认。通过指令微调,最终提出了咱们的视频了解谷多模态根底模型。作为人工智能助手,咱们预计 Valley 将在各种视频相干工作中失去宽泛的利用,并帮忙用户以相似于在事实世界中与人聊天的形式更好地了解和解释简单的视频。
联合论文内容,我对 Valley 的奉献作了概括:
- 模型:基于 LLaVA 的办法,增加了时空池化模块应答视频(多帧)场景,将 LLaVA 从单图扩大为多图(动静长度),同时将 LLaVA 的 Vicuna 语言模型换为 Stable-Vicuna 模型。;
- 数据:搞了多模态的 instruction-following 数据集,聚焦于视频了解、比拟多样的工作(包含 multi-short captions,带工夫戳的时间性形容、长视频的简单陈说。同时应用了 ChatGPT 生成对话人和视频内容的对话,进一步加强数据集的品质和多样性。
- 开源:LLM 时代,开源也是奉献~
Related Work
感兴趣的能够通过 相干工作来理解一下 LLM 的现状,以下为局部机翻:
现有的办法能够分为两种技术路线,一种是利用 LLM 作为调度器来调度现有的多模态模型,另一种是基于 LLM 来训练多模态模型。前者在接管到用户指令和各个根底模型的性能后,将 LLM 作为控制器逐渐调用相应的模型,并整合各个模型的输入内容生成后果(Wu 等,2023;Shen 等,2023)。,2023;Yang 等人,2023)。例如,HuggingGPT(Shen et al., 2023)利用 ChatGPT 依据其性能形容在 Hugging Face1 中抉择适合的模型并总结其执行后果。后者为法学硕士装备辅助模块,帮忙他们通过端到端训练了解多模态内容(Li et al., 2023c; Zhu et al., 2023; Zhu et al., 2023; Zhu et al., 2023; Liu et al., 2023; Su 等人,2023;戴等人,2023)。例如,LLaVA (Liu et al., 2023) 和 MiniGPT-4 (Zhu et al., 2023) 通过投影层将 LLaMA (Touvron et al., 2023) 与视觉编码器连接起来,赋予其了解图像的能力。Video-LLaMA (Zhang et al., 2023) 通过 Q-Former 为 LLaMA (Touvron et al., 2023) 提供视觉和音频信息,赋予其基于视频的对话能力。
办法局部
网络结构
在 LLaVA(如上图)根底上进行了扩大,将其单图扩大为多图(视频),如下图:
多帧的解决通过时空池化模块,具体:
- 有 T 个图,每个图的特色为 Vcls + 256 个 patch token;
- 在 patch token 上做工夫维度的均匀,即 T 个图均匀,则残余特色为 T 个 Vcls + 256 个均匀后的 patch token,下图为 patch token 的均匀;
- 因为 patch token 的工夫均匀会损失工夫信息(保留空间信息),所以将 Vcls token 拼接在 patch token 前面,最终失去 T+256 个视觉 Token 的输出,下图的 V 均匀就是 patch token;
空间 tokens:256 patch(均匀),时序 tokens:T 个 CLS Token;这两个 Token 最终会通过映射层(Projection)与 Text tokens 连接在一起送给大模型;
指令微调数据收集
作者基于 MSRVTT(10k)、VATEX(22k)、AativityNet(10k)、VIOLIN(5.8k)共多个数据集构建了视频核心多模态指令数据,蕴含 3 种上下文类型,这些对应的问答对生成通过 stable-vicuna 生成,如下图
参考 LLaVA 和 VideoChat 中生成 Prompt 的形式,作者也用了下面的 3 种上下文文本和 Stable-Vicuna 生成了指令微调数据,如下图。累积 42k 对话 和5.8k 的问答对,其中对话数据涵盖根底视频内容形容(指标信息等)、工夫内容了解。问答数据蕴含因果推理、字符识别和视频简单内容了解。
训练
同 LLaVA 相似的两阶段训练形式,第一阶段 通过 预训练映射层 来进行 特色对齐 ; 第二阶段 再微调语言模型 和映射层;
映射层预训练
应用图文对、视频文本对两种数据进行预训练,其中图文对为 LLaVA 的 595k CC3M 数据,视频文本对为参考 LLaVA 过滤办法进行过滤的 702K WebVid2M 数据。两种类型数据的 Prompt 组织形式统一,均为:
如果输出单个图像,则帧数为 1。图像 - 文本对和视频 - 文本对构建为单轮对话,应用各种问题询问视频内容,并应用相应的题目进行答复。
微调
不止下面提到的 42k 对话和 5.8k 的问答对,为了加强对视觉内容的强调,还从 LLaVA 中收集了 150k 的图片指令数据、以及 VideoChat 收集的 11k 视频指令。
试验局部
没有什么指标,给了几个 case 大家感触下性能就行
Limitation
- 退出音频信息,构建 音、画、文三种模态可感知的多模态模型;
- 提供中文感知能力,构建更多的中文多模态数据来加强模型;
-
存在 LLM 固有的幻觉问题(hallucination problem)须要解决。幻觉问题指大模型的输入是谬误的、无意义的、输入与输出是显著不合乎的(比方在摘要生成工作上)等状况,具体可参考:
- GPT- 4 的“hallucination”(幻觉)相干对策
- 对话大模型中的事实谬误:ChatGPT 的缺点 文本 工作_问题
- Survey of Hallucination in Natural Language Generation arXiv:2202.03629v5