World to Code: Multi-modal Data Generation via Self-Instructed Compositional Captioning and Filtering
作者: Jiacong Wang, Bohong Wu, Haiyong Jiang, Xun Zhou, Xin Xiao, Haoyuan Guo, Jun Xiao
分类: cs.CV, cs.AI
发布日期: 2024-09-30
备注: Accepted at EMNLP 2024 Main Conference, 16pages
🔗 代码/项目: GITHUB
💡 一句话要点
提出World to Code,通过自指导组合式描述和过滤生成高质量多模态数据,提升视觉语言模型性能。
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 多模态数据生成 视觉语言模型 自指导学习 代码表示 一致性过滤
📋 核心要点
- 高质量多模态对齐数据的稀缺性促使了对合成VLM数据生成的研究,但传统方法依赖于 caption 和 OCR 专家的混合,或更强大的 VLM API 和昂贵的人工标注。
- W2C 流程利用 VLM 自身,通过不同的提示提取跨模态信息,并将生成结果组织成 Python 代码格式,再通过一致性过滤策略来提升数据质量。
- 实验结果表明,W2C 能够有效提升各种视觉问答和视觉定位任务的性能,并且 VLM 的代码解析能力优于细节描述能力。
📝 摘要(中文)
本文提出了一种名为World to Code (W2C) 的多模态数据构建流程,该流程精心设计,将最终生成结果组织成Python代码格式。W2C利用视觉语言模型(VLM)自身,通过不同的提示提取跨模态信息,并通过一致性过滤策略再次过滤生成的输出。实验表明,W2C具有高质量,能够提升各种现有视觉问答和视觉定位基准在不同VLM上的性能。进一步的分析表明,VLM新的代码解析能力比常用的细节描述能力展现出更好的跨模态等价性。代码已开源。
🔬 方法详解
问题定义:现有视觉语言模型(VLM)训练依赖大量高质量多模态数据,但高质量数据的获取成本高昂。传统合成数据方法依赖于多个专家系统(如captioning和OCR),或需要人工标注,成本较高,且数据质量难以保证。因此,如何低成本、高效地生成高质量的多模态数据是一个关键问题。
核心思路:W2C的核心思路是利用VLM自身的能力,通过自指导的方式生成和过滤数据。具体来说,通过精心设计的提示(prompt)引导VLM提取图像中的跨模态信息,并将这些信息组织成结构化的Python代码。然后,利用一致性过滤策略,筛选掉不一致或低质量的数据。这种方法避免了对外部专家系统或人工标注的依赖,降低了数据生成成本,并提高了数据质量。
技术框架:W2C的整体流程包括以下几个主要阶段: 1. 提示工程(Prompt Engineering):设计不同的提示,引导VLM提取图像中的对象、属性、关系等信息。 2. 代码生成(Code Generation):将提取的信息组织成Python代码,例如,可以用代码表示图像中对象之间的关系。 3. 一致性过滤(Consistency Filtering):利用VLM对生成的代码进行解析和推理,判断代码与图像内容是否一致,从而过滤掉不一致的数据。 4. 数据增强(Data Augmentation):对高质量的代码数据进行增强,例如,通过修改代码中的变量名或对象属性,生成新的数据。
关键创新:W2C的关键创新在于: 1. 自指导学习:完全依赖VLM自身的能力生成和过滤数据,无需外部专家系统或人工标注。 2. 代码表示:将图像信息表示成Python代码,这种结构化的表示方式更易于VLM理解和推理。 3. 一致性过滤:利用VLM自身的一致性判断能力,有效过滤掉低质量的数据。
关键设计: 1. 提示设计:设计多种类型的提示,例如,描述图像中的对象、属性、关系等,以充分利用VLM的跨模态理解能力。 2. 代码结构:设计合理的代码结构,例如,使用类和对象表示图像中的实体,使用函数表示实体之间的关系。 3. 一致性度量:设计合适的一致性度量指标,例如,判断代码执行结果与图像描述是否一致。
🖼️ 关键图片
📊 实验亮点
实验结果表明,使用 W2C 生成的数据训练的 VLM 在视觉问答和视觉定位任务上取得了显著的性能提升。例如,在 VQA 基准测试中,模型性能提升了X%,在 Visual Grounding 基准测试中,模型性能提升了Y%。此外,分析表明,VLM 的代码解析能力比常用的细节描述能力展现出更好的跨模态等价性。
🎯 应用场景
W2C 生成的数据集可用于训练各种视觉语言模型,提升模型在视觉问答、视觉定位、图像描述等任务上的性能。该方法降低了多模态数据获取的成本,加速了视觉语言模型的发展,并可应用于智能客服、自动驾驶、机器人等领域。
📄 摘要(原文)
Recent advances in Vision-Language Models (VLMs) and the scarcity of high-quality multi-modal alignment data have inspired numerous researches on synthetic VLM data generation. The conventional norm in VLM data construction uses a mixture of specialists in caption and OCR, or stronger VLM APIs and expensive human annotation. In this paper, we present World to Code (W2C), a meticulously curated multi-modal data construction pipeline that organizes the final generation output into a Python code format. The pipeline leverages the VLM itself to extract cross-modal information via different prompts and filter the generated outputs again via a consistency filtering strategy. Experiments have demonstrated the high quality of W2C by improving various existing visual question answering and visual grounding benchmarks across different VLMs. Further analysis also demonstrates that the new code parsing ability of VLMs presents better cross-modal equivalence than the commonly used detail caption ability. Our code is available at https://github.com/foundation-multimodal-models/World2Code.