Mini-InternVL: A Flexible-Transfer PocketMultimodal Model with 5% Parameters and 90%Performance 论文理解

一、TL;DR

  1. 开发了10亿到40亿不等的MLLM系列,其性能达到InternVL2.0的90%,而参数量仅为5%
  2. 为Mini-InternVL开发了一个统一的适配框架(检测、分类、问答、理解等任务),使模型能够在下游任务中实现迁移
  3. 给出了一些不同任务训练的数据混合参数,有极大的参考意义

二、方法概述

Mini-InternVL首先增强了轻量级视觉编码器的表征能力。用clip的weights初始化3亿的视觉编码器,并使用InternViT-6B 作为teacher模型进行知识蒸馏,最后,通过组装预训练的大语言模型(如Qwen2-0.5B、InternLM2-1.8B 和Phi-3-Mini )相结合,release了10亿、20亿和40亿参数的Mini-InternVL系列。

Mini-InternVL在通用多模态基准测试(如MMBench 、ChartQA 和MathVista )上展现出卓越的多模态性能。值得注意的是,与InternVL2-76B相比,提出的Mini-InternVL-4B仅使用5%的参数,就达到了较大模型90%的性能

进一步引入了一种简单而有效的统一迁移学习范式适应于特定领域的下游任务。包括自动驾驶、医学图像和遥感。标准化了模型架构、数据格式和训练计划。这种方法使模型能够在目标领域内与专有的商业模型相媲美。

三个贡献:

  1. Mini-InternVL用40亿参数就实现了稳健的多模态性能,较低的端侧成本轻松迁移到各种领域的下游任务。
  2. 引入轻量级但强大的视觉编码器InternViT-300M,适用于各种视觉领域。同时引入了一种简单但有效的范式,标准化模型架构、数据格式和训练方法,以实现高效的下游任务迁移。
  3. 结果表明5%的参数就达到了90%的性能。特定领域仅需要少量的微调即可以达到闭源模型效果

三、具体方法

这个方法和InternVL1.5比起来,网络结构的差异就在视觉编码器、LLM上面,具体如下:

3.1 Mini-InternVL

如上图所示,Mini-InternVL由三个主要组件构成:视觉编码器、MLP projector和大语言模型(LLM),MLLMs的参数量如下所示:

  1. Mini-InternVL-1B:InternViT-300M + Qwen2-0.5B
  2. Mini-InternVL-2B:InternViT-300M + InternLM2-1.8B
  3. Mini-InternVL-4B:InternViT-300M +Phi-3-mini

其他的和InternVL1.5几乎一致,dynamic resolution + pixel unshuffle。

Mini-InternVL的训练分为两个阶段:

  1. Language-image alignment:MLP projector的权重为可训练状态。按照InternVL 1.5 的方式多样化训练数据集。
  2. Visual instruction tuning:使用InternVL 1.5 类似的这些数据集进行全参数微调,进一步注入世界知识,并教导模型遵循用户指令。
3.2 InternViT-300M

大多数MLLMS都是爬虫得到图文对完成表征学习,但是这些encoder缺少对视觉世界的全面知识,最终通过LLM的结合迭代生成式预训练来获得。 本文的方法是直接利用一个高质量多样化数据集来训练视觉模型,将知识传递给轻量视觉模型(就是搞数据):

  1. 目的是继承InternVIT-6B的预训练知识
  2. 使用InternViT-6B作为教师模型,并使用CLIP-ViT-L-336px初始化学生模型的权重。通过计算最后K层Transformer层的feature余弦相似度进行对齐学习,得到InternViT-300M。

关键数据集包含四种主要类型的数据:自然图像、OCR图像、图表和多学科图像。所有图像都被调整为448×448的分辨率,禁用了动态分辨率(为了效率)。

3.3 Domain适配

现状:目前尚未建立一个被广泛接受的框架来将 MLLMs 适配到各个下游任务中。

原因:由于不同领域的模型设计、数据格式和训练策略存在差异,导致 MLLMs 之间存在显著的异质性,使得标准化变得困难。

解决方案:提出了一个简单但有效的迁移学习框架。

数据格式统一化
Instruction tuning是训练模型遵循用户指令的关键阶段,其中训练数据被格式化为视觉问答(VQA)和对话格式。下游任务的 VQA 数据集,例如 RSVQA 和 PMC-VQA ,可以直接使用。其他传统任务也需要被格式化成VQA格式:

  1. 图像分类任务
  2. 视觉定位任务
    1. 使用特殊标记 <ref></ref> 来包围要检测的目标名称。通过这个标记,模型可以被引导在 <box></box> 格式中提供目标的位置,格式为 [[x1, y1, x2, y2]],其中坐标范围从 0 到 1000
  3. 区域感知任务
    1. 区域级对话任务在专业领域中很常见。这些任务涉及向模型提供空间位置信息,除了问题输入外。模型需要专注于指定关注区域内的对象以生成回应。
    2. 第一种方法是直接在图像上用边界框、掩码或轮廓标注位置。
    3. 第二种方法是在问题中标记对象为 <box>[[x1,y1,x2,y2]]</box>,其中坐标在 0 和 1000 之间进行归一化。这种标记引导模型的注意力聚焦于图像中的特定区域,使其能够执行区域级描述和区域特定的 VQA 等任务。
  4. 多视图图像
    1. 在自动驾驶中,图像从六个不同的视角捕获。如下图 所示,利用动态分辨率来适应这种类型的数据。
    2. 具体来说,Mini-InternVL 支持根据图像的宽高比将图像分割为 448×448 大小的patch。因此,我们将每张图像调整为 896×448 像素,然后如图所示,将这些图像按固定顺序组合,最终分辨率变为 2688×896。这意味着图像被自动处理成 12 个patch,并添加了一个缩略图以提供模型全局上下文。此外,我们用文本标记每个视角图像的相机位置,例如“CAM_FRONT”。
  5. 视频帧
    Mini-InternVL 支持以交错图像格式的视频帧。对于每张分辨率为 448×448 的图像,模型最多容纳多达 40 帧的序列。

训练策略

在domain adaption阶段,对 Mini-InternVL 进行全参数微调。对于特定领域的应用场景,我们将相应数据转换为所需格式并纳入我们的训练数据集。添加一定比例的通用多模态数据,不会影响特定领域的性能,同时保留模型的通用多模态能力。本文发现添加通用数据可以提高模型在其他任务上的泛化能力。因此,在进行领域适配时,我们可以在平衡计算开销和性能的前提下,选择合适的通用数据比例。

四、Experiments

Mini-InternVL和其他的MLLMs在vision-language benchmarks:

自动驾驶、医学图和遥感的benchmark:

探索数据样本量和模型规模对domain adaption的影响:

数据比例平衡的影响:

  1. 使用了 DriveLM 中的所有样本,并以 DriveLM 样本数量的 r 倍补充通用训练数据。结果如图 4a 所示。仅依赖领域特定的训练数据无法在下游任务中实现最佳性能。引入一定比例的通用数据不仅提升了领域特定任务的性能
  2. r = 0.25 时性能达到峰值

训练样本数量的影响:

  1. 仅使用完整数据集的四分之一进行模型训练,性价比高,显著减少了训练期间的计算负担,但性能损失较小

不同的Adaptation Methods:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值