InternVL 多模态模型部署微调实践

写在前面(什么是InternVL)

InternVL 是一种用于多模态任务的深度学习模型,旨在处理和理解多种类型的数据输入,如图像和文本。它结合了视觉和语言模型,能够执行复杂的跨模态任务,比如图文匹配、图像描述生成等。通过整合视觉特征和语言信息,InternVL 可以在多模态领域取得更好的表现

InternVL 模型总览

对于InternVL这个模型来说,它vision模块就是一个微调过的ViT,llm模块是一个InternLM的模型。对于视觉模块来说,它的特殊之处在Dynamic High Resolution。

Dynamic High Resolution

InternVL独特的预处理模块:动态高分辨率,是为了让ViT模型能够尽可能获取到更细节的图像信息,提高视觉特征的表达能力。对于输入的图片,首先resize成448的倍数,然后按照预定义的尺寸比例从图片上crop对应的区域。细节如图所示。

cd /root
mkdir -p model

# cp 模型

cp -r /root/share/new_models/OpenGVLab/InternVL2-2B /root/model/

Pixel Shuffle

Pixel Shuffle在超分任务中是一个常见的操作,PyTorch中有官方实现,即nn.PixelShuffle(upscale_factor) 该类的作用就是将一个tensor中的元素值进行重排列,假设tensor维度为[B, C, H, W], PixelShuffle操作不仅可以改变tensor的通道数,也会改变特征图的大小。

InternVL 部署微调实践

我们选定的任务是让InternVL-2B生成文生图提示词,这个任务需要VLM对图片有格式化的描述并输出。

让我们来一起完成一个用VLM模型进行冷笑话生成,让你的模型说出很逗的冷笑话吧。在这里,我们微调InterenVL使用xtuner。部署InternVL使用lmdeploy。

准备InternVL模型

我们使用InternVL2-2B模型。该模型已在share文件夹下挂载好,现在让我们把移动出来。

准备环境

这里我们来手动配置下xtuner。

  • 配置虚拟环境
conda create --name xtuner python=3.10 -y

# 激活虚拟环境(注意:后续的所有操作都需要在这个虚拟环境中进行)
conda activate xtuner

# 安装一些必要的库
conda install pytorch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 pytorch-cuda=12.1 -c pytorch -c nv
### 部署InternVL多模态模型用于处理食物相关任务 对于部署InternVL多模态模型来执行与食品有关的任务,该过程涉及几个重要方面。首先,理解InternVL是一个强大的框架,旨在通过融合视觉和语言数据实现更深层次的理解能力[^1]。 #### 准备环境 为了成功部署模型,需确保计算环境中安装有必要的依赖库以及配置好硬件支持。通常情况下,这包括但不限于Python编程语言及其科学计算包如NumPy、Pandas;深度学习框架比如PyTorch或TensorFlow;以及其他特定于项目的软件需求。 ```bash pip install numpy pandas torch torchvision transformers ``` #### 数据预处理 针对食品识别或其他相似应用领域,在输入到模型之前要对图像及文本描述进行标准化处理。例如裁剪图片至固定尺寸、调整色彩空间参数等操作可以提高最终预测准确性。同时也要注意清理并格式化任何伴随的文字说明以便更好地配合视觉特征一起训练。 #### 加载预训练权重 利用已有的大规模语料库上预先训练好的网络结构作为起点往往能显著减少新项目所需的时间成本和技术难度。因此建议从官方资源获取最新的InternVL版本,并加载对应的参数文件完成初始化工作。 ```python from internvl import InternVLMultimodalModel model = InternVLMultimodalModel(pretrained=True) ``` #### 自定义微调 考虑到具体应用场景的独特性,可能还需要基于目标域的数据集进一步优化现有架构性能。这意味着收集足够的样本实例来进行监督式学习阶段中的超参调节实验直至获得满意的效果为止。 #### 接口封装和服务发布 最后一步则是构建易于使用的API接口供外部程序调用访问。RESTful风格的服务端点能够方便地与其他系统集成起来形成完整的解决方案链路图。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值