当前位置: 首页 > news >正文

详细介绍:构建生产级多模态数据集:视觉与视频模型(参照LLaVA-OneVision-Data和VideoChat2)

构建生产级多模态数据集:视觉与视频模型

一、构建自定义图文数据集
1. 基础结构

LLaVA-OneVision-Data-SAE 的结构

[{
"image": "CLEVR-Math/identity_1040.jpg",
"conversations": [
{
"from": "human",
"value": "\nHint: Please answer the question and provide the final answer at the end.\nQuestion: Subtract all balls. How many objects are left?"
},
{
"from": "gpt",
"value": "The answer is 7"
}
]
}]

在这里插入图片描述

表1:图文对话数据模式
字段名数据类型是否必须描述示例
idString可选样本的唯一标识符,可用于追踪和调试。“image_0001_conv_1”
imageString关联的图像文件名(相对路径)。“0001.jpg”
conversationsList[Object]一个包含多轮对话的列表。[{“from”: “human”, “value”:
“…”}, {“from”: “gpt”, “value”:
“…”}]
conversations.fromString对话发起者的角色。推荐使用"human"和"gpt"以区分用户输入和模型生成。“human”
conversations.valueString该轮对话的具体文本内容。对于第一轮的用户输入,通常包含一个特殊的图像占位符 。“请描述图中的主要物体。\n”
1.2 自定义图片描述信息标注指南

自定义标注的核心是为你的图像生成高质量的 (instruction, output)

任务类型指令模板示例期望输出示例
​简单描述​“描述这张图片。”“一张城市夜景的照片,高楼灯火通明。”
​详细描述​“详细描述图片中的场景、物体和它们的属性。”“照片近处是一杯咖啡,杯上有拉花…”
​视觉问答 (VQA)​“图片中有几只动物?”“两只。”
​推理问答​“这个人为什么穿着雨衣?”“因为正在下雨。”
​多图比较​“比较这两张图片的风格。”“图一更写实,图二更抽象。”
2. 生成高质量的回答(Output)

回答的质量直接决定模型的学习效果。

  • ​准确性​​:回答必须严格基于图像事实,避免幻觉。

  • ​完整性​​:对于复杂问题,回答应覆盖所有方面。

  • ​清晰简洁​​:避免冗余信息,语言流畅,语法正确。

  • 图像占位符:在用户的第一轮提问中,必须包含一个特殊的占位符(如),以在文本中明确指示图像信息的位置。这有助于训练脚本识别和处理多模态输入。

  • 负样本构建:数据集中必须包含模型应该拒绝回答的场景。这对于提升模型的安全性和可靠性至关重要。例如:

    内容缺失:当被问及图片中不存在的物体时,模型应回答无法找到或图中没有该物体。

    不当问题:对于涉及隐私、偏见或有害内容的问题,模型应礼貌地拒绝回答。

3. 数据质量控制
4.标注流程
  • ​预训练模型生成​​:使用 Qwen、Kimi 等模型生成描述或答案,再进行人工审核和修正,是效率较高的方法。

  • ​人工标注​​:人工质检模型标注后的结果,错误地方给出修正。

  • ​合成数据​​:对于特定任务(如图像编辑),可利用大语言模型生成指令,再用文本到图像模型(如Stable Diffusion)生成对应图像,构建三元组数据。

5. 图片存储格式:从JPG到分片Parquet

图片需要将原始的JPG图像和JSON格式的标注,转换为可用于大规模训练的分片式Apache Parquet数据集。整个流程将以Hugging Face datasets库作为核心工具。

工作流程:

  1. **组织图像文件**:将所有JPG图像文件存放在一个目录下,例如 data/images/。
  2. **创建元数据文件**:在data/目录下创建一个名为metadata.jsonl的文件。JSON Lines (.jsonl) 格式要求每一行都是一个独立的、完整的JSON对象。
  3. **关联元数据与图像**:metadata.jsonl中的每个JSON对象都对应一个图像。至关重要的是,每个对象都必须包含一个file_name字段,其值是图像文件相对于metadata.jsonl文件的路径 3。

一个metadata.jsonl文件的行示例如下:

JSON

