NVIDIA Deep Learning Examples
NVIDIA Deep Learning Examples
Wide & Deep for TensorFlow1
Resource
NVIDIA Deep Learning Examples
NVIDIA Deep Learning Examples
Wide & Deep for TensorFlow1

Wide & Deep Recommender model.

  • The performance measurements in this document were conducted at the time of publication and may not reflect the performance achieved from NVIDIA's latest software release. For the most up-to-date performance measurements, go to NVIDIA Data Center Deep Learning Product Performance.

    Benchmarking

    The following section shows how to run benchmarks measuring the model performance in training mode.

    Training performance benchmark

    We provide 8 scripts to benchmark the performance of training:

    bash scripts/DGXA100_benchmark_training_tf32_1gpu.sh
    bash scripts/DGXA100_benchmark_training_amp_1gpu.sh
    bash scripts/DGXA100_benchmark_training_tf32_8gpu.sh
    bash scripts/DGXA100_benchmark_training_amp_8gpu.sh
    bash scripts/DGX1_benchmark_training_fp32_1gpu.sh
    bash scripts/DGX1_benchmark_training_amp_1gpu.sh
    bash scripts/DGX1_benchmark_training_fp32_8gpu.sh
    bash scripts/DGX1_benchmark_training_amp_8gpu.sh
    

    Results

    The following sections provide details on how we achieved our performance and accuracy in training.

    Training accuracy results

    Training accuracy: NVIDIA DGX A100 (8x A100 40GB)

    Our results were obtained by running the trainer/task.py training script in the TensorFlow NGC container on NVIDIA DGX A100 with (8x A100 40GB) GPUs.

    GPUsBatch size / GPUAccuracy - TF32 (MAP@12)Accuracy - mixed precision (MAP@12)Time to train - TF32 (minutes)Time to train - mixed precision (minutes)Time to train speedup (TF32 to mixed precision)
    1131,0720.676830.67632341359-
    816,3840.677090.6772193107-

    To achieve the same results, follow the steps in the Quick Start Guide.

    Training accuracy: NVIDIA DGX-1 (8x V100 16GB)

    Our results were obtained by running the trainer/task.py training script in the TensorFlow NGC container on NVIDIA DGX-1 with (8x V100 16GB) GPUs.

    GPUsBatch size / GPUAccuracy - FP32 (MAP@12)Accuracy - mixed precision (MAP@12)Time to train - FP32 (minutes)Time to train - mixed precision (minutes)Time to train speedup (FP32 to mixed precision)
    1131,0720.676480.677446544401.49
    816,3840.676920.677251901851.03

    To achieve the same results, follow the steps in the Quick Start Guide.

    Training accuracy plots

    Models trained with FP32, TF32 and Automatic Mixed Precision (AMP) achieve similar precision.

    MAP12

    Training stability test

    The Wide and Deep model was trained for 54,713 training steps, starting from 6 different initial random seeds for each setup. The training was performed in the 20.10-tf1-py3 NGC container on NVIDIA DGX A100 40GB and DGX-1 16GB machines with and without mixed precision enabled. After training, the models were evaluated on the validation set. The following table summarizes the final MAP@12 score on the validation set.

    Average MAP@12Standard deviationMinimumMaximum
    DGX A100 TF320.677090.000940.674630.67813
    DGX A100 mixed precision0.677210.000480.676430.67783
    DGX-1 FP320.676920.000600.675870.67791
    DGX-1 mixed precision0.677250.000640.675610.67803

    Training performance results

    Training performance: NVIDIA DGX A100 (8x A100 40GB)

    Our results were obtained by running the benchmark scripts from the scripts directory in the TensorFlow NGC container on NVIDIA DGX A100 with (8x A100 40GB) GPUs. Improving model scaling for multi-GPU is under development.

    GPUsBatch size / GPUThroughput - TF32 (samples/s)Throughput - mixed precision (samples/s)Strong scaling - TF32Strong scaling - mixed precision
    1131,072349,879332,5291.001.00
    816,3841,283,4571,111,9763.673.34
    Training performance: NVIDIA DGX-1 (8x V100 16GB)

    Our results were obtained by running the benchmark scripts from the scripts directory in the TensorFlow NGC container on NVIDIA DGX-1 with (8x V100 16GB) GPUs. Improving model scaling for multi-GPU is under development.

    GPUsBatch size / GPUThroughput - FP32 (samples/s)Throughput - mixed precision (samples/s)Throughput speedup (FP32 to mixed precision)Strong scaling - FP32Strong scaling - mixed precision
    1131,072182,510271,3661.491.001.00
    816,384626,301643,3341.033.432.37