⭐️我们的系列作品: [ MMStar ][ ShareGPT4Video ][ ShareGPT4Omni ]
???在 ECCV 2024 中正式实施ShareGPT4V:通过更好的字幕改进大型多模态模型。
作者:陈林*、李劲松*、董晓义、张潘、何从辉、王嘉琪、赵峰?、林大华?
院校:中国科学技术大学;上海人工智能实验室
资源:[论文][项目页面][ 分享GPT4V数据集]
型号:[ShareGPT4V-7B] [ShareCaptioner]
分享GPT4V-7B 演示[OpenXLab] [?HuggingFace] [Colab]
共享字幕演示[OpenXlab] [?HuggingFace]
?大规模的高度描述性的图像文本数据集
? 100K GPT4-Vision 生成的字幕, 1.2M高质量字幕
?通用图像字幕生成器,接近 GPT4-Vision 的字幕功能。
?卓越的大型多模式模型, ShareGPT4V-7B
[2024/7/2]很高兴地宣布ShareGPT4V被ECCV 2024接受!
[2024/5/8]我们发布了大规模视频字幕数据集ShareGPT4Video ,其中包含由 GPT4V 标注的40K字幕和由我们的 ShareCaptioner-Video 标注的480 万字幕。视频总时长分别为300小时和3000小时!
[2024/4/1]我们发布了精英视觉不可或缺的多模态基准测试MMStar。玩得开心!?
[2023/12/14]我们发布了ShareGPT4V-13B模型。玩得开心!?
[2023/12/13]提供培训和评估代码。
[2023/12/13]本地ShareCaptioner现已上线!您可以通过直接运行tools/share-cap_batch_infer.py
来利用它通过批量推理为数据集生成高质量的标题。
[2023/11/23]我们发布了通用Share-Captioner的网页演示!?
[2023/11/23]我们发布了构建 ShareGPT4V-7B 本地演示的代码!?
[2023/11/22]网页演示和检查点现已可用!?
[2023/11/21] ShareGPT4V数据集现已可用!?
[2023/11/20]论文及项目页面发布!
ShareGPT4V-7B 的培训和评估代码
本地共享字幕
ShareGPT4V-7B 的网页演示和本地演示
ShareGPT4V-7B 的检查点
请参阅 ModelZoo.md 中的更多详细信息。
姓名 | 法学硕士 | 检查站 | LLaVA-长凳-狂野 | MME感知 | MME认知 | MMBench | MMBench-CN | 种子图像 | MM-兽医 | QBench | SQA-图像 | VQA-v2 | 维兹维兹 | 质量保证局 | 文本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 |
from share4v.model.builder import load_pretrained_modelfrom share4v.mm_utils import get_model_name_from_pathfrom share4v.eval.run_share4v import eval_modelmodel_path = "Lin-Chen/ShareGPT4V-7B" tokenizer, model, image_processor, context_len = load_pretrained_model( model_path=model_path, model_base=None,模型名称=从路径获取模型名称(模型路径) )
查看share4v/model/builder.py
中load_pretrained_model
函数的详细信息。
您还可以使用share4v/eval/run_llava.py
中的eval_model
函数轻松获取输出。通过这样做,您可以在下载此存储库后直接在 Colab 上使用此代码。
model_path = "Lin-Chen/ShareGPT4V-7B"prompt = "右侧角色最常见的口号是什么?"image_file = "examples/breaking_bad.png"args = type('Args', (), { " model_path": model_path, "model_base": None, "model_name": get_model_name_from_path(model_path), "query": 提示, “conv_mode”:无,“image_file”:image_file,“sep”:“,”,“温度”:0,“top_p”:无,“num_beams”:1,“max_new_tokens”:512})()eval_model(args) )
git克隆 https://github.com/InternLM/InternLM-XComposer --深度=1cd项目/ShareGPT4V conda 创建-n share4v python=3.10 -y conda 激活 share4v pip 安装 --升级 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 数据集和 120 万个 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 类似的超参数。 下面提供了预训练和微调中使用的两个超参数。
预训练
超参数 | 全局批量大小 | 学习率 | 纪元 | 最大长度 | 重量衰减 |
---|---|---|---|---|---|
分享GPT4V-7B | 256 | 2e-5 | 1 | 2048 | 0 |
微调
超参数 | 全局批量大小 | 学习率 | 纪元 | 最大长度 | 重量衰减 |
---|---|---|---|---|---|
分享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 数量。
为了确保可重复性,我们用贪婪解码来评估模型。我们不评估使用波束搜索使推理过程与实时输出的聊天演示一致。
请参阅评估.md。
LLaVA:我们构建的代码库。感谢他们的出色工作。
Vicuna:令人惊叹的开源大型语言模型!
如果您发现我们的工作对您的研究有帮助,请考虑给予星⭐和引用?
@article{chen2023sharegpt4v,title={ShareGPT4V:用更好的字幕改进大型多模态模型},作者={Chen,Lin和Li,Jisong和Dong,Xiaoyi和Zhang,Pan和He,Conghui和Wang,Jiaqi和Zhao,冯和林,大华},期刊={arXiv预印本arXiv:2311.12793},年={2023}}@article{chen2024sharegpt4video,title={ShareGPT4Video:通过更好的字幕提高视频理解和生成},作者={Chen、Lin 和 Wei、Xilin 和 Li、Jinsong 和 Dong、Xiaoyi 和 Zhang、Pan 和 Zang ,宇航和陈,泽慧和段,浩东和林,斌和唐,振宇等},期刊={arXiv预印本arXiv:2406.04325},year={2024}}@article{chen2024we,title={我们是否走在评估大型视觉语言模型的正确道路上?},author={Chen、Lin 和 Li、Jinsong 和 Dong、Xiaoyi 和张、潘和臧、余航和陈、泽慧和段、浩东和王、佳琪和乔、于和林、大华和其他},期刊={arXiv 预印本 arXiv:2403.20330},年份={2024}}
使用和许可声明:数据和检查点仅供研究使用并获得许可。它们也仅限于遵循 LLaMA、Vicuna 和 GPT-4 许可协议的使用。该数据集为 CC BY NC 4.0(仅允许非商业用途),使用该数据集训练的模型不应在研究目的之外使用。