MiniGPT-4 使用 LLM 增强视觉语言理解开源项目

我要开发同款
匿名用户2023年04月20日
162阅读

技术信息

开源地址
https://minigpt-4.github.io/
授权协议
BSD 3-Clause

作品详情

MiiGPT-4可使用高级大型语言模型增强视觉语言理解。

MiiGPT-4仅使用一个投影层将来自BLIP-2的冻结视觉编码器与冻结LLMVicua对齐。MiiGPT-4的训练分两个阶段:

第一个传统预训练阶段使用4个A100在10小时内使用大约500万个对齐的图像-文本对进行训练。在第一阶段之后,Vicua能够理解图像。但是Vicua的生成能力受到了很大的影响。为了解决这个问题并提高可用性,开发团队提出了一种通过模型本身和ChatGPT一起创建高质量图像文本对的新方法。基于此,随后创建了一个小型(总共3500对)但高质量的数据集。第二个微调阶段在对话模板中对该数据集进行训练,以显着提高其生成可靠性和整体可用性。这个阶段的计算效率很高,使用单个A100只需大约7分钟。MiiGPT-4产生了许多新兴的视觉语言功能,类似于GPT-4中展示的功能。在线演示

从以下八个链接中选取一个任务排队较少的demo进行聊天。

Lik1 / Lik2 / Lik3 / Lik4 / Lik5 / Lik6 / Lik7 / Lik8

先上传图像,然后围绕您的图像与MiiGPT-4聊天

示例

入门安装1.准备代码和环境

Git克隆我们的存储库,创建一个pytho环境并通过以下命令激活它

gitcloehttps://github.com/Visio-CAIR/MiiGPT-4.gitcdMiiGPT-4codaevcreate-feviromet.ymlcodaactivatemiigpt42.准备预训练的Vicua权重

当前版本的MiiGPT-4建立在Vicua-13B的v0版本之上。请参考说明来准备Vicua砝码。最终权重将位于具有以下结构的单个文件夹中:

vicua_weights├──cofig.jso├──geeratio_cofig.jso├──pytorch_model.bi.idex.jso├──pytorch_model-00001-of-00003.bi...然后,在第16行的模型配置文件中设置vicua权重的路径。

3.准备预训练的MiiGPT-4检查点

要使用官方预训练模型,请在此处下载预训练检查点。

然后,在第11行的 eval_cofigs/miigpt4_eval.yaml 中的评估配置文件中设置预训练检查点的路径。

在本地启动演示通过运行在本地计算机上试用演示 demo.py

pythodemo.py--cfg-patheval_cofigs/miigpt4_eval.yaml--gpu-id0这里默认将Vicua加载为8位以节省一些GPU内存使用量。此外,默认的波束搜索宽度为1。

在此设置下,该演示耗费了大约23GGPU内存。如果有一个更强大的GPU和更大的GPU内存,你可以通过在配置文件miigpt4_eval.yaml中将low_resource设置为False ,并使用更大的波束搜索宽度来以16位运行模型。

训练MiiGPT-4的训练包含两个对齐阶段。

1.第一预训练阶段

在第一个预训练阶段,模型使用来自Laio和CC数据集的图像文本对进行训练,以对齐视觉和语言模型。

要下载和准备数据集,请查看第一阶段数据集准备说明。第一阶段之后,视觉特征被映射,可以被语言模型理解。要启动第一阶段训练,请运行以下命令:(实验中使用4个A100)

可以在配置文件 trai_cofigs/miigpt4_stage1_pretrai.yaml中更改保存路径

torchru--proc-per-odeNUM_GPUtrai.py--cfg-pathtrai_cofigs/miigpt4_stage1_pretrai.yaml可以在此处下载只有第一阶段训练的MiiGPT-4检查点 。

与第二阶段之后的模型相比,这个检查点经常生成不完整和重复的句子。

2.第二次微调阶段

在第二阶段,使用自己创建的小型高质量图文对数据集,并将其转换为对话格式以进一步对齐MiiGPT-4。

要下载和准备第二阶段数据集,请查看第二阶段数据集准备说明。要启动第二阶段比对,首先在trai_cofigs/miigpt4_stage1_pretrai.yaml 中指定第1阶段训练的检查点文件的路径,在此还可以同时指定输出路径。

然后,运行以下命令:(实验中使用1个A100)

torchru--proc-per-odeNUM_GPUtrai.py--cfg-pathtrai_cofigs/miigpt4_stage2_fietue.yaml

在第二阶段对齐之后,MiiGPT-4能够连贯地和用户友好地谈论图像。

功能介绍

MiniGPT-4 可使用高级大型语言模型增强视觉语言理解。 MiniGPT-4 仅使用一个投影层将来自 BLIP-2 的冻结视觉编码器与冻结 LLM Vicuna 对齐。MiniGPT-4 的...

示例图片

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论