

模型训练方法庞大,用户需求迥异,为了解决该问题,万擎自定义任务为用户提供自定义任务功能,该功能支持ms-swift框架全量参数训练。本文使用sft demo跑通该流程。
1.默认:万擎平台使用modelscope作为模型与数据仓库。默认支持的模型与数据集如下:支持的模型与数据集。
2.自定义模型与数据:可在训练前将源模型,数据集及其他相关文件上传至ModelScope后,在后续填写模型时,填写ModelScope地址。
选项 | 含义 |
地域 | 选择计算资源所处位置。仅华北2含计算资源 |
实例配置 | 选择训练方法。仅支持PyTorch选项 |
Roles | 选择规格。目前实例规格仅支持GNX200,worker数量=多机训练数量,实例规格数量=单机训练卡数量 实际卡数=worker数量*规格数量 |
镜像 | 目前仅支持ms-swift框架训练 |
共享存储 | 可用于保存训练完成的模型参数,可选择除/kfs目录外(多机训练共享目录)的任意目录挂载,挂载后会以普通文件夹形式存在,当任务完成后,仅共享存储内的文件不会销毁。建议挂载存储,否则无法保存训练后数据! |
配置如下所示:
自定义任务支持ms-swift全量参数配置,部分参数解析如下:
参数 | 含义 | 备注 |
sft | 监督微调训练 | |
model | 模型名称 | 支持的模型列表:支持的模型仅支持modelscope下载 |
train_type | 训练方式 | |
dataset | 数据集名称 | 默认数据集:支持的数据集 仅支持modelscope下载 |
torch_dtype | 训练精度 | 支持:bfloat16 ,float16,float32,None(默认,框架自动判断) |
num_train_epochs | 整个数据集训练轮数 | |
per_device_train_batch_size | 每张 GPU 每次处理的数据条数 | |
per_device_eval_batch_size | 评估时每张 GPU 每次处理的数据条数。 | |
learning_rate | 学习率 | |
lora_rank | LoRA 的秩,越大参数越多效果越好,显存也越多。 | 一般为8~64 |
lora_alpha | LoRA 缩放系数, | 实际缩放比例 = lora_alpha/lora_rank |
target_modules | 对模型线性层添加LoRA | 支持以下参数: 1.所有线性层都加 LoRA(覆盖最全面):all-linear 2.所有 Embedding 层(新增专有词汇时使用):all-embedding 3.注意力层:q_proj, k_proj, v_proj, o_proj 4.MLP 层:gate_proj, up_proj, down_proj |
gradient_accumulation_steps | 累积n步更新一次参数。 | batch_size等效于:gradient_accumulation_steps*per_device_train_batch_size |
eval_steps | 每 n 步做一次验证集评估 | |
save_steps | 每 n 步保存一次checkpoint | |
save_total_limit | 最多保留 x 个 checkpoint,旧的自动删除(省磁盘) | |
logging_steps | 每 n 步打印一次 loss 等训练指标 | |
max_length | 每条数据最大 token 长度,超出截断(影响显存) | |
output_dir | 模型输出文件夹 | 注意:建议输出选择在共享存储挂载目录,以保存训练结果 |
system | 自动添加的系统提示词 | |
warmup_ratio | 前 n% 步数学习率从 0 线性预热到目标值,防止训练初期不稳定 | |
dataloader_num_workers | 数据加载的并行进程数,加快数据读取 | |
model_name | 模型名词 | |
model_author | 模型作者 | |
logging_dir | tensorboard保存位置 | 建议使用本示例$TENSORBOARD_OUTPUT_PATH位置,否则无法在首页使用tensorboard可视化界面! |
点击提交后,即可开始训练。
训练完成后,训练数据保存至output_dir参数目录下。
1.可查看tensorboard查看训练效果
2.可使用开发机挂载共享存储,即可使用训练后模型。具体操作详见开发机使用教程。
可在下述查看日志与tensorboard:
tensorboard数据:
若tensorboard无数据:查看log日志检查是否进入training阶段,tensorboard文件在training阶段时产生。
log日志数据:
若log日志无数据:确保自定义任务状态为运行中
自定义任务完成后平台会发送短信通知用户,点击后即可查看自定义任务结果。