图龙网络科技

问答社区

原创作者: 图龙网络科技 发布时间: 2023-09-23 229.8K 人阅读

ShareGPT4V:使用更好的字幕改进大型多模式模型

太极混元 发布于 2个月前 分类:语言模型

ShareGPT4V 的官方实现:通过更好的字幕改进大型多模式模型

1726727283-6416701e9f6eefb

模范动物园

更多详细信息请参阅ModelZoo.md

姓名 法学硕士 检查点 LLaVA-Bench-Wild MME-感知 MME-认知 测试台 MMBench-CN SEED 图像 MM-兽医 基准测试 SQA 图像 视觉质量评估 (VQA) 维智 质量保证 文本VQA
分享GPT4V-7B 小羊驼-7B 分享GPT4V-7B 72.6 1567.4 376.4 68.8 62.2 69.7 37.6 63.4 68.4 80.6 57.2 63.3 60.4
分享GPT4V-13B 小羊驼-13B 分享GPT4V-13B 79.9 1618.7 303.2 68.5 63.7 70.8 43.1 65.2 71.2 81.0 55.6 64.8 62.2

快速使用:安装

git clone https://github.com/InternLM/InternLM-XComposer --depth=1
cd projects/ShareGPT4V
conda create -n share4v python=3.10 -y
conda activate share4v

pip install --upgrade pip
pip install -e .
pip install -e ".[train]"
pip install flash-attn --no-build-isolation

演示

您可以通过以下方式构建本地演示:

# run script
python tools/app.py
数据准备

您应该按照此说明Data.md来管理数据集。目前,我们提供对网络数据的直接下载访问。但为了避免潜在的争议,我们计划在不久的将来发布这些数据集的 URL,而不是原始数据。

火车

ShareGPT4V 模型训练包括两个阶段:(1)特征对齐阶段:使用我们的 ShareGPT4V-PT 数据集和 1.2M ShareCaptioner 生成的高质量图像文本对来微调视觉编码器、投影仪和 LLM,以对齐文本和视觉模态;(2)视觉指令调整阶段:微调投影仪和 LLM,教模型遵循多模态指令。

要在较少的 GPU 上进行训练,您可以相应减少per_device_train_batch_size并增加gradient_accumulation_steps。始终保持全局批量大小相同:per_device_train_batch_size x gradient_accumulation_steps x num_gpus

超参数

我们在微调中使用了与 ShareGPT4V-7B 类似的一组超参数。下面提供了预训练和微调中使用的超参数。

  1. 预训练
超参数 全局批次大小 学习率 纪元 最大长度 权重衰减
分享GPT4V-7B 256 2e-5 1 2048 0
  1. 微调
超参数 全局批次大小 学习率 纪元 最大长度 权重衰减
分享GPT4V-7B 128 2e-5 1 2048 0

预训练

首先,您应该下载由 LLaVA-1.5 和 LAION-CC-SBU-558K 预训练的MLP 投影仪。因为在使用高质量详细字幕进行模态对齐之前,粗略的模态对齐过程是有益的。

您可以运行projects/ShareGPT4V/scripts/sharegpt4v/slurm_pretrain_7b.sh以预训练模型。请记住在脚本中指定投影仪路径。在此阶段,我们对视觉编码器的块、投影仪和 LLM 的后半部分进行了微调。

在我们的设置中,我们使用了 16 个 A100 (80G) GPU,整个预训练过程持续约 12 小时。您可以调整梯度累积步骤的数量以减少 GPU 数量。

微调

在这个阶段,我们使用 sharegpt4v_mix665k_cap23k_coco-ap9k_lcs3k_sam9k_div2k.json 对投影仪和 LLM 进行微调。

您可以运行projects/ShareGPT4V/scripts/sharegpt4v/slurm_finetune_7b.sh来微调模型。

在我们的设置中,我们使用了 16 个 A100 (80G) GPU,整个预训练过程持续约 7 个小时。您可以调整梯度累积步骤的数量以减少 GPU 的数量。

评估

为了确保可重复性,我们使用贪婪解码来评估模型。我们不使用集束搜索来评估,以使推理过程与实时输出的聊天演示保持一致。

参见Evaluation.md

❤️ 致谢

  • LLaVA:我们建立的代码库。感谢他们的出色工作。
  • Vicuna:令人惊叹的开源大型语言模型!

✒️ 引用

如果您发现我们的工作对您的研究有帮助,请考虑给出星级⭐和引用📝

@article{chen2023sharegpt4v,
  title={ShareGPT4V: Improving Large Multi-Modal Models with Better Captions},
  author={Chen, Lin and Li, Jisong and Dong, Xiaoyi and Zhang, Pan and He, Conghui and Wang, Jiaqi and Zhao, Feng and Lin, Dahua},
  journal={arXiv preprint arXiv:2311.12793},
  year={2023}
}

0个回复

  • 龙族们都在等待回复

提供中小企业建站高端正版精品系统

正品模板 购买协议