openAI维基百科 openAI维基百科
  • 首页
  • 语言
    • LLaMA
    • ChatGPT
      • 基础教程
      • Prompt训练
      • API编程指南
      • ChatGPT拓展
    • 其它模型
  • 图像
    • 风格化
    • 画质增强
    • 图像识别
    • 视觉交互
    • 扩展填充
  • 绘画
    • Midjourney
    • Stable Diffusion
      • LoRA
      • ControlNet
      • Fooocus
      • ComfyUI
    • 其它模型
  • 音频
    • 人声模拟
    • 音频识别
    • 音频分离
    • 智能编曲
  • 视频
    • AI换脸
    • AI补帧
    • 视频抠图
    • 视频动漫化
    • 文本生成视频
  • 3D
    • 文本生成模型
  • 教程
    • 基础知识
    • 微软AI学习
    • 深度学习笔记
    • 交互式了解AI
  • 问答
  • 资源
首页 › 语言 › 其它模型 › MiniGPT-4|图像对话模型

MiniGPT-4|图像对话模型

PhiltreX
2 年前
MiniGPT-4|图像对话模型-openAI维基百科

MiniGPT-4|使用高级大语言模型增强视觉语言理解

示例

MiniGPT-4|图像对话模型-openAI维基百科
MiniGPT-4|图像对话模型-openAI维基百科
MiniGPT-4|图像对话模型-openAI维基百科
MiniGPT-4|图像对话模型-openAI维基百科

介绍

  • MiniGPT-4仅使用一个投影层将来自BLIP-2的冻结视觉编码器与冻结的LLM,Vicuna对齐。
  • 我们分两个阶段训练 MiniGPT-4。第一个传统的预训练阶段是使用 5 个 A10 在 4 小时内使用大约 100 万个对齐的图像文本对进行训练。在第一阶段之后,骆马能够理解图像。但骆马的生成能力受到严重影响。
  • 为了解决这个问题并提高可用性,我们提出了一种新颖的方法,通过模型本身和 ChatGPT 一起创建高质量的图像文本对。在此基础上,我们创建了一个小的(总共3500对)但高质量的数据集。
  • 第二个微调阶段在对话模板中对此数据集进行训练,以显着提高其生成可靠性和整体可用性。令我们惊讶的是,这个阶段的计算效率很高,使用单个 A7 只需要大约 100 分钟。
  • MiniGPT-4 产生了许多新兴的视觉语言功能,类似于 GPT-4 中展示的功能。
MiniGPT-4|图像对话模型-openAI维基百科

GitHub

项目开源地址:Vision-CAIR/MiniGPT-4

部署教程

如果您是初学者,对于命令行不太理解,那么请按下键盘上的Win键+R键后,在弹出的新窗口内输入CMD并按下回车,打开CMD窗口,按顺序执行如下的每一条命令。

首先我们需要确认一个工作目录,用来存放MiniGPT-4的相关文件。本站所选择的目录为D盘的根目录下openai.wiki文件夹,完整路径为:D:\openai.wiki。

1.检测D盘是否在openai.wiki,没有则创建该文件夹。

if not exist D:\openai.wiki mkdir D:\openai.wiki

2.强制切换工作路径为D盘的openai.wiki文件夹。

cd /d D:\openai.wiki

3.拉取Github仓库文件夹,将下载至openai.wiki文件夹。

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

注意:如果您无法完成第3步,执行后报错或者无法下载,可以下载该文件将其解压至D:\openai.wiki即可。

MiniGPT-4-main
下载
类型: ZIP 大小: 34.41MB

环境安装

为不影响电脑中的现有环境,请一定要安装Conda,如果您不知道什么是Conda,或者未安装过Conda,请参考如下文章,安装部署Conda之后再继续以下步骤。

Anaconda|Miniconda

在CMD中执行下面的命令行,创建Conda虚拟环境至该项目的目录中,方便日后重装系统也能够正常使用,无需重新部署环境。

为避免出现问题,我们再次强制切换至MiniGPT-4的项目路径,确保一切可以正常安装。

cd /d D:\\openai.wiki\\MiniGPT-4

安装MiniGPT-4项目的相关依赖库,此步骤可能需要稍等几分钟才能够安装完成。

conda env create -p D:\\openai.wiki\\MiniGPT-4\\minigpt4 -f D:\\openai.wiki\\MiniGPT-4\\environment.yml

激活已创建的Conda环境,这样我们可以将我们后续所需要的所有环境依赖都安装至此环境下。

conda activate D:\\openai.wiki\\MiniGPT-4\\minigpt4

模型相关

⚠️注意:自编译模型该项目的模型文件比较特殊,需要自行编译,官方因版权问题并没有直接提供可以直接使用的模型文件。需要自行下载两个模型进行编译,编译可能需要128GB内存,本站的电脑只有32GB内在,无法达到要求,请各位自行编译。

