名称: /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
01
功能体验
https://huggingface.co/spaces/Vision-CAIR/minigpt4
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 中展示的功能。
03
使用源码训练
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
vicuna_weights
├── config.json
├── generation_config.json
├── pytorch_model.bin.index.json
├── pytorch_model-00001-of-00003.bin
torchrun --nproc-per-node NUM_GPU train.py --cfg-path train_configs/minigpt4_stage1_pretrain.yaml
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