数据集是模型训练与评测的基础,百炼模型数据功能可以帮助您高效地创建和管理数据集。
支持的数据集
模型数据实现了对您业务空间下所有大模型相关数据集的统一管理。这些数据集可分为训练集(用于模型调优)和评测集(用于模型评测)两类。
类型 | 说明 |
训练集 | 用于对大模型进行微调,通过在特定任务的数据集上进行有监督训练,使大模型学会解决特定问题和区分相关特征之间的细微差异,从而显著提升其在特定任务上的准确性和效率。 |
评测集 | 用于评测大模型的泛化能力,即评估经过微调后的大模型在未见过的数据集上的表现如何。 目前支持文本生成评测集,详见下方说明。 |
训练集
SFT-文本生成
是一种多轮对话的训练数据,单个提问和回答一一对应,用于文本生成类模型的微调训练。
SFT-文本生成 ChatML(Chat Markup Language)格式训练数据,支持多轮对话和多种角色设置,一行训练数据展开后结构如下:
{"messages": [
{"role": "system", "content": "<系统输入1>"},
{"role": "user", "content": "<用户输入1>"},
{"role": "assistant", "content": "<模型期望输出1>"},
{"role": "user", "content": "<用户输入2>"},
{"role": "assistant", "content": "<模型期望输出2>"}
...
...
...
]
}
system/user/assistant 区别请参见消息类型。
不支持OpenAI 的name
、weight
参数,所有的 assistant 输出都会被训练。
SFT-图片理解
是一种多轮对话的训练数据,User Query中可包含图片,用于图片理解类模型的微调训练。
SFT-图片理解 ChatML 格式训练数据(图片文件与文本训练数据在同一目录下一起打包成 zip),一行训练数据展开后结构如下:
{"messages":[
{"role":"user",
"content":[
{"text":"<用户输入1>"},
{"image":"<图像文件名1>"}]},
{"role":"assistant",
"content":[
{"text":"<模型期望输出1>"}]},
{"role":"user",
"content":[
{"text":"<用户输入2>"}]},
{"role":"assistant",
"content":[
{"text":"<模型期望输出2>"}]},
...
...
...
]}
system/user/assistant 区别请参见消息类型。
不支持OpenAI 的name
、weight
参数,所有的 assistant 输出都会被训练。
DPO-文本生成
是一种多轮对话的训练数据,最后一轮的Assistant输出包括正反例数据,用于DPO对齐微调训练。
DPO-文本生成 ChatML 格式训练数据,一行训练数据展开后结构如下:
{"messages":[
{"role":"system","content":"<系统输入>"},
{"role":"user","content":"<用户输入1>"},
{"role":"assistant","content":"<模型输出1>"},
{"role":"user","content":"<用户输入2>"},
{"role":"assistant","content":"<模型输出2>"},
{"role":"user","content":"<用户输入3>"}],
"chosen":
{"role":"assistant","content":"<赞同的模型期望输出3>"},
"rejected":
{"role":"assistant","content":"<反对的模型期望输出3>"}}
模型将 messages 内的所有内容均作为输入,DPO 用于训练模型对"<用户输入3>"的正负反馈。
system/user/assistant 区别请参见消息类型。
评测集
文本生成
是一种单轮对话的评测数据,用于文本生成类模型的评测。
文本生成 Excel 格式评测数据,一行评测数据展开后结构如下:
Prompt | Completion |
<用户输入1> | <模型期望输出1> |
在模型评测中,参评的大模型将基于您的评测集中每一条Prompt进行推理。随后您的评分员或自动化评分系统将参考评测集中的Completion数据来对大模型的推理结果进行评分。
数据集构建技巧
训练集的规模要求
对于 SFT 来说,训练集最少需要上千条优质微调数据;对于 DPO 来说,训练集一般需要上百条人类偏好数据。如果模型调优后的模型评测结果不佳,最简单的改进方法是收集更多数据进行训练。
如果您缺乏数据,建议构建智能体应用,使用知识库索引来增强模型能力。当然在很多复杂的业务场景,可以综合采用模型调优和知识库检索结合的技术方案。
以客服场景为例,可以借助模型调优解决客服回答的语气、表达习惯、自我认知等问题,场景涉及的专业知识可以结合知识库,动态引入到模型上下文中。
百炼推荐您可以先构建 RAG 应用试运行,在收集到足够的应用数据后再通过模型调优继续提升模型表现。
您可以采用以下策略扩充训练集:
您可以在准备训练集的同时,准备一份与训练集数据不重叠的评测集,用来评测微调后模型的效果。
让大模型模拟生成特定业务/场景的相关内容,辅助您生成更多用于微调数据。(生成模型建议选取表现优异、规模更大的模型)
使用百炼的数据处理功能,对您的数据集进行数据清洗、数据增强。
通过应用场景收集、网络爬虫、社交媒体和在线论坛、公开数据集、合作伙伴与行业资源、用户贡献等各种方式,人工获取更多数据。
训练数据的多样性与均衡性
模型微调有不同场景,针对具体业务场景时,专业性更重要;而针对问答场景时通用性更重要。您需要根据模型负责的业务模块或使用场景进行数据用例设计。因此训练效果好坏并不是仅仅取决于数据量,更需要考虑针对场景的专业性和多样性。
这里以智能 AI 对话场景为例,介绍一个专业、多样的训练集应该包含的各种业务场景:
具体业务 | 多样化场景/业务 |
电商客服 | 活动推送、售前咨询、售中引导、售后服务、售后回访、投诉处理等。 |
金融服务 | 贷款咨询、投资理财顾问、信用卡服务、银行账户管理等。 |
在线医疗 | 病症咨询、挂号预约、就诊须知、药品信息查询、健康小建议等。 |
AI 秘书 | IT 信息、行政信息、HR 信息、员工福利解答、公司日历查询等。 |
旅游出行助手 | 旅行规划、出入境指南、旅行保险咨询、目的地风土人情介绍等。 |
企业法律顾问 | 合同审核、知识产权保护、合规性检查、劳动法律答疑、跨境交易咨询、个案法律分析等。 |
声音克隆 | 场景多样(正式演讲、日常对话、情绪表达等)、情感多样(快乐、悲伤、严肃、轻松等)、发声方式(如正常说话、耳语、唱歌、大声喊叫等) |
还请特别注意的是各个场景/业务的数据数量应相对均衡,数据比例符合实际场景比例,避免某一类数据过多导致模型偏向于学习该类特征,影响模型的泛化能力。
创建数据集
本段落指导您如何在百炼控制台上创建一个数据集。
百炼模型数据目前尚未提供可用的API。
百炼目前对数据集的创建数量没有限制,导入的数据量也没有上限。
访问模型数据,单击新增数据集。
输入数据集名称,并选择需要创建的数据集类型。
训练集
数据集类型选择SFT-文本生成、SFT-图片理解,或DPO-文本生成。
存储位置,选择平台存储(暂不支持其它)。
使用百炼提供的免费存储空间。
导入方式,选择本地上传(暂不支持其它)。
数据导入,单击图标选择并上传文件。您上传的训练数据必须与给出的数据示例结构一致,否则会导致导入失败。
您可以参考百炼提供的数据模板,将示例数据替换为您的训练数据,然后直接上传。
百炼不支持创建空训练集。
system/user/assistant 区别请参见消息类型。
SFT-文本生成和DPO-文本生成训练集支持同时上传多个文件。百炼会先整合这些文件中的数据,然后再统一导入训练集。
评测集
数据集类型选择文本生成(暂不支持其它)。
存储位置,选择平台存储(暂不支持其它)。
使用百炼提供的免费存储空间。
导入方式,选择本地上传(暂不支持其它)。
数据导入,单击图标选择并上传文件。您上传的评测数据必须与给出的数据示例结构一致,否则会导致导入失败。
您可以参考百炼提供的数据模板,将示例数据替换为您的评测数据,然后直接上传。
百炼不支持创建空评测集。
您可以同时上传多个文件。百炼会先整合这些文件中的数据,然后统一导入评测集。
单击确认,新创建的数据集(版本V1,版本发布状态为草稿)将出现在模型数据列表中,并开始导入数据。单击图标,查看最新导入状态。
发布状态
说明
草稿
此时该版本的数据集可编辑,可用于数据处理(例如进行数据清洗和数据增强),但无法用于模型调优和模型评测(模型调优或评测前需发布数据集)。
发布
导入状态
说明
导入中
在请求高峰时段,该过程可能需要较长时间,请耐心等待,期间无需您介入操作。
导入成功
表示数据集已成功创建。
导入失败
表示数据集创建失败。建议您提交工单咨询具体原因。
管理数据集
操作 | 说明 |
管理数据集版本 | 您可以为数据集创建多个独立编辑的版本。在模型数据页面,单击数据集右侧的 ,左侧数据版本导航树会显示当前数据集的所有版本。
|
查看数据集 | 在模型数据页面,单击数据集名称右侧的 ,可查看该数据集的基本信息(例如数据集类型、数据集创建时间等)、所有版本和数据。 |
查找数据集 | 在模型数据页面的搜索框中输入数据集名称后,单击图标在业务空间下查找数据集,支持模糊搜索,支持按数据集类型筛选结果。 |
编辑数据集(草稿) | 在模型数据页面,发布状态为草稿的数据集,单击 进入数据集详情页后,可进行新增、编辑、导入(批量新增)、复制、删除和下载数据操作。 复制操作会生成一条与原数据完全相同的副本,方便您在副本的基础上进行修改。 |
导出数据集 | 在模型数据页面,单击数据集名称右侧的导出,可下载该数据集的最新版本到本地。暂不支持设置导出文件格式。 如需导出数据集的指定版本,请先查看该数据集,然后在左侧数据版本导航树中选择相应版本,再单击页面右上角的导出。 百炼不支持导出空数据集。
|
发布数据集 | 在模型数据页面,单击数据集名称右侧的发布(当数据集最新版本的发布状态为草稿可用),可发布该数据集的最新版本。发布后,该版本可用于模型调优或模型评测。 如需发布数据集的指定版本,请先查看该数据集,然后在左侧数据版本导航树中选择相应版本,再单击页面右上角的发布。 数据集发布后将无法再转为草稿状态进行编辑。如需编辑,请为该数据集新增一个版本。 百炼不支持发布空数据集。 |
删除数据集 | 如果您不再需要某个数据集,请在模型数据页面单击该数据集右侧的删除,以彻底删除此数据集。删除数据集后,该数据集将不再可用且不可恢复,请谨慎操作。 如需删除数据集的指定版本,请先查看该数据集,然后在左侧数据版本导航树中选择相应版本,再单击页面右上角的删除。 |
计费说明
模型数据功能和数据集存储空间均免费。