数据参数

DataArguments

字段

类型

默认值

说明

train_dataset

str | None

None

训练数据集路径、YAML 或 Hub ID

eval_dataset

str | None

None

字段已定义;评估流程尚未实现

DatasetInfo

数据集 YAML 的每个顶层条目使用以下字段:

字段

类型

默认值

说明

path

str

必填

本地路径或 Hub ID

source

local | hf_hub

hf_hub

数据来源

split

str

train

数据集 split

converter

str | None

None

alpaca、sharegpt、pair 或已注册名称

size

int | None

全部

重采样后的目标索引数量

weight

float

不设置

索引数量的缩放倍率

streaming

bool

false

字段已定义;当前训练路径不支持 streaming 数据集

采样规模的计算

size 和 weight 作用于数据集展开后的训练索引。多轮 SFT 中,每个受监督的 assistant turn 对应一个索引条目,因此索引数量可能大于原始数据的行数;偏好对数据则以一组 chosen/rejected 为一个条目。

使用正数 size、weight 时,按以下顺序计算:

  1. 设置 size 后,先从展开后的索引中有放回抽取 size 个条目;省略时保留完整索引。

  2. 设置 weight 后,再从上一步结果中有放回抽取 int(当前条目数 × weight) 个条目,小数部分向下取整;省略时保留上一步结果。

例如,size: 1000 与 weight: 0.5 同时设置时,先抽取 1000 个条目,再抽取其中的 500 个条目。最终规模为 500,但可能包含重复条目,也可能没有覆盖某些原始记录。

weight 控制每个数据集贡献的索引数量,不是各数据集之间归一化后的抽样概率,也不改变样本的损失权重。weight > 1 可以增加索引数量。显式设置 weight: 1.0 仍会执行有放回重采样;省略 size 和 weight 才会直接保留全部展开后的索引。

数据格式和多数据集组合方式见数据准备。