鲲鹏社区首页
中文
注册
开发者
我要评分
获取效率
正确性
完整性
易理解
在线提单
论坛求助

训练模型

训练ModelZoo模型包含获取模型、数据集和训练步骤指导。

获取模型与数据集

  1. 下载ModelZoo源码。
    git clone https://gitee.com/openeuler/sra_benchmark.git -b v1.0.0

    目录结构如下图所示。

  2. 下载数据集。
    1
    2
    3
    wget https://storage.googleapis.com/dataset-uploader/criteo-kaggle/large_version/train.csv --no-check-certificate
    wget https://storage.googleapis.com/dataset-uploader/criteo-kaggle/large_version/eval.csv --no-check-certificate
    wget https://deeprec-dataset.oss-cn-beijing.aliyuncs.com/csv_dataset/taobao.tar.gz --no-check-certificate
    
    • criteo-kaggle数据集(适合Wide_and_Deep,DLRM,DeepFM,DFFM模型使用):
    • Taobao数据集(适合DSSM模型使用):获取链接
  3. 解压数据集,将解压后的Taobao数据集和criteo-kaggle数据集复制到“/path/to/dataset”路径下。
    1
    2
    tar -zxvf taobao.tar.gz
    cp train.csv eval.csv taobao /path/to/dataset
    

训练阶段性能测试

  1. 进入ModelZoo所在路径。
    1
    cd /path/to/sra_benchmark/modelzoo
    
  2. 训练并保存模型。
    1
    python train_throughput_test.py --test_method single --meta_path /path/to/sra_benchmark --criteo_data_location /path/to/dataset --taobao_data_location /path/to/dataset/taobao
    

    命令参数如表1所示。

    训练并保存模型后,需要有如下图所示的结构目录(以下训练结果以Wide_and_Deep模型为例),“variables”文件夹和saved_model.pb文件分别为保存的已训练模型的数据和模型结构。

    AUC的值将在终端中打印输出。

    表1 训练模型命令参数说明

    参数名称

    参数说明

    --test_method

    用于指定训练时所用的资源。

    • single:使用单NUMA,默认为单NUMA。
    • entire:使用整台服务器的所有NUMA。

    --meta_path

    sra_benchmark所在路径。

    --criteo_data_location

    criteo-kaggle数据集所在位置。

    --taobao_data_location

    Taobao数据集所在位置。

验证集AUC

ModelZoo集成多种常用的搜推模型,支持对模型的训练效果(如AUC)进行评估。AUC(Area Under the Curve)用于评估训练效果,是衡量二分类模型区分正负样本能力的核心指标。只有当模型在验证集上的AUC达到合理阈值时(参考表2),其训练过程的有效性才得以保证,后续性能评估才具备实际意义

表2 ModelZoo搜推模型效果指标AUC参考值

Wide_and_Deep模型

DLRM模型

DeepFM模型

DFFM模型

DSSM模型

0.770489±0.02

0.787202±0.02

0.774716±0.02

0.762668±0.02

0.496895±0.02