想了很久,最后还是写了这篇。
LLaVA
贡献
- 多模态指令数据。当下关键的挑战之一是缺乏视觉与语言组成的指令数据。本文提出了一个数据重组方式,使用 ChatGPT/GPT-4 将图像 - 文本对转换为适当的指令格式;
- 大型多模态模型。研究者通过连接 CLIP 的开源视觉编码器和语言解码器 LLaMA,开发了一个大型多模态模型(LMM)—— LLaVA,并在生成的视觉 - 语言指令数据上进行端到端微调。实证研究验证了将生成的数据用于 LMM 进行 instruction-tuning 的有效性,并为构建遵循视觉 agent 的通用指令提供了较为实用的技巧。使用 GPT-4,本文在 Science QA 这个多模态推理数据集上实现了最先进的性能。
- 开源。研究者向公众发布了以下资产:生成的多模式指令数据、用于数据生成和模型训练的代码库、模型检查点和可视化聊天演示。
方法
- 使用 LLaMA 模型作为 Language Model \(f_φ\)
- 使用线性层 \(W\) 将图像特征连接到词嵌入空间。在LLaVA 1.5中,该部分被替换为MLP。
- 使用 ViT-L/14 作为 Vision Encoder \(g(·)\)
对于输入图像 \(X_v\) 与输入大语言模型的视觉标记 \(H_v\),有:
\[H_v = W \times Z_v = W \times g(X_v) \]训练过程
LLaVA的训练分为两个阶段:
阶段1:特征对齐的预训练。
- 只更新投影矩阵:在这个阶段,只有连接视觉编码器和语言模型的投影矩阵被更新。
- 基于CC3M子集:这一阶段的训练是基于CC3M数据集的一个子集进行的。
阶段2:端到端的微调。更新投影矩阵和LLM:在这个阶段,投影矩阵和大型语言模型(LLM)都会被更新。
结果
研究者开发了一个聊天机器人示例产品,以展示 LLaVA 的图像理解和对话能力。
GPT-4V
CloseAI 的 GPT-4V 没有那么多公开的技术细节,只能看看他能做什么、能达到什么效果。
MiniGPT-4
MiniGPT-4 仅使用一个投影层将一个冻结的视觉编码器(BLIP-2)与一个冻结的 LLM(Vicuna)对齐。其实和LLaVA是差不多的。
VITRON
前面的那些模型都不能输出图像,这个是能输出图像的。
光看这个框架图是不是就明白了?它通过训练不同的Projection融合并让后面可以生成的图像。
模型架构
- Core LLM Block:Vicuna (7B, version 1.5)
- 输入:
- 文本:常规LLM Embedding
- 图像:CLIP ViT-L/14@336px,patch_size=14
- 视频:先独立处理每个帧,再平均池化
- 指令:与arXiv:2312.10032一致
- Backend:看图中的表