LLaVA 系列

LLaVA: Visual Instruction Tuning

项目地址: https://github.com/haotian-liu/LLaVA
论文: LLaVA Technical Report

简介

LLaVA模型的架构,是将一个预训练的视觉编码器(CLIP ViT-L/14)与一个大规模语言模型(Vicuna)连接在一起。
这两个模型通过一个简单的映射矩阵连接,这个矩阵负责将视觉和语言特征对齐或转换,以便在一个统一的空间内对它们进行操作。
在多模态指令跟随数据集上,LLaVA表现出色,跟GPT-4相比,分数达到了85.1%。在Science QA上,LLaVA的准确率刷新了纪录,达到92.53%。

核心思想:LLaVA 提出了视觉指令微调数据集的三种构造方式和两阶段图文训练。

模型结构

  • 图像编码器:采用 CLIP 中的预训练的 VIT-L/14
  • 使用单层线性层实现图文 embedding 对齐
  • LLM 部分采用 Vicuna

数据

当前没有视觉-语言指令数据集,借助 GPT4 首先将图片翻译成单一目标的 caption 和其位置为 box。全部图片转为文字 token 后+prompt 输入到 GPT4 得到带指令的图文对,共三种类型:

  • Conversation:简短多轮对话
  • Detailed description:单次详细问答
  • Complex reasoning:复杂语义推理

训练

多轮对话训练,生成多轮对话问答数据,构造 XInstructt=(Xq1,Xa1,...,Xqt,Xat)X^t_{Instruct}=(X^1_q,X^1_a,...,X^t_q,X^t_a),代表 t 轮对话数据。在第一轮,图像输入和问题输入的顺序随机打乱,后续直接添加第 t 轮的问题即可:

两阶段训练

  • Stage-1 预训练特征对齐:冻结视觉编码器和 LLM 模块,仅训练投影层 W,目的是将预训练的 ViT 和 LLM 的 embedding 进行对齐。
  • Stage-2 端到端微调:冻结视觉编码器,训练投影层 W 和 LLM 模块,主要从科学问答和多模态聊天机器人两个场景进行训练。

LLaVA1.5: Improve Baselines with Visual Instruction Tuning

项目地址: https://github.com/haotian-liu/LLaVA
论文: LLaVA1.5 Technical Report

简介

核心改进:通过更改 LLaVA 结构,构建新数据,重构 prompt 格式来实现模型能力增强(8 张 A100 训练一天)。

模型结构

  • 模态对齐层由单层 MLP 改为双层, 实验发现使用2层MLP改善视觉语言连接器的表示能力可以提高LLAVA的多模态功能
  • ClIP-Large 图像分辨率 336*336
  • Vicuna v1.5 13B(原来 7B),理解更好

数据

  • 添加额外的面向学术任务问答数据集,OpenKonwledge VQA,region-level VQA,OCR VQA
  • 使用 ShareGPT 的数据进行指令微调,说明文本复杂指令能提升多模态理解

LLaVA 系列
https://guokent.github.io/papernotes/llava/
作者
Kent
发布于
2024年12月21日
许可协议