更新时间:2025-07-29 GMT+08:00
分享

训练精度测试

约束限制

目前仅支持以下模型:

  • qwen2.5-7b
  • qwen2-7b
  • qwen1.5-7b
  • llama3.2-3b
  • llama3.1-8b
  • llama3-8b
  • llama2-7b
  • yi-6b
  • qwen-7b
  • glm3-6b
  • glm4-9b

流程图

训练精度测试流程图如下图所示。

图1 训练精度测试流程图

执行训练任务

  1. 创建精度训练benchmark目录
    # 任意目录创建
    mkdir accuracy-test-benchmark
  2. 进入上步骤创建目录执行训练命令,可以多次执行,按自己实际情况。
    ascendfactory-cli train <cfgs_yaml_file> <model_name> <exp_name>
    • <cfgs_yaml_file>:精度测试配置的yaml文件地址,指代码目录中modellink_accuracy_cfgs.yaml相对或绝对路径
    • <model_name>:训练模型名,如qwen2.5-7b
    • <exp_name>:实验名称,与yaml文件保持一致
  3. 训练完成后,accuracy-test-benchmark目录下会生成训练日志及权重文件,如qwen2.5-7b-lora日志:

    full-qwen2.5-7b-4096-313T-20250113_173136-0.txt

执行下游评估

为增加精度评测的稳定性及进一步确保训练,执行过程如下:

  1. 获取到训练权重后使用ascendfactory-cli、eval接口对训练后的结果进行评测,精度训练benchmark目录执行命令:
    ascendfactory-cli eval <cfgs_yaml_file>  --dataset <dataset>  
    --model_name <model_name> --run_type <run_type>
    • <cfgs_yaml_file>:精度评估配置的yaml文件地址,如代码目录中modellink_accuracy_cfgs.yaml相对或绝对路径
    • --dataset <dataset>:评估数据集;可选值:gsm8k、all,默认值为all,用户只需选择参数即可,数据集路径eval接口已指定好。
    • --model_name <model_name>:训练模型名
    • --run_type <run_type>:训练类型:【full or lora】

目前只支持以上超参,客户修改其他参数则需手动修改yaml文件内容

执行精度比较脚本

进入精度训练benchmark目录目录执行命令。

ascendfactory-cli accuracy <cfgs_yaml_file> --o <output_dir> --baseline <baseline>
  • <cfgs_yaml_file>:精度测试配置的yaml文件地址,如代码目录中modellink_accuracy_cfgs.yaml相对或绝对路径
  • --o <output_dir>: <可选>任务完成输出excel表格路径,默认为"./"当前所在路径
  • --baseline <baseline>:<可选>GP-Ant8机器精度基线Yaml文件路径,不填则使用工具自带基线配置,包含loss、score、mmlu_score、ceval_score基线值;默认基线配置样例如下:

    客户使用工具自带精度基线Yaml则需使用modellink_accuracy_baseline.yaml文件中默认配置,权重使用表1 模型权重中指定的Huggingface地址,数据指定data.tgz里面提供的gsm8k数据。

查看精度结果

任务完成之后会在test-benchmark目录下生成excel表格:

精度结果 LLaMAFactory_train_accuracy_benchmark_<版本号>_<时间戳>.xlsx

样例截图:

相关文档