This repository has been archived by the owner on Jul 7, 2023. It is now read-only.
Adding automatic mixed precision support #1637
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Automatic Mixed Precision for Tensorflow has been recently introduced:
https://medium.com/tensorflow/automatic-mixed-precision-in-tensorflow-for-faster-ai-training-on-nvidia-gpus-6033234b2540
This PR adds automatic mixed precision training to all tensor2tensor models via setting a single OS flag:
Alternatively, it can also be enabled by directly calling the optimize() function with an appropriate parameter:
Automatic (GPU) mixed precision should not be used with TPU and manual mixed precision. The PR checks for these cases.
We've tested speed impact on several models on 1x V100 16GB GPU:
Image classification - Resnet-50: 1.9x
Translate - Transformer-big: 1.9x
Sentiment analysis - Transformer-big: 1.4x