模型数据

数据集是模型训练与评测的基础,百炼模型数据功能可以帮助您高效地创建和管理数据集。

支持的数据集

模型数据实现了对您业务空间下所有大模型相关数据集的统一管理。这些数据集可分为训练集(用于模型调优)和评测集(用于模型评测)两类。

类型

说明

训练集

用于对大模型进行微调,通过在特定任务的数据集上进行有监督训练,使大模型学会解决特定问题和区分相关特征之间的细微差异,从而显著提升其在特定任务上的准确性和效率。

目前支持SFTDPO训练集,详见下方说明。

评测集

用于评测大模型的泛化能力,即评估经过微调后的大模型在未见过的数据集上的表现如何。

目前支持文本生成评测集,详见下方说明。

训练集

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 的nameweight参数,所有的 assistant 输出都会被训练。

SFT-文本生成训练集格式示例.jsonl

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 的nameweight参数,所有的 assistant 输出都会被训练。

image

SFT-图片理解训练集格式示例.zip

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 区别请参见消息类型

DPO-文本生成训练集格式样例.jsonl

评测集

文本生成

是一种单轮对话的评测数据,用于文本生成类模型的评测。

文本生成 Excel 格式评测数据,一行评测数据展开后结构如下

Prompt

Completion

<用户输入1>

<模型期望输出1>

模型评测中,参评的大模型将基于您的评测集中每一条Prompt进行推理。随后您的评分员或自动化评分系统将参考评测集中的Completion数据来对大模型的推理结果进行评分。

文本生成评测集格式示例.xlsx

数据集构建技巧

训练集的规模要求

对于 SFT 来说,训练集最少需要上千条优质微调数据;对于 DPO 来说,训练集一般需要上百条人类偏好数据。如果模型调优后的模型评测结果不佳,最简单的改进方法是收集更多数据进行训练。

如果您缺乏数据,建议构建智能体应用,使用知识库索引来增强模型能力。当然在很多复杂的业务场景,可以综合采用模型调优和知识库检索结合的技术方案。

以客服场景为例,可以借助模型调优解决客服回答的语气、表达习惯、自我认知等问题,场景涉及的专业知识可以结合知识库,动态引入到模型上下文中。

百炼推荐您可以先构建 RAG 应用试运行,在收集到足够的应用数据后再通过模型调优继续提升模型表现。

您可以采用以下策略扩充训练集:

您可以在准备训练集的同时,准备一份与训练集数据不重叠的评测集,用来评测微调后模型的效果。
  1. 让大模型模拟生成特定业务/场景的相关内容,辅助您生成更多用于微调数据。(生成模型建议选取表现优异、规模更大的模型)

  2. 使用百炼的数据处理功能,对您的数据集进行数据清洗、数据增强。

  3. 通过应用场景收集、网络爬虫、社交媒体和在线论坛、公开数据集、合作伙伴与行业资源、用户贡献等各种方式,人工获取更多数据。

训练数据的多样性与均衡性

模型微调有不同场景,针对具体业务场景时,专业性更重要;而针对问答场景时通用性更重要。您需要根据模型负责的业务模块或使用场景进行数据用例设计。因此训练效果好坏并不是仅仅取决于数据量,更需要考虑针对场景的专业性和多样性。

这里以智能 AI 对话场景为例,介绍一个专业、多样的训练集应该包含的各种业务场景:

具体业务

多样化场景/业务

电商客服

活动推送、售前咨询、售中引导、售后服务、售后回访、投诉处理等。

金融服务

贷款咨询、投资理财顾问、信用卡服务、银行账户管理等。

在线医疗

病症咨询、挂号预约、就诊须知、药品信息查询、健康小建议等。

AI 秘书

IT 信息、行政信息、HR 信息、员工福利解答、公司日历查询等。

旅游出行助手

旅行规划、出入境指南、旅行保险咨询、目的地风土人情介绍等。

企业法律顾问

合同审核、知识产权保护、合规性检查、劳动法律答疑、跨境交易咨询、个案法律分析等。

声音克隆

场景多样(正式演讲、日常对话、情绪表达等)、情感多样(快乐、悲伤、严肃、轻松等)、发声方式(如正常说话、耳语、唱歌、大声喊叫等)

还请特别注意的是各个场景/业务的数据数量应相对均衡,数据比例符合实际场景比例,避免某一类数据过多导致模型偏向于学习该类特征,影响模型的泛化能力。

创建数据集

本段落指导您如何在百炼控制台上创建一个数据集。

百炼模型数据目前尚未提供可用的API。
百炼目前对数据集的创建数量没有限制,导入的数据量也没有上限。
  1. 访问模型数据,单击新增数据集

  2. 输入数据集名称,并选择需要创建的数据集类型

    训练集

    1. 数据集类型选择SFT-文本生成SFT-图片理解,或DPO-文本生成

    2. 存储位置,选择平台存储(暂不支持其它)。

      使用百炼提供的免费存储空间。
    3. 导入方式,选择本地上传(暂不支持其它)

    4. 数据导入,单击image图标选择并上传文件。您上传的训练数据必须与给出的数据示例结构一致,否则会导致导入失败。

      您可以参考百炼提供的数据模板,将示例数据替换为您的训练数据,然后直接上传。
      百炼不支持创建空训练集。
      system/user/assistant 区别请参见消息类型
      SFT-文本生成DPO-文本生成训练集支持同时上传多个文件。百炼会先整合这些文件中的数据,然后再统一导入训练集。

    评测集

    1. 数据集类型选择文本生成(暂不支持其它)。

    2. 存储位置,选择平台存储(暂不支持其它)。

      使用百炼提供的免费存储空间。
    3. 导入方式,选择本地上传(暂不支持其它)

    4. 数据导入,单击image图标选择并上传文件。您上传的评测数据必须与给出的数据示例结构一致,否则会导致导入失败。

      您可以参考百炼提供的数据模板,将示例数据替换为您的评测数据,然后直接上传。
      百炼不支持创建空评测集。
      您可以同时上传多个文件。百炼会先整合这些文件中的数据,然后统一导入评测集。
  3. 单击确认,新创建的数据集(版本V1,版本发布状态草稿)将出现在模型数据列表中,并开始导入数据。单击image图标,查看最新导入状态

    发布状态

    说明

    草稿

    此时该版本的数据集可编辑,可用于数据处理(例如进行数据清洗和数据增强),但无法用于模型调优和模型评测(模型调优或评测前需发布数据集)。

    发布

    此时该版本的数据集不可编辑,可用于数据处理模型调优(训练集)和模型评测(评测集)。

    导入状态

    说明

    导入中

    在请求高峰时段,该过程可能需要较长时间,请耐心等待,期间无需您介入操作。

    导入成功

    表示数据集已成功创建。

    导入失败

    表示数据集创建失败。建议您提交工单咨询具体原因。

管理数据集

操作

说明

管理数据集版本

您可以为数据集创建多个独立编辑的版本。在模型数据页面,单击数据集右侧的查看,左侧数据版本导航树会显示当前数据集的所有版本。

  • 新增版本:单击新增版本,数据集版本号自动递增。

    1. 数据继承,选择继承数据新建数据

      继承数据:新版本将保留继承版本的所有数据,数据集类型保持不变,方便您在继承版本的基础上进行修改。
      新建数据:新版本内容为空,数据集类型保持不变,方便您重新导入数据。
    2. 单击确定,左侧数据版本导航树中出现新版本。

  • 删除版本:在左侧数据版本导航树中选择相应版本,然后单击页面右上角的删除

    版本删除后将不再可用且不可恢复,请谨慎操作。

查看数据集

模型数据页面,单击数据集名称右侧的查看,可查看该数据集的基本信息(例如数据集类型、数据集创建时间等)、所有版本和数据。

查找数据集

模型数据页面的搜索框中输入数据集名称后,单击image图标在业务空间下查找数据集,支持模糊搜索,支持按数据集类型筛选结果。

编辑数据集(草稿)

模型数据页面,发布状态为草稿的数据集,单击查看进入数据集详情页后,可进行新增、编辑、导入(批量新增)、复制、删除和下载数据操作。

复制操作会生成一条与原数据完全相同的副本,方便您在副本的基础上进行修改。

导出数据集

模型数据页面,单击数据集名称右侧的导出,可下载该数据集的最新版本到本地。暂不支持设置导出文件格式。

如需导出数据集的指定版本,请先查看该数据集,然后在左侧数据版本导航树中选择相应版本,再单击页面右上角的导出
百炼不支持导出空数据集。
  • 训练集SFT-文本生成(导出为jsonl格式)、SFT-图片理解(导出为zip格式),以及DPO-文本生成(导出为jsonl格式)。

  • 评测集文本生成(导出为xlsx格式)。

发布数据集

模型数据页面,单击数据集名称右侧的发布(当数据集最新版本的发布状态草稿可用),可发布该数据集的最新版本。发布后,该版本可用于模型调优或模型评测。

如需发布数据集的指定版本,请先查看该数据集,然后在左侧数据版本导航树中选择相应版本,再单击页面右上角的发布
数据集发布后将无法再转为草稿状态进行编辑。如需编辑,请为该数据集新增一个版本。
百炼不支持发布空数据集。

删除数据集

如果您不再需要某个数据集,请在模型数据页面单击该数据集右侧的删除,以彻底删除此数据集。删除数据集后,该数据集将不再可用且不可恢复,请谨慎操作。

如需删除数据集的指定版本,请先查看该数据集,然后在左侧数据版本导航树中选择相应版本,再单击页面右上角的删除

计费说明

模型数据功能和数据集存储空间均免费。

下一步