-
Notifications
You must be signed in to change notification settings - Fork 941
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Central DP (server-side fixed clipping) #2798
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @mohammadnaseri , just some initial comments below. My main concern is that because we need to apply multiple changes to the input parameters, they get copied several times. This might not be a problem with models but it will certainly be when having larger models or many clients. A few functions in common
can be rewritten to prevent doing a copy. However, for aggregate_fit()
it might not be so easy, but maybe with some reorganisation it can be done with just a single full copy of the parameters.
src/py/flwr/server/strategy/dp_strategy_wrapper_fixed_clipping.py
Outdated
Show resolved
Hide resolved
src/py/flwr/server/strategy/dp_strategy_wrapper_fixed_clipping.py
Outdated
Show resolved
Hide resolved
src/py/flwr/server/strategy/dp_strategy_wrapper_fixed_clipping.py
Outdated
Show resolved
Hide resolved
src/py/flwr/server/strategy/dp_strategy_wrapper_fixed_clipping.py
Outdated
Show resolved
Hide resolved
src/py/flwr/server/strategy/dp_strategy_wrapper_fixed_clipping.py
Outdated
Show resolved
Hide resolved
src/py/flwr/server/strategy/dp_strategy_wrapper_fixed_clipping.py
Outdated
Show resolved
Hide resolved
src/py/flwr/server/strategy/dp_strategy_wrapper_fixed_clipping.py
Outdated
Show resolved
Hide resolved
Co-authored-by: Daniel J. Beutel <[email protected]>
Co-authored-by: Daniel J. Beutel <[email protected]>
src/py/flwr/server/strategy/dp_strategy_wrapper_fixed_clipping.py
Outdated
Show resolved
Hide resolved
src/py/flwr/server/strategy/dp_strategy_wrapper_fixed_clipping.py
Outdated
Show resolved
Hide resolved
…ate_docformatter * 'update_docformatter' of github.com:adap/flower: Fix small typos (#2986) Update models.py (#2985) Move `*Record` and `RecordSet` to `record` package (#2984) Improve `*Record` (#2982) Introduce central DP (server-side fixed clipping) (#2798) Apply suggestions from code review pin virtualenv version to 20.21.0 in baselines (#2981) Add `flwr` CLI (#2942)
Issue
Description
Central DP, also known as user-level DP, enables differential privacy strategies in Flower with server-side fixed clipping.
Related issues/PRs
Proposal
Explanation
A new class,
DifferentialPrivacyServerSideFixedClipping
, has been added. It can be wrapped around a strategy class to enable central DP with fixed clipping. The clipping phase of clients' model updates is performed at the server side.Checklist
#contributions
)Changelog entry
Any other comments?