在 ChatGPT 引爆 AI 圈之后,很多人预言 2024 年将会是多模态的元年。的确,我们在 23 年的最后一季度见证了 GPT-4V 的发布,前不久Google 家的 Gemini 和 Anthropic 的 Claude 3 也同样支持多模态(Multimodal to Text),并且 Gemini 1.5 中能够从两小时的视频中准确“捞针”出其中一帧包含的画面。
国内这方面的工作以 Qwen-VL 为代表,也同样取得了非常不错的效果。我们最近也在大视觉语言模型(LMM)做了一些尝试,发布了 Reka Flash,能够接受图片、音频和视频的输入,在 MMMU 上也靠着相对较小的基础语言模型(21B)也排名能够排名靠前(截至 2024 年 3 月 9 日,这各领域变化太快了谁知道明天会是什么样呢哈哈),且 vibe test 下来感觉还行)。关于这一点,之前我们的一个工作 VEC 就发现即使基于纯文本 NTP 训练的 LLMs 也能够学习到视觉世界的一些基础概念,但更 embodied 的一些知识则很难(或者以相当低的速率)被学习到,需要借助视觉语言模型来辅助学习。
模型架构
目前主流的 LMM 架构基本上是以大语言模型 LLM 为核心骨架,然后将图片视觉信息整合到 LLM 的预测过程中,因而这个框架里一般有以下几个组件:1. 基座语言模型:负责处理多模态的 embedding,并且执行预测推理的功能。一般选择能够获取到的最强、大小最合适的语言模型即可;2. 视觉编码器:负责将图片信息编码成一组向量,常用的选择是 CLIP-style 的各个模型(e.g., CLIP-ViT-L/14),最新的 Prismatic VLM 表明,CLIP 得到的图片表示缺少细粒度的信息,可以通过和另外的视觉编码器结合来提升在 grounding 等任务上的性能。3. 模态桥接(Modality Bridge):负责将视觉编码器得到的图片表示进行变换映射到新的空间方便 LLM 进行处理。这里的做法有一些不同的方案:Cross Attention to Visual Embedding:Deepmind 最早搞的 Flamingo 就是通过在 LLM 中引入额外的 Gated Cross-Attention Layer,来在文本生成的过程中整合视觉端的信息:
GPT-4V 是什么架构?虽然 tech report 里啥也没说,但是我们从 GPT-4V 的收费计算的方式以及 API Doc,可能可以猜测一下背后视觉模块的方案。收费模式分两种:
Low Resolution: 这种模式下图片会被算作 85 input token 进行收费;
由此我们可以看到,一个 512 x 512 的 image tile 被 170 个 token 所表示。假设背后也是 VIT,那我们可以推测:
1. 如果使用 QFormer 对输出的 visual token 做降采样,那原先的 visual tokens 在 300 - 1000 左右(参考 Qwen-VL 的 report,1024 个 patch 被压缩到 256 个的效果相对最好),则意味着 VIT 的 patch size 最大可能是 28,最小可能是 16 的样子;
2. 如果没有使用 QFormer 进行压缩,那么以为着 512 x 512 的图片可能被用了一个 40 的 patch size 。如果是用了这样的 patch size,那么我们可以进一步推测 low resolution 原始的图片可能会被统一放缩到 384 x 384 ,因此我们可以用差不多 85 个 token 来表示每个图片。最近开源的 LLaVA-Next 也采用了类似的方案,并且在一种 benchmark 上都取得了出色的性能,侧面验证了这种方法的有效性。还有一种是 adaptive 的搜索式的方案 V*,根据需要来切分图片里的小块重新交给模型,类似起到 re-attention 的效果,在小物体的检测问题上面有很大的潜力。总的来说,这些方案都是为了解决输入图片分辨率不够的问题。数据一直是这波大语言模型发展的重中之重,从训练和测评的角度,目前我个人的感受是:
LMM 依旧能够通过构建高质量的训练数据获取性能跃迁的阶段;
训练数据
我们大致的可以将训练分成两个阶段:Modality Alignment Training 和 Supervised fine tuning(SFT),前者为了图片映射到 LLM 的语义空间,而后者则是激发模型的能力来做各种下游任务。Alignment Dataset: 这块早先大家会用开源的 Laion400M 和 Laion5B 进行对齐训练,但实际情况可能是这些数据集中的 image-text pair 都过于 noisy,对于学习模态的 alignment 效率并不高。一种解决思路是对 alignment数据集进行更加细粒度的表述,进而能够帮助模型更好地学习图片中物体的相关位置等关系,和LLM原先的知识挂上钩。ShareGPT4V 就是一个很好的尝试,验证了利用 GPT-4V 重新标注 image captions,就能够带来明显的提升。除了 ShareGPT4V 以外,CapsFusion 也展现了用更丰富的 caption 带来的提升。SFT Dataset: 学术界开源的比较好的训练数据目前主要是 LLaVA 系列,其利用 bounding box 等辅助信息将图片文本化后,利用 ChatGPT/GPT-4 来生成了大量的 pseudo multimodal pair (detailed captioning, reasoning and conversation)。这个范式非常有效,也是为什么 LLaVA 系列一出来效果很惊艳的原因。但他依旧存在着一些问题:1. 既然是 pseudo multimodal,那必然会引发 hallucination 问题(因为 ChatGPT 并没有真正的 see the image)。这一点也是目前大家关注的重点。解决的方案有 LLaVA-RLHF,通过额外引入一个 Factual reward model 来提升 hallucination;Volcano 则是用 self-feedback 来 revise 输出。或者更直接一点,我们用早先人工标注的数据做一下统一格式,在保真度方面就会有很大的提升,这方面我们做了 M3IT 来方便大家重新利用之前的数据集来做 SFT 。2. 任务的覆盖面不够广,在重要的 OCR、Chart 场景下能力都有所欠缺。这点我们对比 Qwen、LLaVA 1.5 以及 LLaVA-Next 的性能就能看出来,使用了更多更丰富的多模态数据集,基本上都能对下游如 MMMU、MathVista 等测评数据集有所提升。通过这些研究我们可以猜测,GPT-4V 背后一定是大量的数据工程,具体地可能体现在:Alignment 端:相比于开源模型利用 CLIP 等作为 vision encoder,OpenAI 应该采用了强化版的 CLIP 模型(毕竟现在的 CLIP 还都是他们 2021 年的成果)。之前的 CLIP 不够好的很大原因就在于图片和文本的信息量不对等,caption 大多是简单的几个词来描述物体,而图片中则有丰富的颜色、位置等时空信息。不妨可以想象一下,我们用现在的 GPT-4V 标注整个 web images(~ 10B level ?),提升文本端的丰富度并对 hallucination 做控制。在此数据集基础上我们训练一个 vision encoder,再迭代地更新 GPT-4V,相信会有一个明显的提升;SFT 端:我认为在足够好的对齐 + 在基模型足够强大这两个条件下,可能只需要足够多样的(质量 >> 数量)的 prompting 数据就能够在现在的 VQA、Captioning benchmark 上表现出色。因为客观来说,现在的测评数据集也都集中在这两个任务形式上,因此少量的 prompt 就能够泛化到下游的数据集上。Future Directions
总体来看,我认为我们和 GPT4-V 的差距在于 (i) 基模型的指令跟随和理解能力;(ii) 模态对齐的训练质量和数量,以及 (iii) 多样的 SFT 数据的构建。其中 (i) 是国内很多公司和研究组努力的方向,相信在大伙的努力下我们会有一个强大的基模型,现在有的 Qwen 、Deepseek、Skywork 等系列模型都很有机会。(ii) 目前开源出来数据集的量级还不够大,而这件事情的投入(re-annotating the image world)应该也是巨大。但值得注意的是,DALLE 3 和 Sora 也是用了类似的方案来对 image/video的描述进行细节化,因而进一步提升了生成图片和视频的质量。做这件事情的意义可能对于我们去建模一个高分辨率的世界模型是有重大意义的。(iii) 这件事情或许可以交给学术界来搞,定义和标注有意义的多模态任务,进而整合到 SFT 过程中即可。除去这些看似比较 boring 的搞数据以外,还有什么值得探索的方向呢,这边我也分析一些我个人比较感兴趣的问题(带货环节):1. LMM Hallucination 形成的原因?在文本领域的 Hallucination 的原因大家也都还在广泛地讨论中,那引入一个额外模态之后,hallucination 的来源会更多了吗?是数据还是模型架构带来的问题?如果我们能够更清晰的看到模型内部的一些信号,或许会对理解这些问题更有帮助。2. LMM 的安全性:ChatGPT 出来之后就有很多 Red Teaming 和 Jailbreaking的尝试,那 GPT-4V 会不会也有这种安全性上的 concern 呢?Red Teaming VLM 提供了一个很好的 benchmark 来做这方面的探索;此外,ImgTrojan 也发现之前 NLP 广泛存在的后门攻击同样适用于 LMM,并且会成为更为隐蔽的特洛伊木马来规避掉 safe alignment。这里后续的研究又可以进行攻击、防御、消除的探索。3. RLHF/DPO for LMM:前面提到的 alignment 和 sft 更多地还是依赖于人类标注的数据,当人类无法给出 ground-truth 的标注的时候,我们就需要构建一个 reward model 来告诉我们哪些回复是更合适的。RLHF 和 DPO 已经在大语言模型上被验证了有效性,但当存在额外的模态的时候,如何定义哪个回复是更好的(例如会有更多样的偏见),如何更好地协调一致的 reward label 的标注等等都会带来新的问题和挑战。我们的 VLFeedback 提供了一个很直给的方案,让 GPT-4V 来标注不同的方面,并且也验证了这个框架的有效性。但最近我们也发现 DPO 在不同基模型上的效果还不太一样,依旧存在很多细节的问题,值得进一步的分析。总的来说,LMM 在无论是学术界还是工业界,都依旧大有可为。希望能和这一领域的研究者们一起,接近 GPT-4V,超越 OpenAI!
参考文献
Qwen-VL: A Versatile Vision-Language Model for Understanding, Localization, Text Reading, and Beyond
Reka Flash: An Efficient and Capable Multimodal Language Model
The Dawn of LMMs: Preliminary Explorations with GPT-4V(ision)
Prismatic VLMs: Investigating the Design Space of Visually-Conditioned Language Models
Flamingo: a Visual Language Model for Few-Shot Learning
LLaVA-NeXT: Improved reasoning, OCR, and world knowledge
Aligning Large Multimodal Models with Factually Augmented RLHF
V*: Guided Visual Search as a Core Mechanism in Multimodal LLMs
ShareGPT4V: Improving Large Multi-Modal Models with Better Captions
CapsFusion: Rethinking Image-Text Data at Scale
M3IT: A Large-Scale Dataset towards Multi-Modal Multilingual Instruction Tuning
Multimodal ArXiv: A Dataset for Improving Scientific Comprehension of Large Vision-Language Models
Red Teaming Visual Language Models
ImgTrojan: Jailbreaking Vision-Language Models with ONE Image
Silkie: Preference Distillation for Large Visual Language Models
Evaluating Object Hallucination in Large Vision-Language Models
MM-Vet: Evaluating Large Multimodal Models for Integrated Capabilities
MME: A Comprehensive Evaluation Benchmark for Multimodal Large Language Models
更多阅读
#投 稿 通 道#
让你的文字被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析、科研心得或竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。
📝 稿件基本要求:
• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注
• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算
📬 投稿通道:
• 投稿邮箱:hr@paperweekly.site
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿
△长按添加PaperWeekly小编
🔍
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