n_epochs int (必选)
训练循环次数。模型遍历训练的次数,请根据模型调优实际使用经验进行调整。
- 数据量 < 10,000:推荐 3~5 次。
- 数据量 > 10,000:推荐 1~2 次。
重要该参数影响训练计费,循环次数越多,训练时间越长,费用越高。
batch_size int (必选)
批次大小。一次性送入模型进行训练的数据条数,参数过小会显著延长训练时间。不同模型的默认值不同,请前往控制台查看。
max_length int (必选)
序列长度。推荐值:8192。单条训练数据 token 支持的最大长度。如果单条数据 token 长度超过设定值,调优会直接丢弃该条数据,不进行训练。
字符与 token 之间的关系请参考Token和字符串之间怎么换算。
learning_rate float (可选)
学习率。推荐使用百炼默认值。控制模型修正权重的强度。
- 学习率过高,模型参数会剧烈变化,可能导致模型表现变差。
- 学习率过低,模型表现不会有太大变化。
lr_scheduler_type string (可选)
学习率调整策略。推荐 linear 或 inverse_sqrt。在模型训练中动态调整学习率的策略。各策略详情请参考学习率调整策略说明。
split float (可选)
训练集在训练文件中的占比。推荐使用百炼默认值。
未设置 validation_datasets 时,百炼会自动把训练文件中的 80% 作为训练集、20% 作为验证集。设置了 validation_datasets 时该参数无效。
max_split_val_dataset_sample int (可选)
验证集数据最大数量。推荐使用百炼默认值。
未设置 validation_datasets 时,自动分割的验证集最多 1000 条。设置了 validation_datasets 时该参数无效。
eval_steps int (可选)
验证步数。训练阶段针对模型的验证间隔步长,用于阶段性评估模型训练准确率、训练损失。
该参数影响模型调优进行时的 Validation Loss 和 Validation Token Accuracy 的显示频率。
logging_steps int (可选)
日志显示步数。调优日志打印的间隔步数。
warmup_ratio float (可选)
学习率预热比例。推荐使用百炼默认值。学习率预热占用总的训练过程的比例。学习率预热是指学习率在训练开始后由一个较小值线性递增至学习率设定值,帮助模型更稳定地训练。
- 比例过大:效果与过低的学习率相同,会导致调优后的模型表现不会有太大变化。
- 比例过小:效果与过高的学习率相同,可能导致调优后的模型表现不一定更好,甚至变差。
该参数仅对学习率调整策略 Constant 无效。
weight_decay float (可选)
权重衰减(L2 正则化强度)。推荐使用百炼默认值。能在一定程度上保持模型的通用能力,数值过大会导致调优效果不明显。
freeze_vit boolean (可选)
是否冻结视觉主干网络。用于冻结视觉主干网络的参数,使其在训练过程中不更新权重。仅适用于千问-VL(视觉理解)模型。
只有 freeze_vit 设置为 true 时,模型才能进行按 Token 用量计费。
lora_rank int (可选)
LoRA 秩值。推荐值:64。LoRA 训练中的低秩矩阵的秩大小。秩越大调优效果越好,但训练会略慢。
仅在 training_type 为 efficient_sft 或 dpo_lora 时生效。
当对一个已经高效微调后的模型进行二次高效微调时,lora_rank、lora_alpha、lora_dropout 三个参数必须保持一致。
lora_alpha int (可选)
LoRA 缩放系数。推荐使用百炼默认值。用于控制原模型权重与 LoRA 的低秩修正项之间的结合缩放系数。
- 较大的 Alpha 值会给予 LoRA 修正项更多权重,使得模型更加依赖于微调任务的特定信息。
- 较小的 Alpha 值则会让模型更倾向于保留原始预训练模型的知识。
仅在 training_type 为 efficient_sft 或 dpo_lora 时生效。
lora_dropout float (可选)
LoRA 丢弃率。推荐使用百炼默认值。LoRA 训练中的低秩矩阵值的丢弃率。使用推荐数值能增强模型通用化能力,数值过大会导致模型微调效果不明显。
仅在 training_type 为 efficient_sft 或 dpo_lora 时生效。
data_augmentation boolean (可选)
是否开启混合训练。开启后训练数据将与百炼提供的通用数据集混合,提升训练效果,避免模型能力退化。混合数据计入总训练 Token,按标准计费。
仅在 training_type 为 efficient_sft 或 sft 时生效。
augmentation_types string (可选)
预置数据类型。开启混合训练时,选择预置数据类型,多个类型以逗号分隔。需与 augmentation_ratio 配合使用。示例:"dialogue_cn,general_purpose_cn,nlp"。
可选值:
取值 | 数据集名称 | 适用模型 |
dialogue_cn
| 中文-对话 | 千问 2 系列 |
math_cn
| 中文-数学 | 千问 2 系列 |
general_coding_cn
| 中文-代码 | 千问 2 系列 |
general_purpose_cn
| 中文-通用 | 千问 2 系列 |
nlp
| NLP 理解 | 千问 2 系列 |
dialogue_en
| 英文-对话 | 千问 2 系列 |
math_en
| 英文-数学 | 千问 2 系列 |
general_coding_en
| 英文-代码 | 千问 2 系列 |
general_purpose_en
| 英文-通用 | 千问 2 系列 |
mix_v2
| 通用-V2 | 千问 3 系列 |
vl_mix
| 通用 | 千问 3 VL 系列 |
仅在 training_type 为 efficient_sft 或 sft 时生效。
augmentation_ratio string (可选)
混合倍率。需与 augmentation_types 完全对应,按训练数据量的比例随机抽取混合。取值范围:0.0~2.0。示例:"0.1,0.05,0.15"。
仅在 training_type 为 efficient_sft 或 sft 时生效。
save_strategy string (可选)
快照存储策略。可设置为 epoch 或 steps。设置为 steps 时,可通过 save_steps 参数调整保存间隔。
仅在 training_type 为 efficient_sft 或 sft 时生效。
save_steps int (可选)
存储步数。设置每训练多少步保存一次模型参数快照(Checkpoint)。建议设置为 eval_steps 的整数倍。
仅在 training_type 为 efficient_sft 或 sft 时生效。
save_total_limit int (可选)
快照存储数量上限。推荐值:10。限制最多保存多少个模型参数快照(Checkpoint)用于发布。
仅在 training_type 为 efficient_sft 或 sft 时生效。