视觉语言模型VLM的数据集构建与处理策略调研

前言

在算法的工业应用当中,数据集的获取和清洗往往是一大挑战。比如在AI4S的研究里面就因为数据的格式混乱、标签缺失、噪声巨大从而需要对公开的数据集进行额外的数据清洗工作

因此,本文对一些常见视觉语言模型的数据集构建和处理策略提供调研和归纳,希望能给有类似需求的科研工作者一些参考。

参考的部分信息源:

Qwen2.5‑VL

信息源:

模型简介

Qwen2.5‑VL 是阿里巴巴推出的最新视觉语言模型,具有强大的图像理解、文档解析、视频处理和多模态推理能力。其特点包括原生分辨率处理、绝对时间对齐编码、多尺寸模型发布,以及较强的通用推理与 Agent 能力。

数据规模

Qwen2.5‑VL 预训练使用的数据总量高达 4.1 万亿 tokens,比前一代 Qwen2-VL(1.2 万亿)大幅增加,且模型支持 最长 32,768 tokens 的上下文序列。

训练数据分布

 

数据来源

Qwen2.5‑VL 使用多种来源的多模态数据,涵盖图文对、文档、视频、图表、OCR、多语言文本、Agent 操作轨迹等,部分来源包括公开数据集、合成数据和内部收集数据。

数据类型来源类型
图文交错数据清洗网页原始图文数据(未提及来源) + 内部模型打分筛选
OCR 数据合成数据(视觉文本生成引擎)+ 开源数据 + 内部采集
图表数据合成(使用 matplotlib / seaborn / plotly)
表格数据真实样本 + 表格识别模型过滤
视频数据视频采集(未提及来源) + 多帧字幕合成(未展开说明合成策略) + 时间戳格式化
定位数据公共数据 + 合成数据(Grounding DINO、SAM)
点选数据公共数据(PixMo)+ 合成数据
文档数据合成数据,统一为 HTML 格式
Agent 感知多平台截图 + UI 元素合成标注
Agent 决策多步操作轨迹(开源 + 合成)+ 推理解释人工生成

清洗策略

第一阶段:领域特定分类(Domain-Specific Categorization)

  • 使用了一个名为 Qwen2-VL-Instag 的分类模型(由 Qwen2-VL-72B 派生)对问答数据进行层级式的语义分类

  • 这个分类器把问题-答案对划分为 8 个主领域(如 Coding、Planning 等),并进一步细分为 30 个子类(如 Code_Debugging、Code_Generation 等)。

  • 这种层级结构有助于实现针对不同领域的定制化清洗策略,优化监督微调(SFT)数据的相关性与质量。

第二阶段:规则 + 模型评分的领域定制过滤(Domain-Tailored Filtering)

规则基础过滤(Rule-Based Filtering)
  • 移除低质量样本,如:

    • 重复模式和样本

    • 不完整、截断、格式错误的响应(尤其见于合成和多模态数据);

    • 伦理风险内容或文本-图像不相关的样本

  • 根据任务类别定制过滤策略,例如文档处理、OCR、视觉定位任务有不同的清洗需求。

模型基础评分(Model-Based Filtering)
  • 使用 Qwen2.5-VL 奖励模型对 QA 对进行多维度打分,包括:

    • 问题复杂度与相关性;

    • 回答的准确性、完整性、清晰度、相关性与帮助程度;

    • 对视觉任务特别关注图像信息的准确解释与使用

  • 仅保留高分样本用于进入监督微调阶段。

InternVL2.5

信息源

  • 官网:huggingface.co

  • 知乎解读:https://zhuanlan.zhihu.com/p/12309812997

模型简介

InternVL 2.5 是上海人工智能实验室(Shanghai AI Lab)发布的一款开放源代码的大型多模态语言模型(MLLM),继承了 InternVL 2.0 的架构,并在训练策略、测试策略和数据质量上做出了显著提升。它采用典型的 ViT(视觉编码器)+ MLP 投影器 + LLM(语言模型)架构,支持文本、图像和视频输入,表现媲美 GPT-4o 和 Claude 3.5。

数据规模

  • 预训练阶段数据规模:约 120B tokens(显著低于 Qwen2-VL 的 1.4T tokens)

  • 微调阶段数据规模:共计 约 1630 万(16.3M)样本

    • 覆盖单图、多图、视频、纯文本等多种模态。

    • Token 总数显著增长,尤其在多模态任务中,视觉 token 占据很大比例

微调阶段不同模态数据的分布

数据来源

