今年四月诞生的多模态大型语言模型 MiniGPT-4 不仅能看图聊天,还能利用手绘草图建网站,可以说是功能强大。而在预训练之后的微调阶段,该模型使用了 3000 多个数据。确实很少,但上海交通大学清源研究院和里海大学的一个联合研究团队认为还可以更少,因为这些数据中大部分质量都不高。他们设计了一个数据选择器,从中选出了 200 个数据,然后训练得到了 InstructionGPT-4 模型,其表现竟优于微调数据更多的 MiniGPT-4!这究竟是如何做到的?
在生成细节丰富和精确的图像描述方面,GPT-4 已经展现出了强大超凡的能力,其标志着一个语言和视觉处理新时代的到来。
因此,类似于 GPT-4 的多模态大型语言模型(MLLM)近来异军突起,成为了一个炙手可热的新兴研究领域,其研究核心是将强大的 LLM 用作执行多模态任务的认知框架。MLLM 出人意料的卓越表现不仅超越了传统方法,更使其成为了实现通用人工智能的潜在途径之一。
为了创造出好用的 MLLM,需要使用大规模的配对的图像 - 文本数据以及视觉 - 语言微调数据来训练冻结的 LLM(如 LLaMA 和 Vicuna)与视觉表征(如 CLIP 和 BLIP-2)之间的连接器(如 MiniGPT-4、LLaVA 和 LLaMA-Adapter)。
MLLM 的训练通常分为两个阶段:预训练阶段和微调阶段。预训练的目的是让 MLLM 获得大量知识,而微调则是为了教会模型更好地理解人类意图并生成准确的响应。
为了增强 MLLM 理解视觉 - 语言和遵循指令的能力,近期出现了一种名为指令微调(instruction tuning)的强大微调技术。该技术有助于将模型与人类偏好对齐,从而让模型在各种不同的指令下都能生成人类期望的结果。在开发指令微调技术方面,一个颇具建设性的方向是在微调阶段引入图像标注、视觉问答(VQA)和视觉推理数据集。InstructBLIP 和 Otter 等之前的技术的做法是使用一系列视觉 - 语言数据集来进行视觉指令微调,也得到了颇具潜力的结果。
但是,人们已经观察到:常用的多模态指令微调数据集包含大量低质量实例,即其中的响应是不正确或不相关的。这样的数据具有误导性,并会对模型的性能表现造成负面影响。
这一问题促使研究人员开始探究这一可能性:能否使用少量高质量的遵循指令数据来获得稳健的性能表现?
近期的一些研究得到了鼓舞人心的成果,表明这个方向是有潜力的。比如 Zhou et al. 提出了 LIMA ,这是一个使用人类专家精挑细选出的高质量数据微调得到的语言模型。该研究表明,即使使用数量有限的高质量遵循指令数据,大型语言模型也可以得到让人满意的结果。所以,研究人员得出结论:在对齐方面,少即是多(Less is More)。然而,对于如何为微调多模态语言模型选择合适的高质量数据集,之前还没有一个清晰的指导方针。
上海交通大学清源研究院和里海大学的一个研究团队填补了这一空白,提出了一个稳健有效的数据选择器。这个数据选择器能够自动识别并过滤低质量视觉 - 语言数据,从而确保模型训练所使用的都是最相关和信息最丰富的样本。
研究者表示,这项研究关注的重点是探索少量但优质的指令微调数据对微调多模态大型语言模型的功效。除此之外,这篇论文还引入了几个专为评估多模态指令数据的质量而设计的新指标。在图像上执行谱聚类之后,数据选择器会计算一个加权分数,其组合了 CLIP 分数、GPT 分数、奖励分数和每个视觉 - 语言数据的答案长度。
通过在用于微调 MiniGPT-4 所用的 3400 个原始数据上使用该选择器,研究者发现这些数据大部分都有低质量的问题。使用这个数据选择器,研究者得到了一个小得多的精选数据子集 —— 仅有 200 个数据,只有原始数据集的 6%。然后他们使用 MiniGPT-4 一样的训练配置,微调得到了一个新模型:InstructionGPT-4。
研究者表示这是一个激动人心的发现,因为其表明:在视觉 - 语言指令微调中,数据的质量比数量更重要。此外,这种更加强调数据质量的变革提供了一个能提升 MLLM 微调的更有效的新范式。
研究者进行了严格的实验,对已微调 MLLM 的实验评估集中于七个多样化且复杂的开放域多模态数据集,包括 Flick-30k、ScienceQA、 VSR 等。他们在不同的多模态任务上比较了使用不同数据集选取方法(使用数据选择器、对数据集随机采样、使用完整数据集)而微调得到的模型的推理性能,结果展现了 InstructionGPT-4 的优越性。
此外还需说明:研究者用于评估的评价者是 GPT-4。具体而言,研究者使用了 prompt 将 GPT-4 变成了评价者,其可以使用 LLaVA-Bench 中的测试集来比较 InstructionGPT-4 和原始 MiniGPT-4 的响应结果。
结果发现,尽管与 MiniGPT-4 所用的原始指令遵循数据相比,InstructionGPT-4 使用的微调数据仅有 6% 那么一点点,但后者在 73% 的情况下给出的响应都相同或更好。
这篇论文的主要贡献包括:
- 通过选择 200 个(约 6%)高质量的指令遵循数据来训练 InstructionGPT-4,研究者表明可以为多模态大型语言模型使用更少的指令数据来实现更好的对齐。
- 文中提出了一种数据选择器,其使用了一种可解释的简单原则来选取用于微调的高质量多模态指令遵循数据。这种方法力求在数据子集的评估和调整中实现有效性和可移植性。
- 研究者通过实验表明这种简单技术能够很好地应对不同任务。相比于原始的 MiniGPT-4,仅使用 6% 已过滤数据微调得到的 InstructionGPT-4 在多种任务上都取得了更优表现。
方法
这项研究的目标是提出一种简单且可移植的数据选择器,使其能自动从原始微调数据集中精选出一个子集。为此,研究者定义了一个选取原则,该原则关注的重点是多模态数据集的多样化和质量。下面将简单介绍一下。
选取原则
为了有效地训练 MLLM,选取有用的多模态指令数据是至关重要的。而为了选出最优的指令数据,研究者提出了两大关键原则:多样性和质量。对于多样性,研究者采用的方法是对图像嵌入进行聚类,以将数据分成不同的组别。为了评估质量,研究者采用了一些用于高效评估多模态数据的关键指标。
数据选择器
给定一个视觉 - 语言指令数据集和一个预训练 MLLM(如 MiniGPT-4 和 LLaVA),数据选择器的最终目标是识别出一个用于微调的子集并且使得该子集能为预训练 MLLM 带来提升。
为了选出这个子集并确保其多样性,研究者首先是使用一个聚类算法将原始数据集分成多个类别。
为了确保所选出的多模态指令数据的质量,研究者制定了一套用于评估的指标,如下表 1 所示。
表 2 则给出了在计算最终分数时,每个不同分数的权重。
算法 1 展示了数据选择器的整个工作流程。
实验
实验评估中所使用的数据集如下表 3 所示。
基准分数
表 4 比较了 MiniGPT-4 基准模型、使用随机采样的数据微调得到的 MiniGPT-4 以及使用数据选择器微调得到的 InstructionGPT-4 的表现。
可以观察到,InstructionGPT-4 的平均表现是最好的。具体来说,InstructionGPT-4 在 ScienceQA 的表现超过基准模型 2.12%,在 OKVQA 和 VCR-OC 上则分别超过基准模型 2.49% 和 4.19%。
此外,InstructionGPT-4 在除 VSR 之外的所有其它任务上都优于用随机样本训练的模型。通过在一系列任务上评估和对比这些模型,可以辨别出它们各自的能力,并确定新提出的数据选择器的效能 —— 数据选择器能有效识别高质量数据。
这样的全面分析表明:明智的数据选择可以提升模型在各种不同任务上的零样本性能。
GPT-4 评估
LLM 本身存在固有的位置偏见,对此可参阅机器之心文章《语言模型悄悄偷懒?新研究:上下文太长,模型会略过中间不看》。因此研究者采取了措施来解决这一问题,具体来说就是同时使用两种排布响应的顺序来执行评估,即将 InstructionGPT-4 生成的响应放在 MiniGPT-4 生成的响应之前或之后。为了制定明确的评判标准,他们采用了「赢-平-输」(Win-Tie-Lose)框架:
1) 赢:InstructionGPT-4 在两种情况下都赢或赢一次平一次;2) 平:InstructionGPT-4 与 MiniGPT-4 平局两次或赢一次输一次;3) 输:InstructionGPT-4 输两次或输一次平一次。
图 1 展示了这种评估方法的结果。
在 60 个问题上,InstructionGPT-4 赢 29 局,输 16 局,其余 15 局平局。这足以证明在响应质量上,InstructionGPT-4 明显优于 MiniGPT-4。
消融研究
表 5 给出了消融实验的分析结果,从中可以看出聚类算法和各种评估分数的重要性。
演示
为了深入了解 InstructionGPT-4 在理解视觉输入和生成合理响应方面的能力,研究者还对 InstructionGPT-4 和 MiniGPT-4 的图像理解和对话能力进行了对比评估。该分析基于一个显眼的实例,涉及到对图像的描述以及进一步的理解,结果见表 6。
InstructionGPT-4 更擅长提供全面的图像描述和识别图像中有趣的方面。与 MiniGPT-4 相比,InstructionGPT-4 更有能力识别图像中存在的文本。在这里,InstructionGPT-4 能够正确指出图像中有一个短语:Monday, just Monday.
更多细节请参见原论文。