{"file_name": "images/0001.jpg", "id": "image_0001_conv_1", "conversations": "[{\"from\":
\"human\", \"value\": \"\\n请描述图中的场景。\"},
{\"from\": \"gpt\", \"value\": \"图中展示了一个阳光明媚的午后公园,几个人在草地上野餐。\"}]"}
  1. 使用datasets进行数据摄取与转换

  2. 序列化为分片Parquet

  3. Parquet格式介绍:

卓越的性能:Parquet是一种基于Apache Arrow的列式存储格式 。与行式存储(如CSV或JSON)不同,列式存储允许数据加载器只读取其需要的列。例如,在进行数据探索或调试时,可以只加载文本
conversations列,而完全跳过体积庞大的图像数据,从而实现数量级的读取速度提升。

高效的压缩:Parquet支持多种高效的压缩算法(如Snappy, Gzip, Zstd),能够显著减小数据集的存储体积,从而降低存储成本和网络传输时间。

强大的生态系统兼容性:Parquet是大数据生态系统中的事实标准,与Apache Spark, Dask 18, Pandas等工具无缝集成,极大地简化了下游的数据分析和处理任务。

分片(Sharding)策略:将大型数据集切分为多个较小的Parquet文件(即分片)是一种关键的优化策略。


二、构建用于视频语言模型的数据集

VideoChat2 的训练数据通常以 ​​JSON 格式组织,这是一种灵活且高效的结构化文本格式,非常适合存储大量的多模态训练样本。

2.1. 时间维度标注

原始数据格式展示

[{
"video": "1164/3238737531.mp4",
"conversations": [
{
"from": "human",
"value": "\nHow many children are in the video?\nOptions:\n(A) one.\n(B) three.\n(C) seven.\n(D) two.\n(E) five."
},
{
"from": "gpt",
"value": "(D) two."
}
]
}]
字段名数据类型是否必须描述示例
videoString视频文件的路径​​或唯一标识符。系统会根据此路径加载视频片段“1164/3238737531.mp4”
conversationsList[Object]一个包含多轮对话的列表。[{“from”: “human”, “value”:
“…”}, {“from”: “gpt”, “value”:
“…”}]
conversations.fromString对话发起者的角色。推荐使用"human"和"gpt"以区分用户输入和模型生成。“human”
conversations.valueString该轮对话的具体文本内容。对于第一轮的用户输入,通常包含一个特殊的图像占位符 。“请描述图中的主要物体。\n”

与静态图像不同,视频的核心在于其时间维度。对视频的标注必须能够捕捉随时间展开的动作、事件和场景变化。LLaVA-Video-178K等数据集中的标注就体现了这一点,其描述是叙事性的,捕捉了一系列连续的动作,例如:“一个人……进入画面……蹲下……然后站起来……并离开画面” 。

实现更高级的功能,例如回答“视频的第5秒到第10秒之间发生了什么?”这类问题,需要一种结构化的标注方法。推荐采用一种分段事件的模式,将整个视频的描述分解为一系列带有时间戳的事件片段。

2.2标注指南:

标注员在创建时间描述时应遵循以下原则:

关注动态变化:重点描述动作、对象/角色间的互动,以及场景状态的显著变化。

使用一致术语:对于视频中反复出现的关键对象或人物,使用统一的名称。

按时间顺序描述:严格按照事件在视频中发生的先后顺序进行描述。

明确起止点:为每个独立的事件或动作片段标注清晰的开始和结束时间(以秒为单位)

在这里插入图片描述

http://www.hskmm.com/?act=detail&tid=28772

相关文章:

  • 2025 年图书杀菌机生产厂家最新推荐排行榜:聚焦高效杀菌技术与优质服务,优质企业全面盘点自助图书/臭氧图书/消毒图书/图书杀菌机厂家推荐
  • 公网服务器下的dify安装模型插件的相关问题和操作
  • vscode 生成代码片段
  • MySQL根据表生成实体类
  • 2025票务系统最新推荐榜:高效便捷与用户体验俱佳的优质选择
  • 【黑马python】基础 3.Python 判断语句 if-else
  • 有度新版本:反向登录、文件路径自定义、有度极速版…管理更自主,切换更顺畅
  • C#利用委托实现多个窗体间的传值
  • 2025常州微弧氧化批发厂家最新推荐榜:技术领先与优质服务双
  • new操作符的手动实现
  • JS使用Regex校验出现卡顿
  • 2025舒适轮胎厂家最新推荐榜:静音耐磨,驾驶体验再升级!
  • 2025 净化铝型材十大品牌之一优选,推荐龙新铝业,最快24小时内发货
  • 手写Promise
  • 双列集合
  • 二项式反演
  • 2025 权威推荐!净化铝型材品牌 TOP5 排行榜:实力厂家精选,品质之选不容错过
  • 关于HashMap
  • sar(System Activity Reporter 系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一。
  • 车辆主动悬架线性最优控制(LQR)系统
  • 2025环保/植物/净醛/健康/无味腻子粉厂家推荐榜:专注多场景墙面基底解决方案供应!
  • 2025 泰国立体/高位/仓储/托盘/重型/流利式/贯通式/穿梭车/模具货架厂家推荐排行榜:聚焦多场景存储需求,精选优质供应商!
  • 2025 工控/核心板/工业/嵌入式主板板卡厂家推荐排行榜:聚焦多领域智能硬件核心供应!
  • 计划任务在不管用户是否登录都要运行时,bat不能正常运行处理办法
  • 2025 高压/高压空气/氦气/氩气压缩机厂家推荐榜:聚焦多场景压缩空气解决方案!
  • 2025 温室/蔬菜/花卉/单栋/玻璃温室/连栋/连栋膜温室/薄膜/塑料/钢架大棚厂家推荐榜:聚焦多场景种植需求,提供专业设施解决方案!
  • Delta并联机器人正逆解实现
  • SQL查询,直接生成json结果
  • 2025 MVR/三效/多效/结晶/废水/降膜蒸发器厂家口碑推荐榜:聚焦多行业废水处理与物料浓缩解决方案!
  • mindie开启DeepSeek的128K