训练精度测试
约束限制
目前仅支持以下模型:
- qwen2.5-7b
- qwen2-7b
- qwen1.5-7b
- llama3.2-3b
- llama3.1-8b
- llama3-8b
- llama2-7b
- yi-6b
流程图
训练精度测试流程图如下图所示。

执行训练任务
- 进入test-benchmark目录执行训练命令,可以多次执行,按自己实际情况。
ascendfactory-cli train <cfgs_yaml_file> <model_name> <exp_name>
- <cfgs_yaml_file>:精度测试配置的yaml文件地址,指代码目录中accuracy_cfgs.yaml相对或绝对路径
- <model_name>:训练模型名,如qwen2.5-7b
- <exp_name>:实验名称:包含训练策略类型及数据序列长度:【lora:4096-lora、full:4096-full】
- 训练完成后,test-benchmark目录下会生成训练日志及NPU利用率日志及权重文件,如qwen2.5-7b日志:
- qwen2.5-7b-sft-4096-lora-313T-20241028_164746-0.txt
- qwen2.5-7b-sft-4096-lora-313T-20241028_164746-npu_info-0.txt
执行下游评估
为增加精度评测的稳定性及进一步确保训练精度,使用多个数据集【MMLU、CEVAL】评测,执行过程如下:
- 获取到训练权重后使用ascendfactory-cli、eval接口用mmlu、ceval数据集对训练后的结果进行评测
test-benchmark目录目录下执行命令
ascendfactory-cli eval <cfgs_yaml_file> --dataset <dataset> --model_name <model_name> --run_type <run_type>
- <cfgs_yaml_file>:精度评估配置的yaml文件地址,如代码目录中accuracy_cfgs.yaml相对或绝对路径
- --dataset <dataset>:评估数据集;可选值:all、mmlu、ceval,默认值为all,用户只需选择参数即可,数据集路径eval接口已指定好。
- --model_name <model_name>:训练模型名
- --run_type <run_type>:训练类型:【full or lora】
- 执行任务完成后test-benchmark目录下会生成ceval_validation、mmlu_test评估目录,根据自己选择数据集决定包含json及log文件,结果如下:
- ceval_validation或mmlu_test
- results.log
- results.json
- ceval_validation或mmlu_test

目前只支持以上超参,客户修改其他参数则需手动修改yaml文件内容
执行精度比较脚本
进入test-benchmark目录目录执行命令。
ascendfactory-cli accuracy <cfgs_yaml_file> --o <output_dir> --baseline <baseline>
- <cfgs_yaml_file>:精度测试配置的yaml文件地址,如代码目录中accuracy_cfgs.yaml相对或绝对路径
- --o <output_dir>: <可选>任务完成输出excel表格路径,默认为"./"当前所在路径
- --baseline <baseline>:<可选>GP-Ant8机器精度基线Yaml文件路径,不填则使用工具自带基线配置,包含loss、score、mmlu_score、ceval_score基线值;默认基线配置样例如下:
客户使用工具自带精度基线Yaml则需使用accuracy_cfgs.yaml文件中默认配置,权重使用表1 模型权重中指定的Huggingface地址,数据指定data.tgz里面提供的gsm8k和mmlu、ceval数据。
查看精度结果
任务完成之后会在test-benchmark目录下生成excel表格:
精度结果 LLaMAFactory_train_accuracy_benchmark_<版本号>_<时间戳>.xlsx
样例截图: