
# 使用数据工程构建图像问答大模型数据集
#### 多模态大模型支持接入的数据集类型
盘古多模态大模型支持接入多模态类数据集，不同场景所需数据见[表2]，数据集格式要求请参见[多模态类数据集格式要求](https://support.huaweicloud.com/usermanual-pangulm/pangulm_04_0530.html)。
表1多模态大模型 
| 类别     | 模型                               | 简介                                                          |
|:---|:---|:---|
| 多模态大模型 | Pangu-MM-M2-Img2Txt-16K-V5.0.4.2 | 盘古多模态理解百亿级大模型，可以对图像、文本多模态信息进行综合理解和分析，支持16K序列，支持预训练、微调、在线推理。 |
   
 表2训练多模态大模型数据集类型要求 
| 基模型    | 训练场景 | 文件类型           | 文件内容                     | 文件格式        | 文件样例                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|:---|:---|:---|
| 多模态大模型 | 预训练  | 多模态-多模态理解（预训练） | 纯文本、图片+描述、图文交织           | 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]。
 表3多模态数据大小说明 
| 训练类型 | 最小数据量（图文对数据） | 推荐数据量（图文对数据） |
|:---|:---|:---|
| 预训练  | 1000万对       | 3000万对       |
| 微调   | 20\~30万对     | 100万对        |
   
多模态训练数据为tar+jsonl构成的训练文件，单个tar包大小不超过500MB，文件总大小不超过100GB。
#### 评测多模态大模型所需数据量
评测多模态大模型需要使用图片+QA对格式的数据，建议评测数据量在1000条以下。
#### 构建多模态大模型数据集流程
在ModelArts Studio平台中，使用数据工程构建盘古多模态大模型数据集流程见[使用数据工程构建图像问答大模型数据集](https://support.huaweicloud.com/usermanual-pangulm/pangulm_04_0272.html)。
表4盘古多模态大模型数据集构建流程 
| 流程                                                  | 子流程       | 说明                                                                                                                                                                                                                                                                                                              | 操作指导                                                                                 |
|:---|:---|:---|:---|
| 导入数据至盘古平台                                           | 创建导入任务    | 将存储在OBS服务或本地的数据导入至平台统一管理，用于后续加工或发布操作。                                                                                                                                                                                                                                                                           | [导入数据至盘古平台](https://support.huaweicloud.com/usermanual-pangulm/pangulm_04_0025.html) |
| 加工多模态类数据集  | 加工多模态类数据集 | 通过专用的加工算子对数据进行预处理，确保数据符合模型训练的标准和业务需求。不同类型的数据集使用专门设计的算子，例如去除噪声、冗余信息等，提高数据质量。                                                                                                                                                                                                                                     | [加工多模态类数据集](https://support.huaweicloud.com/usermanual-pangulm/pangulm_04_0041.html) |
| 加工多模态类数据集  | 配比多模态数据集  | 数据配比是将多个数据集按特定比例组合并发布为"发布数据集"的过程。通过合理的配比，确保数据集的多样性、平衡性和代表性，避免因数据分布不均而引发的问题。                                                                                                                                                                                                                                     | [配比多模态类数据集](https://support.huaweicloud.com/usermanual-pangulm/pangulm_04_0042.html) |
| 发布多模态类数据集                                           | 发布多模态类数据集 | 数据发布是将单个数据集发布为特定格式的"发布数据集"，用于后续模型训练等操作。 平台支持发布的数据集格式为**盘古格式**。 - 盘古格式：训练盘古大模型时，需要发布为该格式，可用于盘古大模型的模型开发。当前仅文本类、图片类数据集支持发布为盘古格式。   | [发布多模态类数据集](https://support.huaweicloud.com/usermanual-pangulm/pangulm_04_0556.html) |
   
#### 数据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]
```
