使用数据工程构建图像问答大模型数据集
多模态大模型支持接入的数据集类型
盘古多模态大模型支持接入多模态类数据集,不同场景所需数据见表2,数据集格式要求请参见多模态类数据集格式要求。
类别 |
模型 |
简介 |
---|---|---|
多模态大模型 |
Pangu-MM-M2-Img2Txt-16K-V5.0.4.2 |
盘古多模态理解百亿级大模型,可以对图像、文本多模态信息进行综合理解和分析,支持16K序列,支持预训练、微调、在线推理。 |
基模型 |
训练场景 |
文件类型 |
文件内容 |
文件格式 |
文件样例 |
---|---|---|---|---|---|
多模态大模型 |
预训练 |
多模态-多模态理解(预训练) |
纯文本、图片+描述、图文交织 |
tar+jsonl文件 |
如果是纯文本,则仅支持标注文件; 如果包含图片,需要将标注文件中包含的图片打包成tar包,要求tar包和标注文件存储在同一目录,并且名称一一对应。图片格式支持:jpg、jpeg、png、bmp 。 标注文件格式:jsonl。jsonl中的路径信息对应tar中的文件路径,jsonl文件仅支持UTF-8编码。 纯文本示例: {"data": [{"role": "user", "content": [{"text": ""}]}, {"role": "assistant", "content": [{"text": "HUAWEI Pura 80 Pro+搭载1英寸高动态主摄,配合红枫原色摄像头的像素级色彩校准,明暗细节清晰,色彩还原精准。HUAWEI Pura 80 Ultra首发“聚光宝盒”1英寸超高动态主摄,通过三重实时融合技术,实现超高动态视频能力,高光细节尽显,暗部深邃清晰。"}]}]} 图片描述示例: {"data": [{"role": "user", "content": [{"image": "huawei_pura_80.jpeg"}]}, {"role": "assistant", "content": [{"text": "图中展示的是一款华为手机,型号为HUAWEI Pura 80 Pro+,颜色是釉红。"}]}]} 图文交织示例: {"data": [{"role": "user", "content": [{"image": "huawei_pura_80.jpeg"}]}, {"role": "assistant", "content": [{"text": "图中展示的是一款华为手机,型号为HUAWEI Pura 80 Pro+,颜色是釉红。"}]}, {"role": "user", "content": [{"image": "huawei_watch_gt5_pro.jpeg"}, {"image": "huawei_watch_gt5_pro_space.jpeg"}]}, {"role": "assistant", "content": [{"text": "上面的两张图中,分别是华为的两款穿戴手表,一款为HUAWEI WATCH GT 5 Pro(46mm)曜石黑 黑色氟橡胶表带,一款为HUAWEI WATCH GT 5 Pro(46mm)钛空银 钛金属表带。"}]}]} |
微调 |
多模态-多模态理解(微调) |
纯文本、单轮单图问答、单轮多图问答、多轮多图问答 |
tar+jsonl文件 |
标注文件和tar包格式同预训练,微调数据的主要特点是新增用户的提问。 纯文本问答: {"data": [{"role": "user", "content": [{"text": "请介绍下HUAWEI Pura 80 Pro+手机的特点"}]}, {"role": "assistant", "content": [{"text": "HUAWEI Pura 80 Pro+搭载1英寸高动态主摄,配合红枫原色摄像头的像素级色彩校准,明暗细节清晰,色彩还原精准。"}]}]} 单轮单图问答示例: {"data": [{"role": "user", "content": [{"image": "huawei_pura_80.jpeg"}, {"text": "请简单介绍下图片中的内容"}]}, {"role": "assistant", "content": [{"text": "图中展示的是一款华为手机,型号为HUAWEI Pura 80 Pro+,颜色是釉红。"}]}]} 单轮多图问答示例: {"data": [{"role": "user", "content": [{"image": "huawei_mobile.jpeg"}, {"image":"huawei_cloud.jpg"} {"text": "以上两张图片有什么不同"}]}, {"role": "assistant", "content": [{"text": "图1是华为手机图片,图2是华为云图片"}]}]} 多轮多图问答示例: {"data": [{"role": "user", "content": [{"image": "huawei_watch_gt5_pro.jpeg"}, {"text": "请简单描述下图片中的内容"}]}, {"role": "assistant", "content": [{"text": "图片中是华为的穿戴手表,具体型号为HUAWEI WATCH GT 5 Pro(46mm)曜石黑 黑色氟橡胶表带。"}]}, {"role": "user", "content": [{"image": "huawei_pura_80.jpeg"}, {"image": "huawei_pura_80_white.jpeg"}, {"text": "以两张图片有什么异同点"}]}, {"role": "assistant", "content": [{"text": "两张图片中的手机都是HUAWEI Pura 80 Pro+型号,不同的是,一款为红色,一款为白色。"}]}]} |
训练多模态大模型所需数据量
使用数据工程构建盘古多模态大模型数据集进行模型训练时,所需数据量见表3。
多模态训练数据为tar+jsonl构成训练文件,单个tar包大小不超过500MB,文件总大小不超过100GB。
评测多模态大模型所需数据量
评测多模态大模型需要使用图片+QA对格式的数据,建议评测数据量在1000条以下。
构建多模态大模型数据集流程
在ModelArts Studio平台中,使用数据工程构建盘古多模态大模型数据集流程见使用数据工程构建图像问答大模型数据集。
流程 |
子流程 |
说明 |
操作指导 |
---|---|---|---|
导入数据至盘古平台 |
创建导入任务 |
将存储在OBS服务或本地的数据导入至平台统一管理,用于后续加工或发布操作。 |
|
加工多模态类数据集 |
加工多模态类数据集 |
通过专用的加工算子对数据进行预处理,确保数据符合模型训练的标准和业务需求。不同类型的数据集使用专门设计的算子,例如去除噪声、冗余信息等,提升数据质量。 |
|
配比多模态数据集 |
数据配比是将多个数据集按特定比例组合并发布为“发布数据集”的过程。通过合理的配比,确保数据集的多样性、平衡性和代表性,避免因数据分布不均而引发的问题。 |
||
发布多模态类数据集 |
发布多模态类数据集 |
数据发布是将单个数据集发布为特定格式的“发布数据集”,用于后续模型训练等操作。 平台支持发布的数据集格式为默认格式、盘古格式。
|
数据prompt拼接样例
默认prompt为:
[unused9]系统:你生成综合质量(有用性,事实性,无害性)极好的回复。[unused10][unused9]系统:你是一个擅长于文章写作、文本分析、代码编写、数学运算、逻辑推理的AI助手,专注于针对用户的问题给出高质量解答。[unused10]
输入示例1-单轮对话:
{"conversations": [{"question": "图片中是否存在垃圾溢出垃圾桶的不文明卫生问题?", "answer": "是"}]}
数据处理后:
[unused9]系统:你生成综合质量(有用性,事实性,无害性)极好的回复。[unused10][unused9]系统:你是一个擅长于文章写作、文本分析、代码编写、数学运算、逻辑推理的AI助手,专注于针对用户的问题给出高质量解答。[unused10][unused9]用户:[unused18][unused19]......[unused19][unused20]图片中是否存在垃圾溢出垃圾桶的不文明卫生问题?[unused10][unused9]助手:是[unused10]
输入示例2-多轮对话:
{"conversations": [{"question": "图片中是否存在垃圾溢出垃圾桶的不文明卫生问题?", "answer": "是"},{"question": "图中是否存在共享单车按规定停放的情况?", "answer": "否"}]}
数据处理后:
[unused9]系统:你生成综合质量(有用性,事实性,无害性)极好的回复。[unused10][unused9]系统:你是一个擅长于文章写作、文本分析、代码编写、数学运算、逻辑推理的AI助手,专注于针对用户的问题给出高质量解答。[unused10][unused9]用户:[unused18][unused19]......[unused19][unused20]图片中是否存在垃圾溢出垃圾桶的不文明卫生问题?[unused10][unused9]助手:是[unused10][unused9]用户:图中是否存在共享单车按规定停放的情况?[unused10][unused9]助手:否[unused10]