Fixed #86 : Added an end-to-end DP Transformer training example #102
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.
This PR adds a comprehensive, self-contained example of training a Transformer decoder using the JAX Privacy Core API (Issue #86).
Key Features:
Architecture: Implements a Transformer Decoder in Flax Linen for character-level language modeling.
Bare-Metal Core API: Explicitly uses jax_privacy.clipped_grad and noise_addition.gaussian_privatizer without high-level wrappers.
Configurability: Fully integrated with ABSL flags for epsilon, batch size, learning rate, and clipping norm.
Verification: Confirmed model convergence (Loss decreased from ~2.68 to ~1.87 in 50 steps).
Quality Checks:
Pylint Score: 9.91/10
Flake8: Passed
Fixes #86