You need to enable JavaScript to run this app.
导航
模型精调数据集格式说明
最近更新时间:2025.05.27 21:35:50首次发布时间:2023.06.27 23:50:07
我的收藏
有用
有用
无用
无用

基本要求

当前模型精调支持上传或导入jsonl格式数据集文件,所有样例需确保一个样本一行
请参考下面的具体格式示例,每个示例后提供了样例文件。

SFT精调

文本生成模型

格式示例

需确保样例一个样本一行,您也可以下载样例文件阅读,以下是展开后效果。

{
    "messages": [
        {
            "role": "user",
            "content": "孤灯照不寐,风雨满西林。下一句是?"
        },
        {
            "role": "assistant",
            "content": "多少关心事,书灰到夜深。"
        }
    ]
}
{
    "messages": [
        {
            "role": "system",
            "content": "请根据古诗内容,仅回复作者的名字。"
        },
        {
            "role": "user",
            "content": "姑苏城外寒山寺,夜半钟声到客船"
        },
        {
            "role": "assistant",
            "reasoning_content": "用户让我根据古诗内容回复作者名字,诗句是 “姑苏城外寒山寺,夜半钟声到客船”。首先,我需要确定这句诗出自哪首诗。这句诗很有名,应该是张继的《枫桥夜泊》。记得以前学过,这首诗的作者是唐代诗人张继。用户要求仅回复作者名字,所以不需要其他内容。检查一下搜索到的信息,虽然这里显示没有具体资源,但根据已有的知识,确定作者是张继没错。所以直接回复名字即可,不用多余的解释。",
            "content": "张继",
            "loss_weight": 1
        }
    ]
}

格式说明

每行一条JSON格式的数据:

  • 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]

说明

特别说明:如希望提升模型的Function Calling能力,需选择支持Function Calling训练的模型并提供包含Function Calling格式数据的训练集用于精调,具体模型和格式可参考精调

文本向量化模型

格式示例

需确保样例一个样本一行,您可以下载样例文件阅读,以下是展开后效果。

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

格式说明

每行一条JSON格式的数据:

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

视觉理解模型

图片格式要求

  • 数据集文件大小:单数据集文件大小需控制在 2G 以下。

  • 图片规格:单张图片大小限制在 10M 以内,长宽比要小于 200。单图最大支持 5120 tokens,若超出此数值则会被采样到最大值(图片 token = 长像素 * 宽像素 / 784)。

  • 样本长度:单样本长度若超过模型训练窗口会被截断,图片按单张整体截断。不同模型的窗口大小如下:

    • doubao-1.5-vision-pro-250328:64k tokens(即将拓展到128k)
    • doubao-1.5-vision-pro-32k-250115:32768 tokens
    • doubao-1.5-vision-lite-250315:128k tokens
  • 支持的图片格式:参见下表。

    图片格式

    文件扩展名

    内容格式 Content Type

    JPEG

    .jpg, .jpeg

    image/jpeg

    PNG

    .apng, .png

    image/png

    GIF

    .gif

    image/gif

    WEBP

    .webp

    image/webp

    BMP

    .bmp

    image/bmp

    TIFF

    .tiff, .tif

    image/tiff

    ICO

    .ico

    image/x-icon

    DIB

    .dib

    image/bmp

    ICNS

    .icns

    image/icns

    SGI

    .sgi

    image/sgi

    JPEG2000

    .j2c, .j2k, .jp2, .jpc, .jpf, .jpx

    image/jp2

1.(推荐)图片使用base64编码

格式示例

将图片进行 base64 编码后填入 jsonl 文件中,具体可下载样例文件参考。

vlm_data.jsonl
未知大小

文件中需确保样例一个样本一行,以下是展开后效果示例。

{
  "messages": [
    {
      "role": "system",
      "content": "You are a large model with visual recognition capabilities."
    },
    {
      "role": "user",
      "content": [
        {
          "type": "image_url",
          "image_url": {
            "url": "data:image/{image_extension};base64,{image_base64}"
          }
        },
        {
          "type": "text",
          "text": "What’s in this image?"
        }
      ]
    },
    {
      "role": "assistant",
      "content": "It is a cat."
    }
  ]
}

格式说明

  • 支持在 user role 内混排图文,图文顺序无限制,训练按样本中的顺序进行。
  • 支持多轮对话和单轮对话多图。
  • text 字段不能为空字符串。
  • 支持在创建精调任务时上传或选择多个文件或数据集,单数据文件大小限制在 2G 以下,大文件可拆分为多个小文件。

附:图片编码方法

以下是Python对图片进行 base64 编码的代码示例。

import base64

# 将结果填入 url 字段内
def encode_image(image_path):
    extension = image_path.split(".")[-1]
    with open(image_path, "rb") as image_file:
        base64_image = base64.b64encode(image_file.read()).decode('utf-8')
        return f"data:image/{extension};base64,{base64_image}"

2. 图片使用相对路径

格式示例

以下为 jsonl 文件中使用图片相对路径的格式示例。

  1. 目录结构如下:
vlm
├── data.jsonl
└── image
    ├── doubao_app_logo.jpeg
    └── doubao_logo.jpeg
  1. 对应的数据示例如下:

