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
*共同一作
阿卜杜拉国王科技大学
基于 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 版本。

![]() |
![]() |
![]() |
![]() |
更多示例可在 项目页面 查看。
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 2 Chat 7B | Vicuna V0 13B | Vicuna V0 7B |
|---|---|---|
| 下载 | 下载 | 下载 |
然后,将模型配置文件中的变量 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 13B) | MiniGPT-4 (Vicuna 7B) | MiniGPT-4 (LLaMA-2 Chat 7B) |
|---|---|---|
| 下载 | 下载 | 下载 |
对于 MiniGPT-4,在评估配置文件中设置预训练检查点路径:
- Vicuna 版本:eval_configs/minigpt4_eval.yaml 第 8 行
- LLama2 版本:eval_configs/minigpt4_llama2_eval.yaml 第 8 行
对于 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 位加载,波束搜索宽度为 1。此配置下,13B LLM 需要约 23G GPU 内存,7B LLM 需要约 11.5G GPU 内存。对于更强大的 GPU,可以通过在相关配置文件中将 low_resource 设置为 False 以 16 位运行模型:
感谢 @WangRongsheng,你也可以在 Colab 上运行 MiniGPT-4。
MiniGPT-4 的训练细节请查看此处。
MiniGPT-v2 的微调细节请查看此处。
MiniGPT-v2 的评估细节请查看此处。
如果你在研究或应用中使用了 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 许可证。
许多代码基于 Lavis,其 BSD 3-Clause 许可证见此处。