Skip to content

Improve noise multiplier finding #566

@kiddyboots216

Description

@kiddyboots216

🚀 Feature

Implement Brent's method to find the best value of sigma for a given epsilon.

Motivation

https://github.com/google/differential-privacy/blob/main/python/dp_accounting/mechanism_calibration.py uses a much better method to find the best value of sigma for a given epsilon. Opacus will frequently give you a much larger value of sigma than you need. For example for q=1, steps=60 it will give you 280 vs 240 for GDP. Similar for https://github.com/microsoft/prv_accountant/blob/main/prv_accountant/dpsgd.py

Pitch

Implement Brent's method or any other root-finding method to replace the current naive binary sesarch.

Alternatives

Considered doing this myself, tried for a while, and turns out I don't know how to write search algorithms. And it was quite slow.

Metadata

Metadata

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions