保姆级minigpt4部署教程


现有的很多部署minigpt4的教程都默认服务器能够访问外网(huggingface),因此需要我们一步一步去解决加载外网的几个模型的问题,略显麻烦。为了节约大家部署的时间,在本文中,我将详细按照步骤描述minigpt4(Vicuna版本)部署的总体流程,包含在连接外网失败时如何解决。

Step1:下载仓库

下载官方仓库

git clone git@github.com:Vision-CAIR/MiniGPT-4.git

Step2:配置环境

运行下面的命令创建并激活环境

git clone https://github.com/Vision-CAIR/MiniGPT-4.git
cd MiniGPT-4
conda env create -f environment.yml
conda activate minigptv

Step3:准备预训练的模型权重

3.1 下载模型

根据官方的文档,你可以根据自己需要的版本进行下载,本文主要是针对Vicuna V0 7B:https://huggingface.co/Vision-CAIR/vicuna-7b/tree/main
在这里插入图片描述
在这里插入图片描述

下载后上传至服务器(此时无prerained_minigpt4_7b.pth):

在这里插入图片描述

3.2 修改配置文件

将MiniGPT-4/minigpt4/configs/models/minigpt4_vicuna0.yaml文件中第18行的

llama_model: "please set this value to the path of vicuna model"

修改为(vicuna-7b文件夹的路径要根据你自己的路径进行修改):

llama_model: "{vicuna-7b文件夹的路径}"

如下图所示:

在这里插入图片描述

Step4:准备预训练模型检查点

4.1 下载检查点

这里需要根据官方说的对应版本下载。我们在这里下载Vicuna 7B对应的版本:https://drive.google.com/file/d/1RY9jV0dyqLX-o38LrumkKRh6Jtaop58R/view

上传prerained_minigpt4_7b.pth至服务器。我在这里上传到了刚刚下载模型的vicuna-7b文件夹下:

在这里插入图片描述

4.2 修改配置文件

将eval_configs/minigpt4_eval.yaml的第8行:

ckpt: 'please set this value to the path of pretrained checkpoint'

修改为:

ckpt: '{prerained_minigpt4_7b.pth的路径}'

在这里插入图片描述

Step5:准备相关transformer模型

如果服务器可以连接huggingface,那么直接进行Step6就好,但是如果服务器无法访问,我们需要提前准备好以下三个模型。

5.1 Q-Former

下载网址:https://storage.googleapis.com/sfr-vision-language-research/LAVIS/models/BLIP2/blip2_pretrained_flant5xxl.pth

上传blip2_pretrained_flant5xxl.pth至服务器:

在这里插入图片描述

将MiniGPT-4/minigpt4/models/minigpt4.py文件下的:

q_former_model="https://storage.googleapis.com/sfr-vision-language-research/LAVIS/models/BLIP2/blip2_pretrained_flant5xxl.pth"

修改为:

q_former_model="服务器上blip2_pretrained_flant5xxl.pth的路径"

在这里插入图片描述

5.2 Bert

下载网址:https://huggingface.co/bert-base-uncased

上传至服务器:

在这里插入图片描述

同样,将MiniGPT-4/minigpt4/models/minigpt4.py文件下的:

encoder_config = BertConfig.from_pretrained("bert-base-uncased")

修改为:

encoder_config = BertConfig.from_pretrained("{服务器中bert-base-uncased的路径}")

在这里插入图片描述

5.3 ViT

下载网址:https://storage.googleapis.com/sfr-vision-language-research/LAVIS/models/BLIP2/eva_vit_g.pth

上传至服务器:

在这里插入图片描述

将MiniGPT-4/minigpt4/models/eva_vit.py下的:

url = "https://storage.googleapis.com/sfr-vision-language-research/LAVIS/models/BLIP2/eva_vit_g.pth"
cached_file = download_cached_file(
        url, check_hash=False, progress=True
)
state_dict = torch.load(cached_file, map_location="cpu")

修改为:

local_path = "{服务器上eva_vit_g.pth的路径}"
state_dict = torch.load(local_path, map_location="cpu")

在这里插入图片描述

Step6:在本地启动demo

运行下面的命令:

python demo.py --cfg-path eval_configs/minigpt4_eval.yaml  --gpu-id 0

点击下面的网址:

在这里插入图片描述

进入聊天页面,上传图片,输入文本,即可使用minigpt4交互聊天。

在这里插入图片描述

至此,minigpt4部署完成。如果还需要更多的配置,可以看官方文档:https://github.com/Vision-CAIR/MiniGPT-4?tab=readme-ov-file

引用

如果在研究或应用中使用 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}
}
好的,请按照以下步骤进行凝思6.0的安装部署docker: 1. 准备工作 - 安装docker和docker-compose。 - 下载凝思6.0的安装包。 2. 创建并进入项目目录 在命令行中创建一个项目目录,并进入该目录: ``` mkdir myproject cd myproject ``` 3. 复制安装包 复制凝思6.0的安装包到项目目录中: ``` cp /path/to/ningxi-6.0.tar.gz . ``` 4. 解压安装包 解压凝思6.0的安装包: ``` tar zxvf ningxi-6.0.tar.gz ``` 5. 编写docker-compose.yml文件 在项目目录中创建一个名为docker-compose.yml的文件,并将以下内容复制到文件中: ``` version: '3.7' services: ningxi: image: registry.cn-hangzhou.aliyuncs.com/ningxi/ningxi:6.0 container_name: ningxi restart: always ports: - "8080:8080" environment: - LC_ALL=C.UTF-8 - TZ=Asia/Shanghai - SPRING_PROFILES_ACTIVE=prod - SERVER_PORT=8080 volumes: - ./data:/usr/local/src/ningxi/data - ./logs:/usr/local/src/ningxi/logs ``` 6. 启动容器 在命令行中执行以下命令启动容器: ``` docker-compose up -d ``` 7. 测试容器 容器启动后,可以通过访问http://localhost:8080/来测试容器是否正常运行。 8. 配置nginx反向代理 如果需要通过域名来访问凝思6.0,则需要配置nginx反向代理。以下是一个示例配置文件: ``` server { listen 80; server_name ningxi.example.com; # 修改为你的域名 location / { proxy_pass http://localhost:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } ``` 9. 完成 至此,凝思6.0的安装部署docker就完成了。可以通过nginx反向代理来访问容器。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值