AI 不仅可以看图说话,并且可以谈论图片内容

名称: /Vision-CAIR/MiniGPT-4

地址: https://github.com/Vision-CAIR/MiniGPT-4

fork: 1.6k    star: 15.4k    开发语言: Python

简介: MiniGPT-4: Enhancing Vision-language Understanding with Advanced Large Language Models

                                                                    

MiniGPT-4: Enhancing Vision-language Understanding with Advanced Large Language Models


MiniGPT-4 使用 规模语言模型 来增强视觉理解,让 AI 不仅可以看图说话,并且可以与使用者谈论图片内容。
只需要输入一张图片,MiniGPT-4 就可以根据我们的要求输出对图片的理解,比如述图片内容,判断图片真假,根据图片内容自动写出宣传广告,判断病情并给出处理建议,而且还能根据图片内容赋诗一首
AI 不仅可以看图说话,并且可以谈论图片内容

AI 不仅可以看图说话,并且可以谈论图片内容

01

功能体验

MiniGPT-4 提供了一个在线网站,可以在线体验“看图说话”的功能,网站地址

https://huggingface.co/spaces/Vision-CAIR/minigpt4

首先上传一张图,然后可以就图片内容与MiniGPT-4 展开交流了。响应有点慢,需要稍微忍一下

AI 不仅可以看图说话,并且可以谈论图片内容

 

02

原理介绍

  • MiniGPT-4 仅使用一个projection layer.将来自 BLIP-2 的冻结visual encoder 与冻结的 LLM,Vicuna 对齐。
  • 然后分两个阶段训练 MiniGPT-4。第一个传统的预训练阶段是使用 4 个 A100 在 10 小时内使用大约 100 万个对齐的图像文本对进行训练。在第一阶段之后,Vicunay 已经可以理解图像内容了,但 Vicuna 的生成能力依然还有很大的问题。
  • 为了解决这个问题并提高可用性,提出了一种新颖的方法,通过模型本身和 ChatGPT 一起创建高质量的图像文本对。在此基础上,创建了一个小的(总共 3500 对)但高质量的数据集。
  • 第二个微调阶段在对话模板中对此数据集进行训练,以显著提高其生成可靠性和整体可用性。这个阶段的计算效率很高,使用单个 A7 只需要大约 100 分钟。
  • MiniGPT-4 产生了许多新兴的视觉语言功能,类似于 GPT-4 中展示的功能。

AI 不仅可以看图说话,并且可以谈论图片内容

 

03

使用源码训练

如果想要从源码开始训练,可以参考以下步骤。
01
下载源码,并配置开发环境
仓库使用的 Anconda ,如果还没安装,可以先下载一个。
git clone https://github.com/Vision-CAIR/MiniGPT-4.git
cd MiniGPT-4
conda env create -f environment.yml
conda activate minigpt4
 
这里可以先启动服务看看效果,执行如下命令
python demo.py --cfg-path eval_configs/minigpt4_eval.yaml --gpu-id 0
02
设置训练参数权重
设置预训练使用 Vicuna 的权重,相关配置文件,可以参看项目的如下目录
vicuna_weights
├── config.json
├── generation_config.json
├── pytorch_model.bin.index.json
├── pytorch_model-00001-of-00003.bin
03
训练
训练包含两个阶段。
第一阶段
在第一个预训练阶段,使用来自 Laion 和 CC 数据集的图像文本对训练模型 以调整视觉和语言模型。可以使用作者的数据集进行第一阶段的训练。在第一阶段之后,视觉特征被映射并可以被语言模型理解。若要启动第一阶段训练,请运行以下命令。在实验中,作者使用了 4 块 A100。可以在配置文件中更改保相关配置 
train_configs/minigpt4_stage1_pretrain.yaml
torchrun --nproc-per-node NUM_GPU train.py --cfg-path train_configs/minigpt4_stage1_pretrain.yaml
第二阶段
在第二阶段,作者使用自己创建的小型高质量图像文本对数据集,进一步对齐 MiniGPT-4。 作者分享了第二阶段的数据,可以在线下载。要启动第二阶段对齐, 首先在 train_configs/minigpt1_stage4_pretrain.yaml 中指定在第 1 阶段训练的检查点文件的路径。 然后运行以下命令。在实验中,作者使用 1 个 A100,可供我们参考。
torchrun --nproc-per-node NUM_GPU train.py --cfg-path train_configs/minigpt4_stage2_finetune.yaml

完成上面两个训练阶段后,MiniGPT-4 就可以“看图说话”,和我们一起谈论图像了。

以上内容,均来自于 Github,更内容参看:

https://github.com/Vision-CAIR/MiniGPT-4

© 版权声明

☆ END ☆
喜欢就点个赞吧
点赞0 分享
图片正在生成中,请稍后...