发布文本类数据集
数据发布是将数据集发布为特定格式的“发布数据集”的过程,用于后续模型训练等操作。
文本类数据集支持发布的格式为:
- 标准格式:数据工程功能支持的原始格式。
标准格式的示例如下,其中,context和target是键值对。
{"context": "你好,请介绍自己", "target": "我是盘古大模型"}
- 盘古格式:训练盘古大模型时,需要将数据集格式发布为“盘古格式”。为适配不同盘古模型的数据规范,文本类型-单轮问答、单轮问答(带人设)、多轮问答、多轮问答(带人设)、DPO、DPO(带人设)发布时需选择盘古格式-非思维链或盘古格式-思维链进行发布。
盘古格式-非思维链的示例如下,其中,context和target是键值对。与标准格式不同,context是一个数组。
{"context":["你好,请介绍自己"],"target":"我是盘古大模型"}
- 盘古格式-思维链模式的示例如下,其中,context,target和thinking是键值对。与盘古-非思维链格式相比,多了一个thinking键值对,thinking的值是一个数组。
{"context":["你好,请介绍自己"],"target":"我是盘古大模型","thinking": ["好的,用户让我介绍一下自己。首先,我需要明确用户的身份和使用场景"]}
创建文本类数据集发布任务
创建文本类数据集发布任务步骤如下:
- 登录ModelArts Studio大模型开发平台,在“我的空间”模块,单击进入所需空间。
图1 我的空间
- 在左侧导航栏中选择“数据工程 > 数据发布 > 发布任务”,单击界面右上角“创建发布任务”。
- 在“创建发布任务”页面,筛选数据集模态,如“文本”类型的数据集。
图2 筛选“文本”类数据集
- 选择数据集,单击“下一步”。
- 在“基本配置”中选择数据用途、数据集可见性和格式配置,如图3。
由于数据工程需要支持对接盘古大模型或三方大模型,为了使这些数据集能够被这些大模型正常训练,平台支持发布不同格式的数据集。
当前支持标准格式、盘古格式:- 标准格式:数据工程功能支持的原始格式。该格式的数据集可发布到资产中,但下游模型开发不可见。“使用场景”选择“其他”时使用。
- 盘古格式:专门针对训练模型为盘古大模型而定义的数据集格式,该数据集将被用于ModelArts Studio大模型开发平台的模型开发中使用。为适配不同盘古模型的数据规范,在数据集格式配置时,需要选择“选择盘古格式-非思维链”或“盘古格式-思维链进行发布”。在“使用场景”为“STUDIO模型训练”时使用。
- 当使用发布的数据集训练盘古大模型时,请选择“格式配置”为盘古格式。
- 当发布文本数据集为如下类型时,请选择“格式配置”为“盘古格式-非思维链”或“盘古格式-思维链”。
- 文本类型-单轮问答
- 单轮问答(带人设)
- 多轮问答
- 多轮问答(带人设)
- DPO
- DPO(带人设)
- 当发布文本数据集为“预训练”类型时,请选择“格式配置”为“盘古格式”。
- 当发布成“盘古格式-非思维链”时会把数据集中符合“盘古格式-思维链”的数据剔除,反之发布“盘古格式-思维链”则会把“盘古格式-非思维链”的数据剔除。
- 填写数据集名称、描述,设置扩展信息后,单击“确认”,发布数据集。
扩展信息会自动保留所选数据集的属性,并且在选择发布“盘古格式-思维链”数据集之后,后端会自动给扩展信息的标签(simple_tag)加上“reasoner”标签,模型会根据该标签对数据集进行过滤。
图4 生成发布数据集 -
参数说明见表1:
表1 参数配置 参数名称
参数说明
numExecutors
Executor的数量,默认值2。Executor是运行在工作节点上的进程,它负责执行具体的task任务,并将计算结果返回给Driver。每个Executor每个核同时能跑一个task任务,所以增加了Executor的个数相当于增大了任务的并发度。在资源充足的情况下,可以相应增加Executor的个数,以提高运行效率。
numExecutors * executorMemory最小值为4,最大值为16。
executorCores
每个Executor进程使用的CPU内核数量,默认值2。每个Executor多个核同时能跑多个task任务,相当于增大了任务的并发度。但是由于所有核共用Executor的内存,所以要在内存和核数之间做好平衡。
numExecutors * executorMemory最小值为4,最大值为16。executorCores和executorMemory的比例需要在1:2~1:4之间。
executorMemory
每个Executor进程使用的内存数量,默认值4。Executor的内存主要用于任务执行、通信等。当一个任务很大的时候,可能需要较多资源,因而内存也可以做相应的增加;当一个任务较小运行较快时,就可以增大并发度减少内存。
executorCores和executorMemory的比例需要在1:2~1:4之间。
driverCores
驱动程序进程使用的CPU内核数量,默认值2。Driver负责任务的调度,和Executor之间的消息通信。
driverCores和driverMemory的比例需要在1:2~1:4之间。
driverMemory
驱动程序进程使用的内存数量,默认值4。Driver负责任务的调度,和Executor之间的消息通信。当任务数变多,任务平行度增大时,Driver内存都需要相应增大。
driverCores和driverMemory的比例需要在1:2~1:4之间。
- 当任务状态显示为“运行成功”时,说明数据发布任务执行成功,生成的“发布数据集”可在“数据工程 > 数据管理 > 数据集 > 发布数据集”中查看。