aws / aws/amazon-sagemaker-examples

[Bug Report] Maskrcnn training performance regression on TF 2.6 for SMDDP and Horovod

Open
#2,947 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Jupyter Notebook
Stars
11k
Forks
7k
Avg merge
8h 29m
Merged PRs (30d)
8

Description

**Link to the notebook**
https://github.com/aws/amazon-sagemaker-examples/blob/master/training/distributed_training/tensorflow/data_parallel/maskrcnn/tensorflow2_smdataparallel_maskrcnn_demo.ipynb

**Describe the bug**
SMDDP team found that Maskrcnn distributed training has performance regression when training with TF 2.6 comparing to TF 2.5, which is about 10% slower on 4 and 8 nodes p4d.24xlarge using SMDDP as backend

We also uses Horovod and it shows the same behavior, meaning the regression comes from TF 2.6 binary, but it is also possible that training script needs to be updated to fit any new change of TF 2.6 to offset the regression

Note this notebook uses TF 2.4 image, while we use TF 2.6 DLC image and compare with TF 2.5 DLC image to benchmark

**To reproduce**
Following the notebook instruction and first uses TF 2.6 image_uri,and use TF 2.5 DLC image to run the same workload; both training should work and the throughput will differ

TF 2.6 image_uri - 763104351884.dkr.ecr.us-west-2.amazonaws.com/tensorflow-training:2.6.0-gpu-py38-cu112-ubuntu20.04

TF 2.5 image_uri - 763104351884.dkr.ecr.us-west-2.amazonaws.com/tensorflow-training:2.5.0-gpu-py37-cu112-ubuntu18.04

**Logs**
Maskrcnn on 8 nodes p4d.24xlarge with SMDDP as backend
TF 2.6 - 656 images/sec
TF 2.5 - 721 images/sec
TF 2.4 - 650 images/sec

Maskrcnn on 4 nodes p4d.24xlarge with Horovod as backend
TF 2.6 - 298 images/sec
TF 2.5 - 361 images/sec
TF 2.4 - 289 images/sec

Contributor guide

Open the contributing guide

Research direction

Start with training/distributed_training/tensorflow/data_parallel/maskrcnn/tensorflow2_smdataparallel_maskrcnn_demo.ipynb and run the workload with the listed TF 2.6 and TF 2.5 image URIs on 4- and 8-node p4d.24xlarge setups, using SMDDP and Horovod. Done means identifying whether the regression is in the TF 2.6 binary or the training notebook and documenting or correcting the cause.

Written by the indexing model from the issue text.

Assessment

Tech stack
jupyter-notebook, tensorflow
Domain
distributed-systems, machine-learning, performance
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.