更新时间:2024-12-17 GMT+08:00
分享

工具介绍及准备工作

本章节主要介绍针对LLaMAFactory开发的测试工具benchmark,支持训练、性能对比、下游任务评测、loss和下游任务对比能力。对比结果以excel文件呈现。方便用户验证发布模型的质量。所有配置都通过yaml文件设置,用户查看默认yaml文件即可知道最优性能的配置。

目前仅支持SFT指令监督微调训练阶段。

代码目录

benchmark工具脚本存放在代码包AscendCloud-LLM-xxx.zip的LLM/LLaMAFactory/benchmark目录下,包含训练性能测试和训练精度测试脚本。

代码目录如下:
benchmark 
├── config       #  默认的配置,使用前根据实际情况修改数据集路径dataset_dir、权重路径model_name_or_path
  ├── deepspeed                     # zero配置文件目录       
  ├── accuracy_cfgs.yaml            # 精度测试yaml配置文件
  ├── performance_cfgs.yaml         # 性能测试yaml配置文件
  ├── llama_factory_performance_baseline.yaml # LlamaFactory基于GP-Ant8训练性能基线值
  ├── llama_factory_accuracy_baseline.yaml  # LlamaFactory基于GP-Ant8训练精度基线值  
   ......  
  ├── ......       
├── src          # 工具代码目录
  ├── accuracy.py        #精度测试脚本
  ├── common_utils.py    #获取训练日志工具
  ├── performance.py     #性能测试脚本  
  ├── trainer.py         #训练启动脚本
├── data.tgz             # 样例数据
├── setup.py             # 构建工具包

约束限制

目前仅支持以下模型:

qwen2.5-7b

qwen2-7b

qwen1.5-7b

llama3.2-3b

llama3.1-8b

llama3-8b

llama2-7b

yi-6b

准备工作

  1. 完成准备工作内容,生成benchmark-cli工具。
  2. 解压版本包data.tgz:测试样例数据;比如工作目录为:/homa/ma-user/LLaMAFactory
    # 将默认数据解压config同级目录
    tar -zxvf ./benchmark/data.tgz ./benchmark/
  3. 创建test-benchmark目录,该目录存放训练生成的权重文件及训练日志。
    # 任意目录创建
    mkdir test-benchmark
  4. 修改yaml文件参数中model_name_or_path、dataset_dir和dataset或eval_dataset参数配置,修改代码目录下accuracy_cfgs.yaml或performance_cfgs.yaml文件内容,参数详解可参考表1
    # 默认参数;根据自己实际要求修改
    ## accuracy_cfgs.yaml、performance_cfgs.yaml
    dataset_dir: /xxxx/benchmark/data/dataset
    dataset: gsm8k_train_alpaca
    model_name_or_path: /data/wulan1/model/qwen2.5-7b
    ## accuracy_cfgs.yaml
    eval_dataset: gsm8k_test

    样例yaml配置文件结构分为

    • base块:基础配置块
    • ModelName块:该模型所需配置的参数,如qwen2.5-7b块

    样例截图如下:

  5. 开始训练测试,具体步骤参考训练性能测试训练精度测试,根据实际情况决定。

相关文档