# 大模型微调平台数据集格式说明
更新时间:2024.09.09 16:00:00
大模型微调平台支持文本生成、文生图、图像分类等多模态微调任务,以下为各类微调任务所需数据的详细格式说明:
# 一、文本生成数据格式说明
当前平台支持星火大模型以及第三方开源大模型,数据集支持Alpaca格式和ShareGPT格式,涵盖了行业所有主流的数据格式,以下为详细格式说明:
# 1.Alpaca格式说明
在Alpaca格式下的指令监督微调中,instruction列对应的内容会与input列对应的内容拼接后作为人类指令,即人类指令为instruction\input。而output列对应的内容为模型回答。如果指定,system列对应的内容将被作为系统提示词。history列是由多个字符串二元组构成的列表,分别代表历史消息中每轮对话的指令和回答。
注: 历史消息中的回答内容也会被用于模型学习。
[
{
"instruction": "人类指令(必填)",
"input": "人类输入(选填)",
"output": "模型回答(必填)",
"system": "系统提示词(选填)",
"history": [
["第一轮指令(选填)", "第一轮回答(选填)"],
["第二轮指令(选填)", "第二轮回答(选填)"]
]
}
]
- 对于上述格式的数据,dataset_info.json中的数据集描述应为:
"数据集名称": {
"file_name": "data.json",
"columns": {
"prompt": "数据集代表提示词的表头名称(默认:instruction)",
"query": "数据集代表请求的表头名称(默认:input)",
"response": "数据集代表回答的表头名称(默认:output)",
"system": "数据集代表系统提示的表头名称(默认:system)",
"history": "数据集代表历史对话的表头名称(默认:history)"
}
}
- Alpaca格式数据具体示例如下:
{
"instruction": "描述一个可以从人工智能技术中受益的医疗应用。",
"input": "",
"output": "用于帮助医生诊断疾病的人工智能辅助诊断系统可以被视为一个可以从人工智能技术中受益的医疗应用。这种系统通过使用深度学习算法来分析患者的病史、临床数据和医学影像资料,能够为医生提供准确的诊断建议。\n\n例如,人工智能技术可以用来分析X光片、 CT扫描和MRI扫描图像,帮助医生诊断肺炎,肿瘤,中风等疾病。此外,通过分析大量患者数据,人工智能系统能够找出患病风险较高的人群并预测潜在健康问题,从而为预防性医疗提供有力支持。\n\n这类人工智能系统不仅能够提高诊断准确性,还能帮助医生节约时间,让他们能够更好地关注患者的治疗。因此,人工智能辅助诊断系统是一个可以从人工智能技术中受益的医疗应用,具有广阔的发展前景。",
"system": "",
"history": ""
}
# 2.ShareGPT 格式说明
相比Alpaca格式的数据集,ShareGPT格式支持更多的角色种类,例如human、gpt、observation、function等。它们构成一个对象列表呈现在conversations列中。
注: 其中human和observation必须出现在奇数位置,gpt和function必须出现在偶数位置。
[
{
"conversations": [
{
"from": "human",
"value": "人类指令"
},
{
"from": "function_call",
"value": "工具参数"
},
{
"from": "observation",
"value": "工具结果"
},
{
"from": "gpt",
"value": "模型回答"
}
](必填),
"system": "系统提示词(选填)",
"tools": "工具描述(选填)"
}
]
- 对于上述格式的数据,dataset_info.json中的数据集描述应为:
"数据集名称": {
"file_name": "data.json",
"formatting": "sharegpt",
"columns": {
"messages": "数据集代表消息列表的表头名称(默认:conversations)",
"system": "数据集代表系统提示的表头名称(默认:system)",
"tools": "数据集代表工具描述的表头名称(默认:tools)"
},
"tags": {
"role_tag": "消息中代表发送者身份的键名(默认:from)",
"content_tag": "消息中代表文本内容的键名(默认:value)",
"user_tag": "消息中代表用户的 role_tag(默认:human)",
"assistant_tag": "消息中代表助手的 role_tag(默认:gpt)",
"observation_tag": "消息中代表工具返回结果的 role_tag(默认:observation)",
"function_tag": "消息中代表工具调用的 role_tag(默认:function_call)",
"system_tag": "消息中代表系统提示的 role_tag(默认:system)"
}
}
- ShareGPT格式数据具体示例如下:
{
"conversations": [
{
"from": "human",
"value": "你好,我出生于1990年5月15日。你能告诉我我今天几岁了吗?"
},
{
"from": "function_call",
"value": "{\"name\": \"calculate_age\", \"arguments\": {\"birthdate\": \"1990-05-15\"}}"
},
{
"from": "observation",
"value": "{\"age\": 31}"
},
{
"from": "gpt",
"value": "根据我的计算,你今天31岁了。"
}
],
"tools": "[{\"name\": \"calculate_age\", \"description\": \"根据出生日期计算年龄\", \"parameters\": {\"type\": \"object\", \"properties\": {\"birthdate\": {\"type\": \"string\", \"description\": \"出生日期以YYYY-MM-DD格式表示\"}}, \"required\": [\"birthdate\"]}}]"
}
# 3.推理集格式说明
在文本生成任务中,推理集用于检测模型微调效果,平台支持jsonl格式和csv格式。
- jsonl格式文件要求如下:
- jsonl文件内每条数据格式要求为 {“input”:“你的问题”,“target”:“回答内容”}。
- 每一行表示一组数据,每组数据中的input和target加起来之和字符数不超过4000个字符(包括中英文、数字、符号等),超出部分将被截断。
- 支持文本文件类型为JSONL,编码仅支持UTF-8,单次上传限制1个文件。
- 训练集数量spark pro≥1500条,sparklite≥100条,文件<500M;测试集数量范围为10-200条。
- jsonl具体数据格式示例如下:
{"input":"买房银行贷款贷多少年。","target":"1、个人住房贷款最长为30年;2、个人商业贷款最长期限为10年。"}
- csv格式文件要求如下:
- 文件内单组数据表格一行代表一组数据,第一列为input,第二列为target。
- 每一行表示一组数据,每组数据中的input和target加起来之和字符数不超过4000个字符(包括中英文、数字、符号等),超出部分将被截断。
- 支持文本文件类型为 csv,编码仅支持UTF-8,单次上传限制1个文件。
- 训练集数量spark pro≥1500条,sparklite>100条,文件<500M;测试集数量范围为10-200条。
- csv具体数据格式示例如下:
input | target |
---|---|
大润发住房公积金贷二手房能贷多少钱。 | 各地公积金政策有所不同,建议通过官网查询或者咨询当地公积金管理中心,官方电话是12#29。 |
... | ... |
# 二、文生图数据格式说明
当前平台支持第三方Stable-Diffusion模型,微调数据集为图片+Prompt,图片格式支持jpg、jpeg、png、bmp等,Prompt为jsonl格式,图片比例为1:1,单张图片大小需限制在4MB以内,一个数据集总图片数不少于20张,不大于1000张,仅支持zip压缩上传。
- 具体数据格式示例如下:
000.jpeg | metadata.jsonl |
---|---|
![]() | {"file_name": "000.jpeg", "text": "a drawing of a green pokemon with red eyes"} |
... | ... |
注: Prompt支持中文和英文两种语言,英文Prompt效果更佳。
# 三、图像分类数据格式说明
当前平台支持第三方Vision Transformer(ViT)模型,微调数据集为图片,图片格式支持jpg、jpeg、png、bmp等,图片大小在4M内,一个数据集总图片数不少于100张,不大于20000张,压缩包不大于500M,压缩包内应至少包含两个文件夹,文件夹名为标签名需以英文命名,图片文件可中英文命名仅支持zip压缩上传。
- 具体数据格式示例如下:
lily | peony | ... |
---|---|---|
![]() | ![]() | ... |
... | ... | ... |