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

[New accountant] Numerical composition #378

Open
ffuuugor opened this issue Mar 11, 2022 · 0 comments
Open

[New accountant] Numerical composition #378

ffuuugor opened this issue Mar 11, 2022 · 0 comments
Labels
enhancement New feature or request

Comments

@ffuuugor
Copy link
Contributor

https://arxiv.org/abs/2106.02848

@ffuuugor ffuuugor added the enhancement New feature or request label Mar 11, 2022
@tcbegley tcbegley mentioned this issue Sep 1, 2022
7 tasks
@romovpa romovpa linked a pull request Sep 13, 2022 that will close this issue
7 tasks
facebook-github-bot pushed a commit that referenced this issue Nov 8, 2022
Summary:
This PR implements a new accountant `PRVAccountant` based on the paper [Numerical Composition of Differential Privacy](https://arxiv.org/abs/2106.02848).

Code inspired heavily by the code that accompanied the paper: https://github.com/microsoft/prv_accountant

## Types of changes

- [ ] Bug fix (non-breaking change which fixes an issue)
- [x] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to change)
- [ ] Docs change / refactoring / dependency upgrade

## Motivation and Context / Related issue

See #378

## How Has This Been Tested (if it applies)

I have tested these changes with the following scripts, but would welcome suggestions on how to test further or write unit tests to cover these changes:

- [validate_gaussian.py](https://gist.github.com/tcbegley/13483859eb07488d711368c982af5ded) recreates [this notebook](https://github.com/microsoft/prv_accountant/blob/main/notebooks/validate-gaussian.ipynb), which checks that we can recover upper and lower bounds on the privacy curve of a Gaussian mechanism correctly.
- [prv_accountant_cifar10.py](https://gist.github.com/tcbegley/91afccc8f702a61617f7ec6da250effe) runs [this tutorial from the Opacus docs](https://opacus.ai/tutorials/building_image_classifier) with the `PRVAccountant` instead of `RDPAccountant`.

## Checklist

I have not yet written docstrings or tests for these changes both as it was slightly unclear to me how best to proceed, but also because I would like to validate the approach taken in this initial implementation before polishing.

- [x] The documentation is up-to-date with the changes I made.
- [x] I have read the **CONTRIBUTING** document and completed the CLA (see **CONTRIBUTING**).
- [x] All tests passed, and additional code has been covered with new tests.

Pull Request resolved: #493

Reviewed By: ffuuugor

Differential Revision: D39208724

Pulled By: alexandresablayrolles

fbshipit-source-id: c8949c2a61a0a6ed24628a5f53e597f2108a5b91
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant