You need to enable JavaScript to run this app.
导航
创建模型精调任务
最近更新时间:2025.02.20 14:39:04首次发布时间:2023.06.27 23:50:07

模型精调入口

入口1:在模型广场进入模型详情页面中,点击右上角的 模型精调 按钮。
Image
入口2:在模型精调页面,点击左上角 创建精调任务 按钮。
Image

创建精调任务

填写模型精调任务表单,包括任务名称、可见范围,选择希望精调的基座模型、训练方式、精调使用的数据集等,具体填写说明见下表。
Image
模型精调表单配置字段填写说明

字段名

是否必填

描述及填写规范

任务名称

给本次精调任务命名,方便记录检索;支持1~200位可见字符,且只包含大小写字母、中文、数字、中划线、下划线

任务描述

给本次精调任务添加除名称以外的其他描述信息,方便多次迭代版本,重要信息记录;包含大小写字母、中文、数字、中划线、下划线

训练类型

平台提供2种训练方法:SFT精调和继续预训练

模型选择

下拉选择精调基于的基础模型,目前平台仅开放了豆包模型

参数配置

具体参数见精调任务页面表单,平台有提供默认值作为推荐,用户可根据具体需求进行调整

产出数量

训练完成后保存的模型数量,产出模型将自动导出至模型仓库。也可以在任务详情页的模型产出页签下载模型。

训练集

Train Set,用于训练模型以及确定参数;精调数据集格式可参考页面格式说明,支持上传训练集文件、从TOS导中导入2种方式

混入预置数据集

在用户上传的训练集数据中混入豆包模型的SFT(Supervised Fine Tuning,有监督微调)数据,混入比例表示混合后SFT数据占总数据量的比例,可调节范围:1-99%;平台默认关闭,用户可根据自己需求选择打开;
混入比例计算公式:假设用户训练集的样本数量为a,混入比例设置为X(X取值范围1-99%),要混入的SFT数据量为b, 则满足:b/(a+b)=X

验证集

Validation Set,模型训练过程中,用于确定网络结构以及调整模型的超参数;平台默认关闭,用户可根据自己需求选择打开,可以从训练集中随机分割一定比例作为验证集,也可以上传独立于训练集的数据集,数据格式可参考页面格式说明,数据集支持从本地上传或从TOS导入

注意

  1. 打开「混入预置SFT数据」功能会增加训练数据量,可能会产生额外的训练费用,具体请见右上角训练费用预估。
  2. 打开「验证集」后,会跟训练集一起计算总 tokens ,来计算训练费用,若验证集选择从训练集中按比例分割,则不会增加总 tokens 。

数据集导入成功大约5秒后,右侧栏会显示本次模型精调任务所需的训练费用预估。确认无误后,点击“提交精调任务”按钮创建精调任务。

数据格式说明

当前模型精调支持上传或导入jsonl格式数据集文件,以下为详细格式说明:

SFT精调

文本生成模型

格式示例:

{"messages": [{"role": "user", "content": "孤灯照不寐,风雨满西林。下一句是?"}, {"role": "assistant", "content": "多少关心事,书灰到夜深。"}]}
{"messages": [{"role": "system", "content": "请根据古诗内容,仅回复作者的名字。"}, {"role": "user", "content": "孤灯照不寐,风雨满西林。多少关心事,书灰到夜深。"}, {"role": "assistant", "content": "李群玉", "loss_weight": 1.0}]}

格式说明:

  • messages (list, required): 描述一个对话列表
    • role (str, required): 角色,system、user、assistant中的一个。
    • content (str, required): 对话内容文本。
    • loss_weight (float, optional): 对于内容的loss训练权重。当role=system/user,loss_weight默认值为0.0且不可修改;当role=assistant,loss_weight默认值为1.0。通过loss_weight字段,可以在训练数据中修改默认值,取值范围是[0.0, 1.0]。

说明

如希望提升模型的FunctionCall能力,需选择支持FunctionCall训练的模型并提供包含FunctionCall格式数据的训练集用于精调,具体模型和格式可参考5 FC精调功能

文本向量化模型

格式示例:

{"query":"乐清市珍俊服装店","docs":[{"text":"标题:先跪着把钱挣了.才能站着做选择.一定要好好赚钱.人这一生.","label":0},{"text":"标题:看来彩礼是要高了些..CCC#服装人#抖音助手#做个快乐的女孩#实体店#穿搭#实体王府大酒店","label":1},{"text":"标题:最近很喜欢一段话:照顾好自己的健康和情绪,这场人生,你就赢了一大半,其余的其余,人生自有","label":0}]}
jsonl

格式说明:

  • query*(str, required)*:检索问题文本
  • docs (list, required):与检索问题文本对应的正负例目标文本列表
    • text*(text, required)*:正负例文本内容
    • label*(bool, required)*:label值为1时为正例,一条数据中需要有1个正例;label值为0时为困难负例,一条数据中可包含0-5个负例

直接偏好学习

当前该训练方式暂未公开

文本生成模型

格式示例:

{"messages": [{"role": "user", "content": "孤灯照不寐,风雨满西林。下一句是?"}, {"role": "assistant", "content": [{"text": "多少关心事,书灰到夜深。", "score": 1.0}, {"text": "明月照大地,花香飘满园。", "score": 0.0}]}]}
{"messages": [{"role": "system", "content": "请根据古诗内容,仅回复作者的名字。"}, {"role": "user", "content": "孤灯照不寐,风雨满西林。多少关心事,书灰到夜深。"}, {"role": "assistant", "content": [{"text": "李群玉", "score": 1.0}, {"text": "李白", "score": 0.0}]}]}
jsonl

格式说明:

  • messages (list, required): 描述一个对话列表
    • role (str, required): 角色,system、user、assistant中的一个。最后一个message的role必须是assistant
    • content (str | list, required): 对话内容文本或者一个list对象。前n-1个message的content为str类型;最后一个message的content必须为list类型,且list长度在2~5之间。list的元素为dict,包含以下字段:
      • text (str, required):文本内容
      • score (float, required):偏好值,范围在0~1的浮点数

继续预训练

文本生成模型

格式示例:

{"text":"火山引擎机器学习平台是面向机器学习应用开发者,提供【开发机】和【自定义训练】等丰富建模工具、多框架高性能模型推理服务的企业级开发平台,支持从数据托管、代码开发、模型训练、模型部署的全生命周期工作流。"}
{"text":"支持运行超大规模的分布式任务,包含多种预置算法框架和自定义算法框架。提供稳定、灵活、高性能的机器学习训练环境。"}
{"text":"支持多种框架的模型在异构硬件上的一键部署,具有高吞吐、低延时、实时扩缩容等特点,使推理服务更具弹性和容错性。"}
jsonl

格式说明:

  • text (str, required): 想要训练的字符串文本。每条样本不限制text长度,如果超长将自动根据模型最大能支持的token拆成多个样本,因此样本总数可能会超过数据的行数