当前位置:   article > 正文

MiniGPT-4 模型学习与实战

minigpt-4

1 前言

MiniGPT-4 是一个冻结的视觉编码器(Q-Former&ViT)与一个冻结的 文本生成大模型(Vicuna,江湖人称:小羊驼) 进行对齐造出来的。

  • MiniGPT-4 具有许多类似于 GPT-4 的能力, 图像描述生成、从手写草稿创建网站等
  • MiniGPT-4 还能根据图像创作故事和诗歌,为图像中显示的问题提供解决方案,教用户如何根据食物照片做饭等。

2 模型介绍

2.1 模型结构介绍
  • 投影层(Projection Layer)是神经网络中常见层类型,将输入数据从一个空间映射到另一个空间。
  • NLP中,投影层通常用于将高维词向量映射到低维空间,以减少模型参数数量和计算量。
  • CV中,投影层可以将高维图像特征向量映射到低维空间,以便于后续处理和分析。

在这里插入图片描述

2.2 fine tune 介绍
  • 先是在 4 个 A100 上用 500 万图文对训练
  • 然后再用一个小的高质量数据集训练,单卡 A100 训练只需要 7 分钟。
2.3 模型效果介绍

在零样本 VQAv2 上,BLIP-2 相较于 80 亿参数的 Flamingo 模型,使用的可训练参数数量少了 54 倍,性能提升了 8.7 %。

3 环境搭建

3.1 下载代码
git clone https://github.com/Vision-CAIR/MiniGPT-4.git
  • 1
3.2 构建环境
cd MiniGPT-4
conda env create -f environment.yml
conda activate minigpt4
  • 1
  • 2
  • 3

4 MiniGPT-4 模型下载

  • 参考:How to Prepare Vicuna Weight
  • 1、下载 Vicuna Weight;
  • 2、下载原始LLAMA-7B或LLAMA-13B权重;
  • 3、构建真正的 working weight
  • 4、配置模型路径:MiniGPT-4/minigpt4/configs/models/minigpt4.yaml第16行,将 “/path/to/vicuna/weights/” 修改为本地weight地址
4.1 下载 Vicuna Weight

当前版本的MiniGPT-4是建立在v0版本的 Vicuna-13B 之上的。请参考我们的说明来准备 Vicuna weights。最终的权重将在结构类似于以下的单个文件夹中:

git clone https://huggingface.co/lmsys/vicuna-13b-delta-v1.1
# or
git clone https://huggingface.co/lmsys/vicuna-7b-delta-v1.1

  • 1
  • 2
  • 3
  • 4
  • 请注意,这不是直接的 working weight ,而是LLAMA-13B的 working weight 与 original weight 的差值。(由于LLAMA的规则,我们无法分配LLAMA的 weight 。
4.2 下载 LLAMA Weight
git clone https://huggingface.co/decapoda-research/llama-13b-hf  # more powerful, need at least 24G gpu memory
# or
git clone https://huggingface.co/decapoda-research/llama-7b-hf  # smaller, need 12G gpu memory

  • 1
  • 2
  • 3
  • 4

量力而行⬆️上面是官方教程给的,但是7b的权重文件和vicuna-delta的7b对不上
本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/380123?site

推荐阅读
相关标签