MiniGPT-V
MiniGPT-v2:大型语言模型作为视觉-语言多任务学习的统一接口
Jun Chen, Deyao Zhu, Xiaoqian Shen, Xiang Li, Zechun Liu, Pengchuan Zhang, Raghuraman Krishnamoorthi, Vikas Chandra, Yunyang Xiong☨, Mohamed Elhoseiny☨
☨共同最后作者
MiniGPT-4:利用先进的大型语言模型增强视觉-语言理解
Deyao Zhu*, Jun Chen*, Xiaoqian Shen, Xiang Li, Mohamed Elhoseiny
*共同第一作者
阿卜杜拉国王科技大学
💡 获取帮助 - 问答 或 Discord 💬
基于MiniGPT-4的社区努力示例
-
InstructionGPT-4:用于微调MiniGPT-4的200指令范式 Lai Wei, Zihao Jiang, Weiran Huang, Lichao Sun, Arxiv, 2023
-
PatFig:为专利图生成短文和长文说明。", Aubakirova, Dana, Kim Gerdes, 和 Lufei Liu, ICCVW, 2023
-
SkinGPT-4:基于视觉大语言模型的交互式皮肤病诊断系统,Juexiao Zhou 和 Xiaonan He 和 Liyuan Sun 和 Jiannan Xu 和 Xiuying Chen 和 Yuetan Chu 和 Longxi Zhou 和 Xingyu Liao 和 Bin Zhang 和 Xin Gao, Arxiv, 2023
-
ArtGPT-4:基于适配器增强的MiniGPT-4的艺术视觉-语言理解。", Yuan, Zhengqing, Huiwen Xue, Xinyi Wang, Yongming Liu, Zhuanzhe Zhao, 和 Kun Wang, Arxiv, 2023
新闻
[2023年10月31日] 我们发布了MiniGPT-v2的评估代码。
[2023年10月24日] 我们发布了MiniGPT-v2的微调代码。
[2023年10月13日] 重大更新!我们发布了MiniGPT-v2的第一个主要更新。
[2023年8月28日] 我们现在提供MiniGPT-4的llama 2版本。
在线演示
MiniGPT-v2 示例
MiniGPT-4 示例
更多示例可在项目页面找到。
入门指南
安装
1. 准备代码和环境
通过以下命令克隆我们的仓库,创建Python环境并激活它
git clone https://github.com/Vision-CAIR/MiniGPT-4.git
cd MiniGPT-4
conda env create -f environment.yml
conda activate minigptv
2. 准备预训练的LLM权重
MiniGPT-v2基于Llama2 Chat 7B。对于MiniGPT-4,我们有Vicuna V0和Llama 2版本。 通过使用git-lfs克隆仓库从以下huggingface空间下载相应的LLM权重。
然后,在模型配置文件中将变量llama_model设置为LLM权重路径。
-
对于MiniGPT-v2,在此处第14行设置LLM路径。
-
对于MiniGPT-4(Llama2),在此处第15行设置LLM路径。
-
对于MiniGPT-4(Vicuna),在此处第18行设置LLM路径。
3. 准备预训练模型检查点
下载预训练模型检查点
MiniGPT-v2(第2阶段后) | MiniGPT-v2(第3阶段后) | MiniGPT-v2(在线开发演示) |
---|---|---|
下载 | 下载 | 下载 |
对于 MiniGPT-v2,在评估配置文件 eval_configs/minigptv2_eval.yaml 的第 8 行设置预训练检查点的路径。 |
对于 MiniGPT-4,在评估配置文件中设置预训练检查点的路径。Vicuna 版本在 eval_configs/minigpt4_eval.yaml 的第 8 行,LLama2 版本在 eval_configs/minigpt4_llama2_eval.yaml。
本地启动演示
对于 MiniGPT-v2,运行
python demo_v2.py --cfg-path eval_configs/minigptv2_eval.yaml --gpu-id 0
对于 MiniGPT-4(Vicuna 版本),运行
python demo.py --cfg-path eval_configs/minigpt4_eval.yaml --gpu-id 0
对于 MiniGPT-4(Llama2 版本),运行
python demo.py --cfg-path eval_configs/minigpt4_llama2_eval.yaml --gpu-id 0
为节省 GPU 内存,LLM 默认以 8 位加载,beam search 宽度为 1。此配置需要约 23G GPU 内存用于 13B LLM,11.5G GPU 内存用于 7B LLM。对于性能更强的 GPU,您可以通过在相关配置文件中将 low_resource
设置为 False
来以 16 位运行模型:
- MiniGPT-v2: minigptv2_eval.yaml
- MiniGPT-4 (Llama2): minigpt4_llama2_eval.yaml
- MiniGPT-4 (Vicuna): minigpt4_eval.yaml
感谢 @WangRongsheng,您还可以在 Colab 上运行 MiniGPT-4。
训练
有关 MiniGPT-4 的训练详情,请查看此处。
有关 MiniGPT-v2 的微调详情,请查看此处。
评估
有关 MiniGPT-v2 的微调详情,请查看此处。
致谢
- BLIP2 MiniGPT-4 的模型架构遵循 BLIP-2。如果您之前不了解这个优秀的开源项目,别忘了去看看!
- Lavis 本仓库基于 Lavis 构建!
- Vicuna Vicuna 仅用 13B 参数就展现出惊人的语言能力,而且它是开源的!
- LLaMA 强大的开源 LLaMA 2 语言模型。
如果您在研究或应用中使用 MiniGPT-4/MiniGPT-v2,请使用以下 BibTeX 进行引用:
@article{chen2023minigptv2,
title={MiniGPT-v2: large language model as a unified interface for vision-language multi-task learning},
author={Chen, Jun and Zhu, Deyao and Shen, Xiaoqian and Li, Xiang and Liu, Zechu and Zhang, Pengchuan and Krishnamoorthi, Raghuraman and Chandra, Vikas and Xiong, Yunyang and Elhoseiny, Mohamed},
year={2023},
journal={arXiv preprint arXiv:2310.09478},
}
@article{zhu2023minigpt,
title={MiniGPT-4: Enhancing Vision-Language Understanding with Advanced Large Language Models},
author={Zhu, Deyao and Chen, Jun and Shen, Xiaoqian and Li, Xiang and Elhoseiny, Mohamed},
journal={arXiv preprint arXiv:2304.10592},
year={2023}
}
许可证
本仓库使用 BSD 3-Clause License。 许多代码基于 Lavis,其 BSD 3-Clause License 在此处。