该工作针对不同的任务列出来了丰富的数据集来源

预训练阶段数据集来源
微调阶段数据集来源

清洗策略

以下策略暂未给出源代码链接

基于 LLM 的质量评分(LLM-Based Quality Scoring)

只针对纯文本数据,因为大模型对多模态数据进行打分的能力受限

  • 首先将数据集按领域(如学科类、编程类、数学类、通用类)进行分类;

  • 然后使用一个预训练的语言模型(LLM)和相应领域的提示语(prompt)为每条样本打分(0–10 分);

  • 分数低于指定阈值(如 7 分)的样本将被移除。

重复模式检测(Repetition Detection)

针对纯文本数据+多模态数据

  • 使用带有特定提示语的 LLM 检测重复模式

  • 被识别的样本会接受人工复核

  • 在针对文本数据的重复检测中,最终分数低于阈值(如 3 分)的样本将被删除

  • 在针对多模态数据的重复检测中,只对非高质量学术数据集应用重复检测

基于启发式规则的过滤(Heuristic Rule-Based Filtering)

针对纯文本数据+多模态数据

  • 通过预设规则识别异常数据,例如:

    • 句子长度异常;

    • 过长的“0”字符序列;

    • 文本中出现大量重复行等;

  • 所有被标记的样本都需经过人工复查后再决定是否删除。

  • 虽然该方法可能会有误报,但能有效提升异常检测的能力。

Seed1.5‑VL

信息源

模型简介

Seed1.5-VL 是由 字节跳动 ByteDance 开发的通用多模态基础模型,具备图像、视频、文本和人机交互等多种模态的感知与推理能力。它的架构由三个部分组成:一个 5.3 亿参数的视觉编码器 SeedViT、一个 MLP Adapter,以及一个 20 亿激活参数的 Mixture-of-Experts LLM。

它在 60 个公开 benchmark 中取得了 38 项 SOTA 表现,特别是在 GUI 操控、视觉推理等任务中超过了 OpenAI CUA 和 Claude 3.7。

数据规模

Seed1.5-VL 的预训练数据总计 3 万亿 tokens,涵盖 4.8B 图文对6500 万视频-文本对,还有其他图像、音频、OCR 等数据。

预训练阶段的数据规模

数据来源

数据类型数据来源
图文对网页 alt 文本、caption、上下文,自动语义标注与再平衡
OCR 文档真实数据(从网页和文档中收集页面,并用内部工具提取内容与版式) + 合成(SynthDog、LaTeX),增强处理(模糊、摩尔纹、畸变等扰动操作)
图表FigureQA + 合成(Matplotlib、ECharts、自动 LLM pipeline)
表格从网页 HTML、GitHub README 和 arXiv LaTeX 文件中提取文本
定位与计数OpenImages、RefCOCO、Objects365 + 自动标注(Grounding DINO)
点选数据PixMo + Molmo/CountGD 自动标注
视频数据公共视频数据集 + 内部采集 + 实时评论数据(未提到采集方法)
三维理解DepthAnything V2 推断 + 公开数据集
STEM 数据K12 教材、题库、化学图 + 自动生成与人工标注
GUI 数据UI-TARS + 内部网页/App/桌面截图 + 元数据解析与标注

清洗策略

通用图文数据(如 image-text pairs):

  • 图文相似度筛选(通过 CLIP 模型计算图像和文本的嵌入相似度,低于阈值的样本被剔除)

  • 图像维度过滤(如小于某个分辨率阈值,或 aspect ratio 超出合理范围(例如 >3:1),则剔除尺寸过小或极端高宽比的图片)

  • 文本长度过滤(如长度 <10 或 >1024 字符可能被判为无效描述或异常网页内容)

  • URL/domain 黑名单(对某些已知低质量站点全量过滤)

  • 重复样本去重(使用感知哈希(如 dHash/pHash)判断图像是否结构相似;文本用相似度阈值去重)

  • 长尾概念重加权采样

视频数据:

  • 内容复杂度自适应采样(1/2/5 FPS)

  • 动态分辨率分配(最高 81920 tokens 视频上限)

  • 时间戳 token 添加

  • 视频 QA、逐帧推理、实时评论数据清洗,具体解释如下:

    • ​​​​插入字幕与问答数据(Interleaved Caption/QA Data):我们通过对视频片段进行分段,生成对应字幕,或基于时间顺序构造多轮问答对,并将这些字幕与问答内容插入到视频中的对应时间戳位置,以强化模型对实时视频的理解能力。

    • 主动推理数据(Proactive Reasoning Data):我们将已有的视频问答与密集字幕数据重构为逐帧响应格式。这类数据要求模型能够持续监控视频流,并主动判断在何时生成响应,从而形成持续性的理解与推理链条。

    • 实时解说数据(Realtime Commentary Data):我们利用天然带有时间同步标注的视频解说数据,构建出精细的帧与文本交错对齐结构。这类结构能使模型在面对中断、暂停等复杂情境时,动态更新响应内容,从而增强其实时交互能力。

