aws / aws/amazon-sagemaker-examples
[Bug Report] Maskrcnn training performance regression on TF 2.6 for SMDDP and Horovod
- 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
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