BLIP和PaliGemma模型:合成VQA数据生成实战
在人工智能领域,特别是对于视觉问答(VQA)等任务,对高质量、大规模数据集的需求往往与手动标注的高昂成本和耗时相冲突。利用先进的视觉语言模型(VLM)生成合成数据,提供了一个引人注目的解决方案。本系列两部分文章的第一部分详细介绍了使用“VLM即评判者”方法构建此类数据集的基础步骤。在此,我们演示了如何利用两个著名的开源VLM:Salesforce的BLIP和Google的PaliGemma,初步生成原始VQA标注。
我们的过程始于获取大量图像,作为合成数据集的基础。我们从VQAv2综合数据集的一个较小子集的验证集中提取了21,435张图像。这些图像为随后的问答任务提供了视觉上下文。
图像准备就绪后,下一阶段涉及使用Salesforce的引导式语言-图像预训练(BLIP)模型进行推理。对每张图像提出了四组通用问题:“这张图片中发生了什么?”,“图片中有多少人?”,“你看到了什么物体?”,以及“这张图片的主要内容是什么?”。BLIP模型被配置为视觉问答管道,并在可用时针对GPU执行进行了优化,处理每个图像-问题对,生成一个单一的、排名最高的答案。所有21,435张图像的响应被系统地收集并保存到JSON文件中,尽管利用了A100 GPU,该过程仍耗时约2.5小时完成。
为了确保更广泛的研究社区的易用性和可访问性,这些原始的BLIP生成标注随后被转换为标准化的Hugging Face数据集格式。这涉及到将嵌套的JSON结构转换为扁平的示例列表,每个示例包含一个图像、其对应的问题以及模型生成的答案。至关重要的是,数据集模式被明确定义为正确加载图像数据而不仅仅是文件路径,同时还包含问题和答案的字符串值。最终生成的数据集随后被推送到Hugging Face Hub,公开供进一步研究和开发。
在BLIP标注之后,使用Google的PaliGemma模型(特别是paligemma2-3b-mix-224
变体)生成了第二组独立的响应。相同的21,435张图像用相同的四组问题进行处理,但适应了PaliGemma偏好的提示格式:“Question: <你的问题>\nAnswer:”。这个条件生成模型接收图像和提示,然后生成答案,随后对答案进行清理以删除任何冗余的提示文本。这次大规模的推理运行同样在A100 GPU上执行,耗时更长,约为4小时,生成了一个独立的JSON文件,其中包含PaliGemma的完整合成VQA标注集。
与BLIP输出的处理过程类似,PaliGemma标注也转换为Hugging Face数据集格式。这包括加载JSON数据,将其重构为独立的示例,并应用清理步骤以确保答案不含多余的格式或重复的提示元素。由于模式已正确定义以处理图像和文本字段,这个第二个合成数据集也上传到了Hugging Face Hub,提供了一组来自不同最先进VLM的补充VQA标注。
这一初始阶段成功建立了两个独特的合成视觉问答数据集,每个数据集都包含由模型生成的超过21,000张图像的答案,分别来自Salesforce BLIP和Google PaliGemma。这些数据集代表了可扩展VQA研究迈出的重要一步,减少了对昂贵手动标注的需求。本系列的第二部分现已准备就绪,其中第三个VLM将扮演“评判者”的角色,通过自动化比较和选择,评估和整理这两组标注,以生成最终的高质量合成VQA数据集。