Jsonl 文件中需确保样例一个样本一行,以下是展开后效果示例。

{
    "messages": [
        {
            "role": "user",
            "content": [
                {
                    "type": "image_url",
                    "image_url": {
                        "url": "file:./image/doubao_logo.jpeg"
                    }
                },
                {
                    "type": "text",
                    "text": "What’s in this image?"
                }
            ]
        },
        {
            "role": "assistant",
            "content": "It is the logo of Doubao LLM model."
        }
    ]
}

格式说明

注意:这种格式仅支持文件夹内图片数量少于 1000 张,大于该规模仍建议使用 base64 格式。

  • 支持图片和 jsonl 文件分别存放在同一文件夹中,通过相对路径在 jsonl 文件中指向图片(暂不支持绝对路径 tos url),文件夹内可包含多个 jsonl 文件,但要求 jsonl 文件位于文件夹根路径。
  • 操作时,如需在控制台页面上传文件夹,需将文件夹拖拽到上传框内,暂不支持点击上传框后选择文件夹。对于 tos 数据集文件夹路径,可以在控制台直接点击选择。

3. 视频抽帧图片序列

格式示例

用户若处理视频,可将视频抽帧为图片,然后把时间戳和图片按顺序编排到训练集中,抽帧可参考对视频内容进行内容理解

{
    "messages": [
        {
            "role": "user",
            "content": [
                {
                    "type":"text",
                    "text":"你觉得这个恐怖吗?"
                },
                {
                    "type":"text",
                    "text":"[0.0 second]"
                },
                {
                    "type":"image_url",
                    "image_url":{
                        "url":"base64/相对路径"
                },
                {
                    "type":"text",
                    "text":"[1.0 second]"
                },
                {
                    "type":"image_url",
                    "image_url":{
                        "url":"base64/相对路径"
                },
                {
                    "type":"text",
                    "text":"[2.0 second]"
                },
                {
                    "type":"image_url",
                    "image_url":{
                        "url":"base64/相对路径"
                }
            ]
        }
    ]
}

直接偏好学习

文本生成模型

标准格式

格式示例

支持两个回答正负例的偏好对比学习,需确保样例一个样本一行,您可以下载样例文件阅读。
以下是展开后效果。

{
    "messages": [
        {
            "role": "system",
            "content": "This is a system"
        },
        {
            "role": "user",
            "content": "What your name?"
        },
        {
            "role": "assistant",
            "content": "My name is doubao."
        },
        {
            "role": "user",
            "content": "How to learn Python?"
        },
        {
            "role": "assistant",
            "chosen": "It's so easy. First, you need to learn Python syntax...",
            "rejected": "Check python doc yourself"
        }
    ]
}

格式说明

每行一条JSON格式的数据:

  • messages (list, required): 描述一个对话列表
    • role (str, required): 角色,取值为system、user、assistant中的一个。最后一个message的role必须是assistant
    • content (str, required): 对话内容文本,最后一个message不包含
    • chosen (str, required)**:**偏好的内容正例,最后一个message必须包含
    • rejected (str, required):不偏好的内容负例,最后一个message必须包含

高级格式

高级格式支持提供多个模型回复列表,通过 score 来指定对回复的偏好。训练过程将根据 score 的大小自动生成两两对比的偏序对进行训练,注意:score 相同的两个回复不会生成相应的偏序对。

格式示例

需确保样例一个样本一行,您也可以下载样例文件阅读。

dpo.yaml
未知大小

以下是展开后效果。

{
    "messages": [
        {
            "role": "system",
            "content": [
                {
                    "text": "This is a system"
                }
            ]
        },
        {
            "role": "user",
            "content": [
                {
                    "text": "What your name?"
                }
            ]
        },
        {
            "role": "assistant",
            "content": [
                {
                    "text": "My name is doubao."
                }
            ]
        },
        {
            "role": "user",
            "content": [
                {
                    "text": "How to learn Python?"
                }
            ]
        },
        {
            "role": "assistant",
            "content": [
                {
                    "text": "I don't know!",
                    "score": 0.5
                },
                {
                    "text": "Check python doc yourself",
                    "score": 0.1
                },
                {
                    "text": "It's so easy. First, you need to learn Python syntax...",
                    "score": 1,
                    "lm_loss_mask": 1
                }
            ],
            "loss_weight": 1
        }
    ]
}

格式说明

每行一条JSON格式的数据:

  • messages (list, required): 描述一个对话列表
    • role (str, required): 角色,system、user、assistant中的一个。最后一个message的role必须是assistant,且仅最后一个 message 可以携带多个回复的偏许对
    • content (list, required): 对话内容文本或者一个list对象。最后一个message的content必须为list类型,且list长度在2~5之间。list的元素为dict,包含以下字段:
      • text (str, required):文本内容
      • score (float, required):偏好值,范围在0~1的浮点数,越高表示越偏好
      • lm_loss_mask (float, required):该条消息是否计算 sft loss,默认为 0,即不计算 sft loss
    • loss_weight (float, optional): 该条 message loss 的加权系数,默认为 1

继续预训练

文本生成模型

格式示例

需确保样例一个样本一行,您可以下载样例文件阅读。
以下是展开后效果。

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

格式说明

每行一条JSON格式的数据:

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