Skip to content

Yi 会话调优模版

此模版基于 Yi 系列开源模型,无论是否量化,无论 Coder 或 Math 或语言模型类型,DoDo 已经将类模型的复杂 SFT 技术集成为模版,方便客户使用,并且针对不同模型只需更换不通基座模型,以及对感兴趣的训练参数的调整,其他一切完全统一,使用非常简洁方便。

训练参数

训练任务可调整参数说明

参数类型说明备注
max_seq_lengthnumber单条数据的长度,单位为 token。
lora_alphanumber控制 LoRA(Low-Rank Adaptation)层的学习率缩放因子
lora_dropoutnumber用于在训练过程中随机“丢弃”(即暂时移除)网络中的一些神经元,以减少模型对特定特征的依赖,从而防止过拟合。0 到 1 之间
random_statenumber控制训练过程随机性
per_device_train_batch_sizenumber
gradient_accumulation_stepsnumber梯度更新时的累积步长
warmup_stepsnumber学习率预热的步数。
num_train_epochsnumber控制训练过程中的迭代轮数。可以根据数据规模适当调整 Epoch 大小。
max_stepsnumber控制训练过程中的迭代次数。若想提前结束训练,可设置较小的值。
learning_ratenumber学习率(LearningRate)是在梯度下降的过程中更新权重时的超参数,可根据经验调整。
logging_stepsnumber日志保存间隔步数。
weight_decaynumber正则化系数(Weight_decay),用于防止模型对训练数据过拟合。
seednumber随机种子,用于初始化训练参数设置一个固定的种子(seed)可以确保每次运行实验时,随机数生成器产生的随机数序列是相同的。这在机器学习和深度学习中非常重要,因为它可以帮助研究者确保实验的可重复性。
lora_rnumberlora_r 设置的值越大,模型的灵活性越高,但计算负担也会增加。支持 8, 16, 32, 64, 128可根据算力调整
dataset_num_procnumber数据集使用次数
optimnumber参考优化器配置
lr_scheduler_typenumber参考LR学习率类型配置
model_save_typenumber参考模型保存格式
load_in_4bitnumber0: False ,1: True说明训练的基础模型的量化位数,1 = 4bit 量化,0 = 其他
use_rsloranumber0: False ,1: True1 = 可进一步降低显存开销,一般不开启,因为可能的精度影响
overwrite_output_dirnumber0: False ,1: True1 = 当训练任务异常时,任务再次启动时会从 checkpoint 输出目录加载最近的 checkpoint 模型,0 = 不使用恢复训练; 注意:此参数只在挂载了上次训练任务的 checkpoint 目录时才有效,默认为 0
save_total_limitnumbercheckpoint 总的保存数量
save_stepsnumber每隔一定步长保存一个 checkpoint 模型save_strategy="steps”有效
save_strategynumber参考`checkpoint 模型保存策略

checkpoint模型保存策略

python
"0": "no",  # 不保存
"1": "epoch",  # 在每个 epoch 结束时保存
"2": "steps",  # 每隔 save_steps 后保存

LR学习率类型配置

python
"0": "linear",  # 从初始学习率线性下降到 0
"1": "cosine",  # 学习率按照余弦函数变化,在训练过程中逐步减小
"2": "cosine_with_restarts",  # 带重启的余弦退火调度器,在训练过程中周期性地重置学习率,然后按余弦函数衰减,每隔一段时间重启余弦曲线
"3": "polynomial",  # 学习率按照多项式函数下降

优化器配置

python
"0": "adamw_8bit",
"1": "adamw”

模型保存格式:

python
"0": "lora", # 此模型权重仅为LoRA层,推理过程需加载训练基础模型
"1": "merged_16bit", # 此模型内含LoRA层,直接推理
"2": "merged_4bit" # 此模型内含LoRA层,整体模型为4bit量化版本,直接推理

模型输出

  • 根据模型保存格式输出的最终模型将存放在 DoDo 平台的内部 S3 存储中,也可以是客户在平台内部配置的存储路
  • checkpoint 模型,如果在训练任务拉起时配置了”自定义内容输出位置”,那么 checkpoint 模型将会保存在配置路径上。

训练数据标准

会话训练数据样例:

json
[
   {"role": "system", "content": "你是一位英语专家"}
   {"role": "user", "content": "请翻译苹果"}
   {"role": "assistant", "content": "apple"}
]

用户可根据样例构造满足自身企业要求的训练数据。

支持模型列表

ModelBaseInstruct
Yi6B (v 1.5),34B34B