-
Notifications
You must be signed in to change notification settings - Fork 15
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
Add in-cluster test with DP #3314
Conversation
366b02d
to
5244cb0
Compare
5244cb0
to
b3da366
Compare
b3da366
to
cbc912c
Compare
// Smoke test: Just confirm that some noise was added. Since epsilon is small, the noise will be | ||
// large (drawn from Laplace_Z(20) + Laplace_Z(20)), and it is highly unlikely that all 100 | ||
// noise values will be zero simultaneously. | ||
assert_ne!(aggregate_result, un_noised_result); |
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.
Are there any useful bounds on the amount of noise added such that we could check that the actual result is close enough to the non-noised result to be plausibly the result of aggregation + DP noise? "Useful" in this case meaning the condition is unlikely to be satisfied if DP noise is not being added correctly.
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.
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.
I could check that each coordinate is not in the middle of the field's range (p*1/4 to p*3/4). That'll be more than far enough out that false positives won't be a problem, while still catching errors in secret sharing/unsharding with a probability of 1/2 on each coordinate.
f095581
to
31cbe96
Compare
This is now passing against staging. https://github.com/divviup/janus-ops/actions/runs/10097504244/job/27922510921 |
This adds an in-cluster integration test exercising aggregator-based differential privacy noise.
This shouldn't be merged until #3302 and divviup/divviup-api#1173 have been deployed.