Updates to Opacus to handle extra args returned in ghost clipping, dynamically provide epsilon_tolerance. #695
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.
Types of changes
Motivation and Context / Related issue
a) Currently make_private returns
criterion
if the ghost clipping algorithm was chosen, otherwise it doesn't. The return args listTuple[GradSampleModule, DPOptimizer, DataLoader]
is incorrect in this case. This causes compile time error when using ghost clipping technique. Removing the return arg specification (similar to make_private_with_epsilon), as a quick fix to avoid compile errors, while the approach can be further updated.b) Allow providing epsilon_tolerance dynamically.
How Has This Been Tested (if it applies)
Compile, unit tests, and manual runs.
Checklist