OCR 数据:

  • 合成数据经多种扰动增强

  • CLIP 校验图文匹配

  • VQA 筛选语义相关性(用旧版 VLM 对 OCR 图像进行 few-shot 提问)

  • 低质量合成问题-答案对过滤(用内部 LLM 判断问题和答案是否语义相关)

视觉定位与计数:

  • Grounding DINO 自动标注 + CLIP 校验 + NMS 去重

  • RefCOCO/Objects365等开源数据人工筛选低质量样本

InstructBLIP

信息源

模型简介

InstructBLIP是一种通用视觉语言模型(Vision-Language Model, VLM),通过指令微调(Instruction Tuning)提升模型在多种视觉语言任务上的泛化能力。该模型由Salesforce Research、香港科技大学和新加坡南洋理工大学联合开发。InstructBLIP基于预训练的BLIP-2模型,结合图像编码器、语言模型(LLM)和Query Transformer(Q-Former),通过指令微调实现视觉特征的任务相关提取。模型支持两种LLM架构:FlanT5(基于T5的编码器-解码器模型)和Vicuna(基于LLaMA的解码器模型)

数据规模

InstructBLIP使用了26个公开的视觉语言数据集,涵盖11种任务类别:

  1. 训练数据集(Held-in):13个数据集,用于指令微调。

  2. 测试数据集(Held-out):13个数据集,用于零样本评估。

  3. 数据规模

    1. COCO Caption:82K训练图像。

    2. Web CapFilt:14M图像-文本对。

    3. TextCaps:21K训练图像。

    4. VQAv2:82K训练图像。

    5. OCR-VQA:800K训练图像。

    6. LLaVA-Instruct-150K:包含详细描述(23K)、推理(77K)和对话(58K)数据

更详细的数据集来源

数据来源

数据主要来源于以下公开资源:

  • 图像描述数据集:COCO Caption、Flickr30K、NoCaps等。

  • 图像问答数据集:VQAv2、OKVQA、A-OKVQA、ScienceQA等。

  • 视频问答数据集:MSVD-QA、MSRVTT-QA、iVQA。

  • OCR相关数据集:OCR-VQA、TextVQA。

  • 视觉对话数据集:Visual Dialog。

  • 特定任务数据集:HatefulMemes、IconQA。

不同任务的数据集来源

清洗策略

  1. 指令格式化

    • 将26个数据集转换为指令微调格式,针对每个任务设计10-15个自然语言指令模板。

    • 对于短回答任务,使用“简短”、“简要”等关键词避免模型过拟合生成短输出。

