Monkey 论文阅读
paperreading
本文字数:1.4k 字 | 阅读时长 ≈ 5 min

Monkey 论文阅读

paperreading
本文字数:1.4k 字 | 阅读时长 ≈ 5 min

1. Monkey 论文阅读

Monkey: Image Resolution and Text Label Are Important Things for Large Multi-modal Models. HUST, Kingsoft

1.1 论文动机

本篇论文主要解决在 large multimodal models(LMMs)中低分辨率的问题,以前的模型采用 CLIP-224 模型,此模型的分辨率过低,本篇论文采用更高分辨率的 CILP 模型($448\times 448$),模型被叫做 Monkey。

经过高分辨率处理之后,Monkey 最多可以处理$1344\times 896$分辨率的图像。此外使用了一个 multi-level 的生成模型,丰富了场景描述的生成。其中高分辨率能够捕捉图像中更精细的视觉元素,从而对图像进行全面的描述。文章对 18 个数据集进行了实验验证了其有效性,同时对于密集文本的问答,产生了与 GPT-4V 相当的结果。

下图是 Monkey 与多个方法比较后的结果

1.2 论文介绍

LMMs 会从高分辨率的图像中受益,因为高分辨率允许模型检测出更多细微的视觉细节,从而更加精确地识别图像中的对象,相关性,以及图片中更多的内容。此外,识别更多的图像有助于更好的进行详细的 captioning。

由此,作者引入了 Monkey,resource-efficient 的方法来增加大语言模型的分辨率,模型使用 sliding window 的方法来讲高分辨率的图片分为一个个小的 patch,每个 patch 通过静态的视觉编码器来分别处理,视觉编码器通过 LoRA 进行微调,随后特征通过一个 shared resampler 进行处理。

为了进一步利用高分辨率的优势,作者提出了一个自动的 multi-level 的描述生成方法,该方法被设计用来产生高质量的丰富的 caption 数据,通过与多种生成器相结合来无缝的生成数据,包含:BLIP2,PPOCR,GRIT,SAM,ChatGPT。

本文的主要贡献:

1.3 方法细节

模型的整体结构如下所示,输入图片首先被划分为不同的 patch,然后通过一个 shared vit 配备distinct的 adapters,随后 local 和 global 特征以及问题通过一个 shared resampler 和 llm 进行处理,最终生成答案。

1. enhancing input resolution

之前 Qwen-VL 等方法通过 curriculum learning 支持$448\times 448$的分辨率,但是这种方法需要大量的资源来训练(resource-demanding),本问题提出了一个简单且有效的方法来解决这个问题。

如模型结构所表示的,首先作者将原图分为六个部分,每一个部分尺寸都为预训练的 ViT 的输入大小,然后分别用 ViT 进行处理,注意这里的 ViT 都用 LoRA 进行微调(每一部分都独立初始化一个 LoRA,这是因为图片的不同部分视觉特征可能不同),最后整幅图输入到 ViT 中得到 Global feature(这里的 ViT 不需要进行微调)

2. Multi-level Description Generation

数据生成的过程如下图所示,之前的 LLaVA、Qwen-VL 使用 LAION,COYO 和 CC3M 等数据,但是这些数据的 image-text pairs 通常太简单了(描述的不够详细),因此,即使在高分辨率图像上进行训练,也很难将视觉特征和 caption 进行连接。

如下图所示,作者通过使用多个现成的 generators 来生成 multi-level 的描述。其中,BLIP2 用文本来提供对图像的描述,PPOCR 进行 OCR 识别,GRIT 进行细节的 image-text 匹配,SAM 进行语义对齐,ChatGPT 进行语言的生成。流程如下:首先利用 BLIP2 来生成图片描述,同时维持 CC3M 原有的描述;GRIT 生成具体区域的细节描述;PPOCR 提取图中的文本;SAM 分割识别目标物体和他们所在区域,这些物体随后通过 BLILP2 来分别进行描述。然而,这些 generators 会有一些不准确的描述,因此作者使用 BLIP2 来检查图片区域,目标物体和他们的描述,并过滤掉分数很低的匹配。最终,全局 caption,定位描述,提取的文本和目标的细节以及坐标都输入到 ChatGPT 的 API 当众进行微调,确保 ChatGPT 能够生成准确地高质量的图片描述。

3. Multi-task Training

作者进行了多任务的学习,对于 caption 任务,作者使用“Generate the caption in English:”;对于 basic captions,作者使用“Generate the detailed caption in English:”,其他任务是“{question} Answer: {answer}”的形式

不同任务使用不同的公共数据集,并总结为如下表格,一共 1.44M 个数据

1.4 训练细节

模型配置:使用 ViT-BigHuge 当做视觉编码器,使用 Qwen-VL 当做 LLM,其中视觉编码器的输入为$448\times 448$,Shared Resampler 的 learnable queries 为 256,由于训练时间的限制,主要的实验都是在$896\times 896$的分辨率上进行的,对于 LoRA,rank=16,MLP 为 32

参数:LLM 包含 7.7B 的模型参数,Resampler 包含 90M,Encoder 包含 1.9B,LoRA 包含 118M,一共 9.8B

训练:使用 AdamW 优化器,学习率设置为 1e-5,使用余弦学习率衰减,warmup=100,bs=1024,weight decay=0.1,一个 epoch 训练使用 40 个 A100 days

4月 06, 2025
3月 10, 2025
12月 31, 2024