MiniGPT-4 是由阿卜杜拉国王科技大学(King Abdullah University of Science and Technology,KAUST)Vision-CAIR 团队开源的多模态视觉语言模型项目,仓库同时发布 MiniGPT-4 与 MiniGPT-v2 两个模型的源代码。
一、用途 MiniGPT-4 的目标是借助先进的大语言模型增强视觉语言理解能力(Enhancing Vision-language Understanding with Advanced Large Language Models)。MiniGPT-v2 则将大语言模型作为视觉语言多任务学习的统一接口(Large Language Model as a Unified Interface for Vision-Language Multi-task Learning)。两者均可围绕用户提供的图像进行对话式理解。
二、相关论文 MiniGPT-4 论文作者为 Deyao Zhu*、Jun Chen*、Xiaoqian Shen、Xiang Li、Mohamed Elhoseiny(*表示同等贡献)。MiniGPT-v2 论文作者为 Jun Chen、Deyao Zhu、Xiaoqian Shen、Xiang Li、Zechun Liu、Pengchuan Zhang、Raghuraman Krishnamoorthi、Vikas Chandra、Yunyang Xiong☨、Mohamed Elhoseiny☨(☨表示同等最后作者)。
三、模型基础与版本 MiniGPT-v2 基于 Llama2 Chat 7B。MiniGPT-4 提供 Vicuna V0 与 Llama 2 两个版本。项目架构遵循 BLIP-2,代码构建于 Lavis 之上。
四、主要更新记录 2023 年 10 月 31 日发布 MiniGPT-v2 的评估代码;10 月 24 日发布 MiniGPT-v2 的微调代码;10 月 13 日发布首个重大更新 MiniGPT-v2;8 月 28 日提供 MiniGPT-4 的 Llama 2 版本。
五、使用方式
- 准备代码与环境:克隆仓库,创建 Python 环境并激活。
- 准备预训练 LLM 权重:从 Hugging Face 相应空间通过 git-lfs 克隆下载对应 LLM 权重,然后设置模型配置文件中的 llama_model 变量为 LLM 权重路径。MiniGPT-v2 在模型配置第 14 行设置;MiniGPT-4(Llama2)在第 15 行设置;MiniGPT-4(Vicuna)在第 18 行设置。
- 准备预训练模型检查点:下载预训练检查点后,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、MiniGPT-4(Vicuna 版本)与 MiniGPT-4(Llama2 版本)分别运行对应命令。 为节省 GPU 显存,LLM 默认以 8 bit 加载,beam search 宽度为 1。该配置下 13B LLM 约需 23G GPU 显存,7B LLM 约需 11.5G GPU 显存。在性能更强的 GPU 上,可在相关配置文件中将 low_resource 设为 False,以 16 bit 运行模型:MiniGPT-v2 对应 minigptv2_eval.yaml,MiniGPT-4(Llama2)对应 minigpt4_llama2_eval.yaml,MiniGPT-4(Vicuna)对应 minigpt4_eval.yaml。 此外,项目致谢 @WangRongsheng,MiniGPT-4 也可在 Colab 上运行。MiniGPT-4 的训练细节与 MiniGPT-v2 的微调细节均有专门文档说明。
六、社区衍生工作 基于 MiniGPT-4 的社区成果包括:InstructionGPT-4(用于微调 MiniGPT-4 的 200 条指令范式)、PatFig(为专利附图生成短标题与长标题)、SkinGPT-4(基于视觉大语言模型的交互式皮肤科诊断系统)、ArtGPT-4(借助适配器增强 MiniGPT-4 的艺术视觉语言理解)。
七、开源与引用 仓库采用 BSD 3-Clause 许可协议,许多代码基于同样采用 BSD 3-Clause 许可的 Lavis。若在研究或应用中使用 MiniGPT-4/MiniGPT-v2,需按仓库提供的 BibTeX 进行引用。项目同时提供行为准则与安全策略。