指令微调任务的模版
  1. 数据平衡采样

    • 根据数据集大小的平方根进行采样,避免模型过拟合小数据集或欠拟合大数据集。

    • 对某些数据集进行权重调整,例如降低A-OKVQA的权重(多选问题),提高OKVQA的权重(开放式文本生成)。

  1. OCR文本处理

    • 对涉及场景文本的任务(如OCR-VQA、TextVQA),在指令中显式添加OCR标记以提供补充信息。

      <Image> OCR tokens: {提取的文本}. Question: {问题} Short answer:  
    1. 数据划分与去重(防止数据泄露)

    • 划分方式:

      • 13个held-in数据集用于训练(如COCO Caption、VQAv2)。

      • 13个held-out数据集用于零样本评估(如NoCaps、GQA)。

    • 能够确保评估数据不出现在训练集中

    1. 视频数据处理(帧采样)

    • 对视频任务(如MSVD-QA),每视频均匀采样4帧,通过图像编码器和 Q-Former 提取视觉特征后拼接输入LLM。

    • 目的:平衡计算效率与时间信息捕捉

    NVILA

    信息源

    模型简介

    NVILA是一种高效的视觉语言模型(VLM)家族,由NVIDIA主导开发,联合了麻省理工学院(MIT)、加州大学伯克利分校(UC Berkeley)、加州大学圣地亚哥分校(UC San Diego)、华盛顿大学(University of Washington)和清华大学等机构的研究人员共同完成。该模型在VILA的基础上进行了改进,采用了“先扩展再压缩”(scale-then-compress)的策略,优化了空间和时间分辨率,同时压缩视觉token,从而在处理高分辨率图像和长视频时实现了高效性和高准确性。

    数据规模

    NVILA的训练数据集规模超过1亿对图像-文本或视频-文本对。在数据精简后(见数据清洗部分),最终使用了约5000万对高质量样本进行训练。

    数据来源

    NVILA的数据来源广泛,涵盖了以下几类:

    • 重标注数据:如LLaVA-CC3M、ALLAVA等。

    • 文档数据:如Docmatix、PDFA等。

    • OCR数据:如LSVT、ArT、TextOCR等。

    • 视频数据:如ActivityNet-QA、MSRVTT-QA、Youcook2等。

    • 通用视觉问答数据:如ScienceQA、VQAv2、GQA等。

    • 医学数据:如PathVQA、Slake、MedVQA等。

    模型训练各个阶段的详细数据来源

    清洗策略

    Di代表子数据集,p代表大/小模型的预测概率

    NVILA采用了一种基于DeltaLoss的无监督数据清洗方法,这是一种基于知识蒸馏的评分方法,用于评估样本的训练价值。主要步骤如下:

    1. 评分机制:通过DeltaLoss计算每个样本的得分,过滤掉“过于简单”或“过于困难”的样本。

      1. 如果大模型和小模型都答对或答错,DeltaLoss接近0,认为样本无效。

      2. 如果小模型答对但大模型答错,DeltaLoss为负,认为样本可能干扰训练。

      3. 如果小模型答错但大模型答对,DeltaLoss为正,认为样本对训练有帮助。

      4. 论文中并未提到用的是何种大模型/小模型

    2. 数据剪枝:根据DeltaLoss对数据集进行剪枝,最终保留50%的高质量样本。

    3. 实验验证:剪枝后的数据集在多个基准测试中表现优异,与完整数据集相比,性能几乎没有下降,但训练效率提高了约2倍。

    如有其他模型,欢迎补充,笔者会在闲暇时更新

    ### 关于视觉语言模型 (VLM) 的 Python 实现 视觉语言模型(Visual Language Model, VLM)是一种结合计算机视觉和自然语言处理技术的多模态学习方法。它通过联合训练图像和文本数据来理解两者之间的关系,从而实现跨模态的任务,如图文检索、视觉问答(VQA)、图像描述生成等。 以下是基于现有研究和技术开发的一些常见资源: #### 常见框架支持 许多现代深度学习框架提供了构建 VLM 所需的基础工具和支持。例如 TensorFlow 和 PyTorch 是最常用的两个框架[^1]。PyTorch 社区尤其活跃,在多模态领域有丰富的开源项目可供参考。 #### 开源库推荐 - **Hugging Face Transformers**: Hugging Face 提供了一个强大的 `transformers` 库,其中包含了多种预训练的视觉语言模型,比如 CLIP、ViLT 和 BLIP 等[^2]。这些模型可以直接加载并用于下游任务。 下面是一个简单的代码示例展示如何使用 Hugging Face 中的 CLIP 模型进行图文匹配: ```python from transformers import CLIPProcessor, CLIPModel # 加载预训练模型及其处理器 model = CLIPModel.from_pretrained("openai/clip-vit-base-patch32") processor = CLIPProcessor.from_pretrained("openai/clip-vit-base-patch32") # 输入样本:一张图片路径和一段文字说明 image_path = "example_image.jpg" text_input = "A dog playing with a ball" inputs = processor(text=text_input, images=image_path, return_tensors="pt", padding=True) outputs = model(**inputs) logits_per_image = outputs.logits_per_image # 图片到文本的相似度矩阵 probs = logits_per_image.softmax(dim=1) # 归一化概率分布 ``` - **MMDetection / MMFusion**: 这些是由阿里巴巴达摩院维护的一系列多模态框架之一,专注于复杂场景下的视觉语言交互任务[^3]。它们不仅提供高质量的预训练权重还附带详细的文档指导新手快速上手。 #### 教程链接 对于初学者来说,可以查找一些在线平台上的教学视频或者博客文章帮助入门。像 Medium 或 Towards Data Science 上经常会有开发者分享自己的实践经验以及具体案例分析[^4]。 另外值得注意的是,随着该领域的快速发展,新的架构和技术不断涌现,因此保持关注最新的研究成果非常重要。 ---
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值