Skip to content
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

FEAT: Expose SeededLaplaceMechanism for deterministic RNG #407

Open
mjbommar opened this issue Jan 30, 2022 · 4 comments
Open

FEAT: Expose SeededLaplaceMechanism for deterministic RNG #407

mjbommar opened this issue Jan 30, 2022 · 4 comments
Labels
Type: New Feature ➕ Introduction of a completely new addition to the codebase

Comments

@mjbommar
Copy link

Feature Description

For research and CI/CD testing purposes, full transparency or determinism w.r.t. random state is often desirable. differential-privacy makes a SeededLaplaceMechanism available for this purpose, but it looks like we only make LaplaceMechanism available in this library.

Is your feature request related to a problem?

Two issues:

  • Replication of academic research that relies on exact reproduction of sample data
  • CI/CD testing workflows where deterministic results for some test cases may be desirable

What alternatives have you considered?

Alternatives rely on asymptotic results and thresholds that may be arbitrary or result in false negative test results, especially on small sample sizes or for some metrics.

@mjbommar mjbommar added the Type: New Feature ➕ Introduction of a completely new addition to the codebase label Jan 30, 2022
@mjbommar
Copy link
Author

PS: this looks pretty trivial but happy to help implement too!

@mjbommar
Copy link
Author

mjbommar commented Feb 7, 2022

I thought I could PR this in 15 minutes but ran into an issue. I see that the SeededXYZ mechanisms are in numerical-mechanisms-testing.h, not numerical-mechanisms.h, which results in them being blocked from linking due to bazel's testonly behavior. I guess the options are to "re-implement" the seeded behavior or explore moving these Mechanisms in the differential-privacy repo itself.

Open to thoughts (or just closing as Won't Fix).

@chinmayshah99
Copy link
Member

@dvadym what do you think about this?

@dvadym
Copy link
Collaborator

dvadym commented Aug 9, 2022

I think this is a good feature to have, it can be definitely useful for some use cases.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: New Feature ➕ Introduction of a completely new addition to the codebase
Projects
None yet
Development

No branches or pull requests

3 participants