官方下载

Vicuna官方下载地址:lmsys/vicuna-13b-delta-v0 · Hugging Face

LLAMA-13B官方下载地址:LLaMA (huggingface.co)

MiniGPT-4官方下载地址:https://drive.google.com/file/d/1a4zLvaiDBr-36pasffmgpvH5P7CKmpze/view?usp=share_link

网盘下载

vicuna-13b-delta-v0:https://www.123pan.com/s/sKd9-fcJc.html

LLAMA-13B:https://www.123pan.com/s/sKd9-BcJc.html

MiniGPT-4:https://www.123pan.com/s/sKd9-acJc.html

Vicuna模型配置

需要注意的是,这并不是直接使用的工作权重,而是工作权重和 LLAMA-13B 原始权重之间的差异。(由于 LLAMA 的规定,我们无法分发 LLAMA 的权重。)

然后,您需要获取HuggingFace格式的原始LLAMA-13B权重,可以按照HuggingFace提供的说明或从互联网或本站获取。

当这两个权重准备好后,我们可以使用 Vicuna 团队提供的工具来创建真正的工作权重。首先,通过以下方式安装与v0版本的Vicuna兼容的库:

pip install git+https://github.com/lm-sys/FastChat.git@v0.1.10

将下载后的两个模型分别移动至D:/openai.wiki/MiniGPT-4目录下新建Model文件夹,分别放入或新建如下路径文件

  • LLAMA-13B模型路径
    • D:/openai.wiki/MiniGPT-4/Model/llama-13b-hf
  • vicuna-13b-delta-v0模型路径
    • D:/openai.wiki/MiniGPT-4/Model/vicuna-13b-delta-v0
  • working-vicuna最终输出路径
    • D:/openai.wiki/MiniGPT-4/Model/working-vicuna

最后,运行以下命令以创建最终的工作权重:

python -m fastchat.model.apply_delta --base D:/openai.wiki/MiniGPT-4/Model/llama-13b-hf/ --target D:/openai.wiki/MiniGPT-4/Model/weight/ --delta D:/openai.wiki/MiniGPT-4/Model/vicuna-13b-delta-v0/

等待良久之后,将会在D:/openai.wiki/MiniGPT-4/Model/working-vicuna目录下生成已编译后的新权重文件。

vicuna_weights
├── config.json
├── generation_config.json
├── pytorch_model.bin.index.json
├── pytorch_model-00001-of-00003.bin
...

修改D:\openai.wiki\MiniGPT-4\minigpt4\configs\models\minigpt4.yaml文件,将第16行的内容替换为你的模型路径。

model:
  arch: mini_gpt4

  # vit encoder
  image_size: 224
  drop_path_rate: 0
  use_grad_checkpoint: False
  vit_precision: "fp16"
  freeze_vit: True
  freeze_qformer: True

  # Q-Former
  num_query_token: 32

  # Vicuna
  llama_model: "D:/openai.wiki/MiniGPT-4/Model/working-vicuna"

  # generation configs
  prompt: ""

preprocess:
    vis_processor:
        train:
          name: "blip2_image_train"
          image_size: 224
        eval:
          name: "blip2_image_eval"
          image_size: 224
    text_processor:
        train:
          name: "blip_caption"
        eval:
          name: "blip_caption"

MiniGPT-4模型配置

修改D:\openai.wiki\MiniGPT-4\eval_configs\minigpt4_eval.yaml文件,将第11行的内容替换为你的MiniGPT-4模型路径。

model:
  arch: mini_gpt4
  model_type: pretrain_vicuna
  freeze_vit: True
  freeze_qformer: True
  max_txt_len: 160
  end_sym: "###"
  low_resource: True
  prompt_path: "prompts/alignment.txt"
  prompt_template: '###Human: {} ###Assistant: '
  ckpt: '/path/to/pretrained/ckpt/'

datasets:
  cc_sbu_align:
    vis_processor:
      train:
        name: "blip2_image_eval"
        image_size: 224
    text_processor:
      train:
        name: "blip_caption"

run:
  task: image_text_pretrain

使用教程

启动MiniGPT-4的方法非常简单,按顺序执行如下代码即可。

激活MiniGPT-4的Conda虚拟环境

conda activate D:\\openai.wiki\\MiniGPT-4\\minigpt4

切换目录至MiniGPT-4项目路径

cd /d D:\\openai.wiki\\MiniGPT-4

执行行如命令,启动MiniGPT-4。

python demo.py --cfg-path eval_configs/minigpt4_eval.yaml

