Y-Agent Studio

参数说明

训练参数配置项及使用指南。

配置类结构

本系统通过四个核心配置类管理所有训练参数:

  • BaseConfig: 包含配置文件的加载、保存和基础校验功能
  • ModelConfig: 定义模型路径、数据精度、训练类型等基本属性
  • TrainingConfig: 定义训练过程中的超参数,如学习率、批次大小和训练轮次
  • LoraConfig: 定义 LoRA 相关的特定参数

🎯 模型配置参数 (ModelConfig)

这些参数定义了训练所需的环境和模型基准,是训练的基础设置。

核心参数说明

参数名必要性约束条件默认说明
model_path_to_load必填str:hf_model预训练模型路径:必须是有效的HuggingFace模型标识符或本地模型路径
data_type必填['float16','float32','bfloat16']'bfloat16'训练数据类型:bfloat16 (推荐)
training_type必填['cpt','sft']训练类型:根据任务选择
use_lora可选boolfalse是否使用LoRA训练
use_deepspeed可选boolfalse是否使用DeepSpeed训练:多卡训练时启用
system_prompt可选str"You are a helpful assistant."系统提示词:根据任务定制,也可不设置,默认为示例值
enable_gradit_checkpoing可选boolfalse启用梯度检查点:显存不足时启用

💡 重要提示

  • 模型路径:必须是有效的HuggingFace模型标识符或本地模型路径
  • 数据类型选择
    • bfloat16:推荐,精度高,显存需求小
    • float16:兼容性好,但精度稍低
    • float32:精度最高,但显存需求大
  • 训练类型
    • cpt:继续预训练,用于知识增强
    • sft:指令微调,用于任务适配

🚀 训练配置参数 (TrainingConfig)

这些参数控制训练过程中的具体行为和超参数设置。

参数名必要性约束条件默认说明
use_NLIRG可选booltrue核心算法建议开启
epoch必填int3训练轮次
lr必填float5e-6学习率
batch_size必填int1批次大小:一般训练可设置为非1值,否则请设置为1,此处的batch_size指的是单卡的batch_size
max_seq_len可选int2048最大序列长度:若设置此项,则会对输入序列进行截断
data_path必填str: 目录路径example_dataset/sft_example.json训练数据路径:数据格式请参考数据格式
output_dir必填str: 目录路径example_dataset/output结果输出路径
checkpoint_epoch可选str``设置检查点:以 ","分隔,例如:'0,1',表示第n轮保存一次模型,仅限SFT,最后一轮会自动保存
token_batchsft时必填int10单次反向传播训练的token数:值越小,训练越准确,但速度越慢,若值大于每一条数据的token数,则为一般训练
pack_lengthcpt时必填int2048用于将短文本打包,值为打包长度一般训练
enable_gradit_checkpoing可选boolfalse启用梯度检查点:可显著降低显存需求,但速度会变慢(大约1.25倍)
use_tensorboard可选boolfalse是否使用TensorBoard记录训练过程
tensorboard_path可选str: 目录路径example_dataset/tensorboard指定tensorboard输出文件的位置:若设置了使用Tensorboard但未设置此项,则默认将记录文件保存在output_dir

🔧 LoRA配置参数(LoRAConfig)

LoRA(Low-Rank Adaptation)是一种高效的参数微调方法,可以显著降低训练所需的显存。

适用场景:资源有限、需要快速实验、多任务微调

参数名说明约束条件默认说明
lora_dropoutLoRA dropout值float0.1-
lora_pathPEFT LoRA 模型路径str:目录路径``加载lora的文件目录(基于lora检查点继续训练是采用此方式),需要设置此项会,加载后无需下面三项
lora_target_modulesLoRA目标模块str"q_proj,k_proj,v_proj,o_proj"以 ","分隔的字符串列表,指向想要训练的模块
lora_rankLoRA秩大小int8低秩可能训练效果较差,但能降低显存需求
lora_alphaLoRA aplha值float32-

💡 使用注意事项

配置优先级

  1. 命令行参数 > 默认值
  2. LoRA相关参数仅在 use_lora=true 时生效
  3. DeepSpeed参数仅在 use_deepspeed=true 时生效
  4. lora_path:通常用于已经训练一个LoRA,本次训练需要基于该LoRA继续,加载成功后lora_target_modules``lora_rank``lora_alpha,会以该LoRA为准,无需再次设置。
  5. lora_target_modules:需要更强效果可加载更多网络层,例如:"q_proj,k_proj,v_proj,o_proj,gate_proj,up_proj,down_proj"

常见配置示例

# SFT训练(单卡,LoRA)
--training_type sft --use_lora 'true' --batch_size 1 --token_batch 12

# CPT训练(多卡,全量)
--training_type cpt --use_deepspeed 'true' --batch_size 2 --pack_length 2048

# 高级配置(NLIRG + TensorBoard)
--use_NLIRG --use_tensorboard 'true' --checkpoint_epoch '0,1'

配置保存

启动训练的所有配置信息都会被保存到 output_dir 中,以便后续检查。

🔗 相关文档

💡 提示:建议先使用推荐配置进行实验,再根据具体需求调整参数。

How is this guide?

最后更新

京ICP备2025145222号-1     © Copyright 向量感知(北京)智能科技有限公司 YAFO 2025.