(一)多模态大模型系列-InternVL2

——————————————————12月25日更新——————————
《关于InternVL2.5的模型训练方法》
《关于InternVL2.5的模型训练效果》

——————————————————————————————————————————

InternVL2模型系列

这是InternVL2模型的官方github地址,InternVL2是继InternVL1.5后上海人工智能实验室发布的新版多模态大模型,它拥有多个不同规模大小的尺寸,它的模型尺寸以及对应的视觉、语言模块如下:

模型尺寸视觉模块语言模块
InternVL2‑1BInternViT‑300M‑448pxQwen2‑0.5B‑Instruct
InternVL2‑2BInternViT‑300M‑448pxinternlm2‑chat‑1‑8b
InternVL2‑4BInternViT‑300M‑448pxPhi‑3‑mini‑128k‑instruct
InternVL2‑8BInternViT‑300M‑448pxinternlm2_5‑7b‑chat
InternVL2‑26BInternViT‑6B‑448px‑V1‑5internlm2‑chat‑20b
InternVL2‑40BInternViT‑6B‑448px‑V1‑5Nous‑Hermes‑2‑Yi‑34B
InternVL2-Llama3-76BInternViT‑6B‑448px‑V1‑5Hermes‑2‑Theta‑Llama‑3‑70B

可以看到模型的尺寸种类包含了从1B到76B,基本可以覆盖绝大多数的需求范围,更详细的表格说明可以点开上面链接查看。在后续的系列文章中我将以InternVL2‑4B作为样例进行说明(其它尺寸模型的使用基本一致),如果你的环境资源有限,那么可以以InternVL2‑1B模型作为上手的选择。


InternVL2可以用来做什么

其实这个问题也是本系列文章的核心,我们要用InternVL2来做什么?
多模态大模型的能力就是通过输入目标图像+文本描述信息->模型针对图像的回答,针对这个能力后续的文章将会讲解如何让InternVL2去做比YOLO等检测模型更高精度、更高召回率的目标检测任务。
当然InternVL2相比于其它多模态拥有更多的下游任务选项,而上面的检测任务相对较为复杂。完成检测任务后其它任务也可以相通。


InternVL2目标检测任务的效果

精确率、召回率会有更改,介于最新的实验结果

该系列文章以实际的项目结果作为导向编写。本次实验中使用了多个尺寸的InternVL2模型进行了目标检测验证,包括InternVL2‑1B、InternVL2‑4B、InternVL2-8B等不同尺寸,训练完成后按照检测模型的方式设置IOU在复杂的自定义数据集的多个类别标签上计算PR值,得到的最佳结果为精确率=0.926,召回率=0.935,相比于同样数据集训练后的YOLO系列有巨大的提升。
在测试的多个多模态大模型中InternVL2比其它模型(例如LAVA、MiniCPM-V等),如果策略选择更好那参数量更少的同时效果会更好,所以这个系列选择以InternVL2多模态大模型进行讲解。


InternVL系列主要分享的内容

一个详细、完整的多模态大模型教程,从环境安装到部署实用

1. 环境安装
会借鉴官网给的教程提供InternVL2的环境安装方式,并且会提供一些自己遇到的错误问题和解决方式。

2. 数据集制作
关于InternVL2如何制作目标检测数据集提供完整的python脚本,通过将原来img->xml对应的经典检测数据集格式转换成GPT对话格式,无缝参与训练。
数据集的制作会有一些小技巧来提高PR值(精确率、召回率),这对训练来说相当重要,官网是没有提供的。
如何自定义文字描述类标签更合适。

3. InternVL2微调
提供InternVL2的整个训练流程,包括模型下载、文件配置、参数修改、lora微调(或者full微调)、训练策略。其中最重要的就是训练策略,InternVL2或者说多模态的训练方式和传统的模型训练有较大的区别,如果没有正确或者说合适的训练策略那训练的效果将会很差。并且一通百通,其它的多模态例如LLAVA、MiniCPM-V等都适用。
!!!非指定性目标检测,如果你看InternVL2的检测任务文档,你会发现他做的是指定性目标检测,这种检测任务适用性很差,你需要在提问中指定需要检测的目标,这一点在后续的《关于InternVL2的数据制作(如何制作YOLO类型的定位数据集)》和训练章节中会讲解并改变这种检测任务,让它更适用。

4. 单卡、多卡推理
如何对训练完成的模型进行推理,包括lora合并、缺失文件补全等。

5.如何评估InternVL2模型
通过制作脚本计算目标检测使用的混淆矩阵,返回多模态模型在测试集上的精度、召回率等指标,更加直观展现模型的好坏与每个类别的情况,以便针对性调整。

6.对InternVL2模型进行加速
通过加速后InternVL2模型进行实测会比Transformers模型的推理快三倍以上,效果相当的可观!!!

7. InternVL2的模型结构
分析InternVL2的模型结构,主要是语言层、视觉层以及校准层,其中InternVL2的模型和其它多模态还有点不一样。

8. InternVL2(多模态模型)的分享
长期会分享一些平时使用InternVL2等多模态模型在实践中的相关知识,例如断点继续训练、如何使用vscode调试多模态大模型、优化推理时间等等。

9. 持续更新(包括InternVL2.5)。。。。。。


目前Mini-InternVL已经发布了,根据官网描述只需要原来模型5%的参数量就能实现对应尺寸模型90%以上的性能。本系列应该也是可以适应Mini-InternVL的,后续也会发布关于Mini-InternVL的相关文章。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值