训练入门:一键完成Qwen3-8B模型训练
场景介绍
本章节内容仅适用于“西南-贵阳一”站点。控制台界面为新版样式。
为了降低用户的使用门槛并增强用户体验,ModelArts控制台推出了一键训练案例。当前,ModelArts已支持Qwen3-8b模型的SFT和LoRA微调。本案例以Qwen3-8b Mindspeed-LLM LoRA微调为例,帮助用户快速掌握ModelArts的模型训练功能。
模型训练成功后,用户可以直接用于模型部署等后续操作,或根据实际需求,参考此训练过程,在创建训练作业界面重新创建模型。
前提条件
已完成华为云账号注册、实名认证及相关权限授权。具体操作,请参见一、前置准备:账号与权限。
约束限制
仅“西南-贵阳一”区域支持一键训练。
计费说明
在ModelArts进行模型训练时,会产生计算资源和存储资源的累计值计费。计算资源为训练作业运行的费用。存储资源包括数据存储到OBS或SFS的费用。详见模型训练计费项。
操作步骤
- 登录ModelArts管理控制台。
- 在左侧导航栏中,选择,选择“一分钟拉起Qwen3-8B,极速训练”。单击“一键训练”进入创建训练页面。
图1 一分钟拉起Qwen3-8B,极速训练
- 快速配置基础信息。
表1 基础信息 参数
说明
默认值
模型
创建本训练作业所依赖的模型。
Qwen3-8B。
作业名称
必填,训练作业的名称。
系统会自动生成一个名称,可以根据业务需求重新命名,命名规则如下:
- 支持1~64位字符。
- 可以包含大小写字母、数字、中划线(-)或下划线(_)。
随机生成。
训练方法
创建本训练作业所使用的训练方法。
LORA微调。
训练框架
创建本训练作业所使用的训练框架。
MindSpeed。
实例规格
创建本训练作业所使用的资源实例规格。
推荐使用8 * Ascend-snt9b2 | 192 vCPUs | 1536 GiB (modelarts.bm.npu.arm.8snt9b2)或更高配置。
8 * Ascend-snt9b2 | 192 vCPUs | 1536 GiB (modelarts.bm.npu.arm.8snt9b2)。
实例数
创建本训练作业的资源实例数。
填写范围与“实例规格”有关,已以界面展示为准。
1。
选择数据集
创建本训练作业所使用的数据集。
ModelArts提供的预置数据集。
第一个数据集选项。
更多配置
创建本训练作业的环境变量配置。如需了解可查看表3。
默认已填写完成。
- 确认配置和费用后,单击“确定”。跳转进入模型训练列表页面。
训练作业一般需要运行一段时间,在训练作业列表,可以查看训练作业的基本情况。
- 在训练作业列表中,刚创建的训练作业状态为“等待中”。
- 当训练作业的状态变为“已完成”时,表示训练作业运行结束,其生成的模型将存储至对应的“输出”目录中。
- 当训练作业的状态变为“运行失败”或“异常”时,可以单击训练作业的名称进入详情页面,通过查看模型产出、任务详情、事件、日志和资源占用等信息。
常见问题
常见报错及解决方案请详见表2。
|
常见报错 |
问题现象 |
原因分析 |
解决方案 |
|---|---|---|---|
|
创建训练任务时,数据集列表为空。 |
创建训练任务时,数据集选择框中显示为空,无可用的训练数据集。 |
数据集未发布。 |
请提前创建与大模型对应的训练数据集,并完成数据集发布操作。 |
|
训练日志提示“root: XXX valid number is 0” |
日志提示“root: XXX valid number is 0”,表示训练集/验证集的有效样本量为0,例如: INFO: root: Train valid number is 0. |
该日志表示数据集中的有效样本量为0,可能有如下原因:
|
请检查数据是否已标注或标注是否符合算法要求。 |
|
训练日志提示“ValueError: label_map not match” |
训练日志中提示“ValueError: label_map not match”,并打印出标签数据,例如: ValueError: label_map not match. {1:'apple', 2:'orange', 3:'banana', 4:'pear'} & {1:'apple', 2:'orange', 3:'banana'} |
训练集中的标签个数与验证集中的个数不一致,导致该错误发生。 例如,训练集中的标签共有4个,验证集中的标签只有3个。 |
请保持数据中训练集和验证集的标签数量一致。 |
默认环境变量
|
参数 |
说明 |
默认值 |
|---|---|---|
|
LR |
学习率设置。 |
1.25e-6 |
|
MIN_LR |
最小学习率设置。 |
1.25e-7 |
|
RUN_TYPE |
训练类型设置,比如lora/sft等。 |
lora |
|
MODEL_NAME |
训练模型名称。 |
qwen3_8b |
|
SEQ_LEN |
要处理的最大序列长度。默认为4096 |
4096 |
|
LR_WARMUP_RATIO |
用于计算LR_WARMUP_ITERS的占TRAIN_ITERS的比例 LR_WARMUP_ITERS=TRAIN_ITERS * LR_WARMUP_RATIO |
0.01 |
|
DATA_TYPE |
示例值需要根据数据集的不同,选择其一。
|
AlpacaStyleInstructionHandler |
|
EPOCH |
表示训练轮次,根据实际需要修改。一个Epoch是将所有训练样本训练一次的过程。 |
4 |
|
GBS |
表示训练中所有机器一个step所处理的样本量。影响每一次训练迭代的时长。 |
16 |
|
LORA_R |
在Lora矩阵中,Rank的值用于衡量矩阵的复杂度和信息量。数值较大,增强模型的表示能力,但会增加训练时长;数值越小可以减少参数数量,降低过拟合风险。 |
16 |