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.
Option to recompute forward activations during backward pass.
Will be an int so that 0 = don't be fancy, 1,2,3,4... (in the future) recompute more and more.
This trades off VRAM for latency of a single fwd/bwd pass, because we do more calculations, but we save less in memory.
The big upside is that the VRAM savings mean you can crank up the batch size, and can actually end up with a net win on the tokens throughput during training.
For example on my A100 40GB, with -r 0 I can only fit batch size 10 for the biggest GPT-2 model. But with -r 1 (recompute GeLU) I can fit batch size 12, and a net win of token throughput because of that.