导入Role(user+assistant)数据
登录到千帆ModelBuilder操作台,在左侧功能列选择通用数据集,进入主任务界面。
数据格式说明
Role(user+assistant):单轮或多轮的文本对话数据,提问与回答一一对应,支持多角色类型。适用于模型精调的SFT大语言模型训练。
多角色类型
数据样本中的messages(list, required)描述一个对话列表,其中包含多角色的对话和互动,可填写的角色具体说明如下:
角色(role) | 是否必须包含 | 角色说明 |
---|---|---|
system | 否 | 代表系统角色设定,其content字段为角色设定信息 |
user | 是 | 代表用户输入,其content字段为对话文本内容 |
assistant | 无标注样例不包含,有标注样例必须包含 | 代表模型回答,其content字段为对话文本内容 |
以下为无标注样例展示:
{"messages": [{"role": "system", "content": "你是一个专业的新闻摘要撰写助手,擅长使用简洁明了的语言来提炼核心信息。"}, {"role": "user", "content": "请根据下面的新闻生成摘要, 内容如下:据315晚会报道,公共免费WIFI存在隐患。黑客可利用轻易盗取用户个人信息,如账号、密码等。为了保证您个人信息安全,在公共场所尽量不要使用那些不需要密码免费wifi。\n请生成摘要。"}]}
平台支持上传无标注样例,您可在平台上进行数据标注,标注方式包括在线标注、多人标注和众测标注。只有标注完成的数据集,才能被发布并用于训练。
以下为单轮对话(含标注)样例展示:
{"messages": [{"role": "system", "content": "你是一个AI学习助手。"}, {"role": "user", "content": "我想了解一下机器学习是什么。"}, {"role": "assistant", "content": "机器学习是人工智能的一个分支,它是指让机器从数据中学习和识别模式、规律,进而提高其自身的能力,而不是直接进行编程或人工干预。例如,你收到的垃圾邮件在你提交给系统进行训练后,系统就能够自动判断是否为垃圾邮件。这就是机器学习中的一个例子。"}]}
以下为多轮对话(含标注)样例展示:
# "weight"为选填字段,默认为1,表示当前及历史轮次参与SFT精调,并对当前轮次计算loss;"weight"为0时,表示当前轮次不参与SFT精调的loss计算。
{"messages": [{"role": "system", "content": "你是一个擅长写诗的人工智能助手。"}, {"role": "user", "content": "生成一首诗歌吧。"}, {"role": "assistant", "content": "好的,请问你想让这首诗歌关于什么主题呢?", "weight": 0},
{"role": "user", "content": "主题关于秋天。"}, {"role": "assistant", "content": "秋风轻抚过金黄的稻田,\n\n稻穗摇曳,似在低语绵绵。\n\n落叶纷飞,舞动秋的旋律,\n\n铺就一地斑斓,点缀金黄的画卷。\n\n远方的你,是否也在期盼?", "weight": 1}]}
平台支持上传多轮对话,但每个样例中的对话限制不超过150轮,超出部分将会被截断。
导入数据
创建数据集完成后,在数据集管理页面中,找到该数据集,点击右侧操作列下的“导入”按钮,即可进入导入数据页面。
您可以使用以下方案上传文本数据:
无标注信息
无标注信息-本地导入
本地导入支持三种格式文件:JSONL、XLSX、CSV,同时支持包含上述格式的tar.gz/zip压缩包文件上传。
导入格式 | 格式要求 | 格式示例 |
---|---|---|
JSONL | 1. 文件内单条数据格式要求为{"messages": [{"role": "user", "content": "用户输入内容"}]}, 详见数据样例。 2. 支持文本文件类型为jsonl,编码仅支持UTF-8,单次上传限制100个文本文件,单个文件不超过100M。 |
|
XLSX | 1. 文件内单条数据在表格中为一行,由表头定义user,详见数据样例。 2. 支持文本文件类型为xlsx,编码仅支持UTF-8,单次上传限制100个文件,单个文件不超过100M。 |
|
CSV | 1. 文件内单条数据在表格中为一行,由表头定义user,详见数据样例。 2. 支持文本文件类型为csv,编码仅支持UTF-8,单次上传限制100个文件,单个文件不超过100M。 |
无标注信息-BOS导入
选择BOS文件导入,需要指定到文件;选择BOS目录导入,需要指定到文件的路径。
导入方式 | 格式要求 | 格式示例 |
---|---|---|
Bucket地址·文件导入 | 1. 对于 jsonl 文件:文件内单条数据格式要求为{"messages": [{"role": "user", "content": "用户输入内容"}]};对于 xlsx、csv 文件:单条数据在表格中为一行,由表头定义user。 2. 支持文本文件类型为jsonl/xlsx/csv,编码仅支持UTF-8,单次上传限制1000个文本文件,总文件不超过50G。 |
----- |
Bucket地址·目录导入 | 1. 文件夹内文件类型支持jsonl,文件编码仅支持UTF-8。 |
无标注信息-分享链接导入
请确保将全部jsonl文本文件保存至同一压缩包,压缩包仅支持zip/tar.gz格式,压缩前源文件大小限制5G以内
需输入链接地址。分享链接导入的要求如下:
- 仅支持来自百度BOS、阿里OSS、腾讯COS、华为OBS的共享链接。
导入方式 | 格式要求 | 格式示例 |
---|---|---|
输入链接地址导入 | 1. 链接地址要求为zip/tar.gz格式压缩包,同时压缩前源文件大小在5G以内,文件编码仅支持UTF-8。 |
无标注信息-平台已有数据集
导入方式 | 格式要求 | 数据集导入内容要求 |
---|---|---|
选择数据集 | 支持选择相同数据格式的数据集版本 | 支持导入未标注数据,也支持全部数据(不含标注信息)导入 |
有标注信息
在进行多轮对话的监督式微调(SFT)时,可能会遇到某些轮次对话效果不理想的情况,如下方示例中的第二轮,模型并未按照指定要求热情地回答问题。如直接使用全部数据进行精调,可能会影响最终的模型性能:
{"messages": [{"role": "user", "content": "可以请你用热情的语气回答我的问题吗?"}, {"role": "assistant", "content": "当然可以,请说出你的问题"},
{"role": "user", "content": "法国的首都是哪里"}, {"role": "assistant", "content": "巴黎"},
{"role": "user", "content": "请你用热情的语气认真回答"}, {"role": "assistant", "content": "哦!是巴黎,浪漫之都,那儿有很多漂亮的建筑,有机会你一定要去看看!"}]}
为解决此问题,通过在多轮对话数据集中配置weight
字段,可在SFT精调时选择性跳过特定轮次的模型回答,使之不参与损失函数(loss)的计算过程,避免模型在训练过程中学习到错误信息。
示例下载(查看多轮对话示例):jsonl模板、xlsx模板、csv模板、txt模板
weight
字段取值:0或1,0表示该轮对话不参与SFT loss计算,默认值为1
- 格式示例
{"messages": [{"role": "user", "content": "可以请你用热情的语气回答我的问题吗?"}, {"role": "assistant", "content": "当然可以,请说出你的问题", "weight": 1},
{"role": "user", "content": "法国的首都是哪里"}, {"role": "assistant", "content": "巴黎", "weight": 0},
{"role": "user", "content": "请你用热情的语气认真回答"}, {"role": "assistant", "content": "哦!是巴黎,浪漫之都,那儿有很多漂亮的建筑,有机会你一定要去看看!", "weight": 1}]}
注意:含weight字段的数据仅在ERNIE Tiny、ERNIE Character、ERNIE Lite 0308、ERNIE Lite128K-0419和ERNIE Speed模型精调SFT中可用,该字段对其他模型开放的情况,请您时刻关注官方说明。
有标注信息-本地导入
本地导入支持三种格式文件:JSONL、XLSX、CSV,同时支持包含上述格式的tar.gz/zip压缩包文件上传。
导入格式 | 格式要求 | 格式示例 |
---|---|---|
JSONL | 1. 文件内单条数据格式要求为{"messages": [{"role": "user", "content": "用户输入内容"}, {"role": "assistant", "content": "模型回答内容"}]}, 详见数据样例。 2. 支持文本文件类型为jsonl,编码仅支持UTF-8,单次上传限制100个文本文件,单个文件不超过100M。 |
|
XLSX | 1. 文件内单条数据在表格中为一行,由表头定义user1和assistant1, 详见数据样例。 2. 支持文本文件类型为xlsx,编码仅支持UTF-8,单次上传限制100个文本文件,单个文件不超过100M。 |
|
CSV | 1. 文件内单条数据在表格中为一行,由表头定义user1和assistant1,详见数据样例。 2. 支持文本文件类型为csv,编码仅支持UTF-8,单次上传限制100个文本文件,单个文件不超过100M。 |
有标注信息-BOS导入
选择BOS文件导入,需要指定到文件;选择BOS目录导入,需要指定到文件的路径。
导入方式 | 格式要求 | 格式示例 |
---|---|---|
Bucket地址·文件导入 | 1. 对于 jsonl 文件:文件内单条数据格式要求为[{"prompt" : "prompt内容", "response": [["response内容"]]}];对于 csv、xlsx 文件:单条数据在表格中为一行,由表头定义user1和assistant1。 2. 支持文本文件类型为jsonl/xlsx/csv,编码仅支持UTF-8,单次上传限制1000个文本文件,总文件不超过50G |
----- |
Bucket地址·目录导入 | 1. 支持jsonl、xlsx、csv格式文件及包含上述格式的tar.gz/zip压缩包上传,请确保将全部文本以上述文件格式保存至同一层文件目录 2. 单个jsonl、xlsx、csv文件大小,或压缩包源文件大小,均不超过5G,所有文件数量不超过100 |
有标注信息-分享链接导入
请确保将全部jsonl文本文件保存至同一压缩包,压缩包仅支持zip/tar.gz格式,压缩前源文件大小限制5G以内
需输入链接地址。分享链接导入的要求如下:
- 仅支持来自百度BOS、阿里OSS、腾讯COS、华为OBS的共享链接。
导入方式 | 格式要求 | 格式示例 |
---|---|---|
输入链接地址导入 | 1. 链接地址要求为zip/tar.gz格式压缩包,同时压缩前源文件大小在5G以内,文件编码仅支持UTF-8。 |
有标注信息-平台已有数据集
导入方式 | 格式要求 | 数据集导入内容要求 |
---|---|---|
选择数据集 | 支持选择相同数据格式的数据集版本 | 支持导入包含标注信息的原始数据 |