在这里,我们默认将 Vicuna 加载为 8 bit以节省一些 GPU 内存使用量。 此外,默认波束搜索宽度为 1。 在此设置下,演示花费大约 23G GPU 内存。 如果您有功率更强大的 GPU 和更大的 GPU 内存,则可以运行该模型在配置文件D:\\openai.wiki\\MiniGPT-4\\eval_configs\\minigpt4_eval.yaml中将low_resource设置为False并使用更大的波束搜索宽度,在 4 bit中。

多模态语言模型
5
15
GPT4All-UI|对话机器人
上一篇
ChatALL|语言模型集合
下一篇

评论 (15)

取消
  • Stardust

    很详细!感谢分享~

    2 年前 湖南省 回复
  • 123

    不用模型可以部署么

    2 年前 浙江省 回复
    • PhiltreX

      @123 不可以,必须要模型。

      2 年前 浙江省 回复
  • king

    有没有mac上的教程

    2 年前 湖南省 回复
    • PhiltreX

      @king 站长有Mac电脑,但是Mac的效率不是很高,所以一直没写相关教程,既然大家有需要,后续会出。

      2 年前 浙江省 回复
  • dssmn

    vicuna-7b行么,搭建起来步骤一样么?

    D:\openai.wiki\MiniGPT-4>conda activate D:\\openai.wiki\\MiniGPT-4\\minigpt4
    (D:\openai.wiki\MiniGPT-4\minigpt4) D:\openai.wiki\MiniGPT-4>这样算不算环境安装成功了?谢谢

    2 年前 浙江省 回复
    • jinny

      @dssmn 执行这个才行python demo.py –cfg-path eval_configs/minigpt4_eval.yaml

      2 年前 湖南省 回复
  • dssmn

    可以把LLAMA-13B换成LLAMA-7B么?

    2 年前 陕西省 回复
    • PhiltreX

      @dssmn 好像不行,官方的项目就是基于13B的。

      2 年前 陕西省 回复
    • 陈小鱼

      @PhiltreX 其实是可以的,我就是用 7B 去部署运行的MiniGPT-4

      2 年前 浙江省 回复
  • steve

    部署完了后,有没有示例如何调用?提供些例子

    2 年前 未知地区 回复
  • 007

    A decoder-only architecture is being used, but right-padding was detected! For correct generation results, please set `padding_side=’left’` when initializing the tokenizer.
    提问ai报这个错,并且给出的答案是乱码的,想问下大佬什么问题?谢谢

    2 年前 湖南省 回复
  • 陈小鱼

    博主,有捣鼓过MiniGPT-4的Api调用嘛,最近有这个需求,但是找文档找得脑袋有点炸裂,如果可以的话出个教程呗,万分感激。

    2 年前 浙江省 回复
    • PhiltreX

      @陈小鱼 emmm,我这里系统不满足上去玩MiniGPT-4,因为我这2080TI跑不起来,唉。

      2 年前 浙江省 回复
    • lckj2009

      @PhiltreX 给个学习的地址也行啊。麻烦发个链接。

      2 年前 未知地区 回复

猜你喜欢

  • Baichuan2|开源语言模型百川2代
  • llama2.c|Baby LLaMA
  • LLaMA-2|FreeWilly2微调模型

论坛公告

为方便大家交流,交换资源等。

本站论坛限量开放注册中,免费答疑。

欢迎大家踊跃注册,关闭注册时间待定。

论坛地址:https://bbs.openai.wiki

增值服务

本站无广告|无会员|免注册

  1. 提供有偿远程帮助服务
  2. 提供POE会员代充代售
  3. 提供ChatGPT代充代售
  4. 提供Midjourney代充服务

商务合作

关于合作请点此联系

  • 首页
  • 语言
  • 图像
  • 绘画
  • 音频
  • 视频
  • 3D
  • 教程
  • 问答
  • 资源
Copyright © 20221212-2025 openAI维基百科. Designed by nicetheme. 京公网安备 11010502051430号 京ICP备2021019752号-5
  • 首页
  • 语言
    • LLaMA
    • ChatGPT
      • 基础教程
      • Prompt训练
      • API编程指南
      • ChatGPT拓展
    • 其它模型
  • 图像
    • 风格化
    • 画质增强
    • 图像识别
    • 视觉交互
    • 扩展填充
  • 绘画
    • Midjourney
    • Stable Diffusion
      • LoRA
      • ControlNet
      • Fooocus
      • ComfyUI
    • 其它模型
  • 音频
    • 人声模拟
    • 音频识别
    • 音频分离
    • 智能编曲
  • 视频
    • AI换脸
    • AI补帧
    • 视频抠图
    • 视频动漫化
    • 文本生成视频
  • 3D
    • 文本生成模型
  • 教程
    • 基础知识
    • 微软AI学习
    • 深度学习笔记
    • 交互式了解AI
  • 问答
  • 资源