发表时间:2 Feb 2024
论文链接:https://arxiv.org/pdf/2306.17107 作者单位:Georgia Tech
Motivation:指令调整增强了大型语言模型 (LLM) 与人类交互的能力。此外,最近的指令跟踪数据集包括图像作为视觉输入,收集基于图像的指令的响应。然而,当前的视觉指令调整模型不能很好地理解图像中的纹理细节。
解决方法:这项工作使用文本丰富的图像(例如电影海报、书籍封面等)增强了当前的视觉指令调整管道。具体来说,我们首先使用公开可用的 OCR 工具从 LAION 数据集中收集 422K 文本丰富图像的结果(第一阶段使用)。此外,我们使用识别的文本和图像标题提示纯文本 GPT-4 以生成 16K 个对话(第二阶段使用),每个对话都包含用于文本丰富图像的问答对。
实现方式:
文中用DiT作为骨架网络、RVL-CDIP数据集作为训练集训练了一个图像分类模型,对LAION-5B的图片进行了分类,把图片分为包含丰富文本信息、不包含文本信息的两部分,即把预测概率大于0.8同时满足p(watermark)<0.8 和 p(unsafe)<0.5 的图片作为一个候选集合。为了进一步清洗数据,文中随机选择了50K的图片(应该是选了好多次才得到后面的422K文本信息丰富的图片),同时基于CLIP-ViT-B/32模型输出的视觉特征,把50K图片聚为100个cluster,然后把14个cluster选了出来(包含丰富文本的图片,包括海报、封面、广告、教育资料以及商标等)。
收集了两个数据集:
-
Noisy Instruction-following Data(第一阶段使用,与 LlaVA 的 595K 预训练数据一起使用)
基于聚类模型,把422K文本信息丰富的图片划分到14个cluster里面,同时为了保证样本类别均衡,每一个cluster的样本不超过52K。挑选的图片用PaddleOCR识别里面的单词,同时基于一些规则将识别的单词转换为文本,然后生成单轮的对话数据集。每一轮对话包括:从下面的表格中随机选择的指令作为输入,识别的文本作为输出。
-
基于GPT-4的高质量指令微调数据集(GPT-4-based Instruction-following Data)(第二阶段使用,指令微调数据集),用OCR识别的结果以及图片的caption作为GPT-4的提示词,生成高质量指令微调的数据集。 首先从生成带噪声的指令微调数据集的14个cluster中选择4个cluster,然后从每一个cluster随机选择4K图片(与上面的指令微调数据集的图片不重复),共16K图片。接下来,将OCR识别结果和图像caption作为提示词,基于GPT-4生成对话结果。生成的问题作为指令微调数据集的指令,每一个问题的答案作为输出。
模型结构和训练方式与LLaVA基本相同:
视觉编码器:CLIP-ViT-L/14 for 224*224 resolution and CLIP-ViT-L/14-336 for 336*336 文本编码器: Vicuna-13B
训练:遵循 LLaVA 的两阶段训练设计(图 3)。两个阶段的训练目标相同:generate output responses (<res>) for the input instructions (<ins>). (i) 在第一个预训练阶段,只训练投影矩阵 W 进行特征对齐。由于解码器 D 被冻结,训练可以容忍噪声数据。在预训练阶段,我们将 LlaVA 的 595K 预训练数据与我们的 422K 噪声指令跟踪数据相结合。 (ii) 第二阶段:投影矩阵 W 和语言解码器 D 在微调阶段都进行训练,我们将 16K 指令跟踪数据合并到来自 LlaVA 的 158K 指令跟踪数据中作为训练集。 请注意,视觉编码器在整个训练过程中被冻结,这可能会限制文本识别性能,因为 CLIP 是针对通用文本图像对齐进行训练的。 更好的视觉编码器或CLIP-ViT微调的选择可能会进一步有利于视觉理解能力,我们将其留待未来的工作。
实验:text-based VQA datasets: ST-VQA [ 45], OCR-VQA [ 32], TextVQA [ 46 ], and DocVQA
结论:使用 LAION 数据集中的文本丰富图像,我们仅使用 OCR 结果收集 422K 噪声指令跟踪示例,以及基于纯文本 GPT-4 的 16K 高质量指令跟踪数据。这两组数据被用来相应地增强 LLAVA 的预训练阶段和微调阶段。
在未来的工作中,我们鼓励探索 :
(i) 更好的图像选择标准或域重新加权策略
(ii) 更多数据高效和计算效率高的方法来增强具有多模态能力的指令跟随模型,尤其是在高分辨率场景中。