使用差分隐私训练PyTorch模型
项目描述
pytorch-dp:使用差分隐私训练PyTorch模型
pytorch-dp是一个库,它允许使用差分隐私训练PyTorch模型。它支持在客户端进行最小代码更改的情况下进行训练,对训练性能影响很小,并允许客户端实时跟踪在任何给定时刻消耗的隐私预算。
PyTorch Privacy目前是一个预览测试版,正在积极开发中!
目标受众
此代码发布针对两个目标受众
- 机器学习从业者将发现此代码是训练具有差分隐私的模型的温和入门,因为它需要最小代码更改。
- 差分隐私科学家会发现此代码易于实验和调整,使他们能够专注于重要的事情。
安装
pip
pip install pytorch-dp
从源代码
git clone https://github.com/facebookresearch/pytorch-dp.git
cd pytorch-dp
pip install -e .
入门
要使用差分隐私训练您的模型,您只需在运行之前声明一个PrivacyEngine并将其附加到优化器即可,例如
model = Net()
optimizer = SGD(model.parameters(), lr=0.05)
privacy_engine = PrivacyEngine(
model,
batch_size,
sample_size,
alphas=[1, 10, 100],
noise_multiplier=1.3,
max_grad_norm=1.0,
)
privacy_engine.attach(optimizer)
# Now it's business as usual
MNIST示例 包含一个完整的运行过程。
贡献
有关如何帮助的详细信息,请参阅 CONTRIBUTING 文件。
参考文献
- Mironov, Ilya. "Rényi differential privacy." 2017 IEEE 30th Computer Security Foundations Symposium (CSF). IEEE, 2017.
- Abadi, Martin, et al. "Deep learning with differential privacy." Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security. ACM, 2016.
- 米罗诺夫,伊利亚,库纳尔·塔瓦尔和张丽。《样本高斯机制的Rényi差分隐私》。arXiv预印本arXiv:1908.10530(2019)。
- 古德费洛,伊恩。《每个示例的梯度计算效率》。arXiv预印本arXiv:1510.01799(2015)。
- 麦克马汉,H.布伦丹和加伦·安德鲁。《向迭代训练过程添加差分隐私的通用方法》。arXiv预印本arXiv:1812.06210(2018)。
许可证
本代码根据Apache 2.0许可证发布,如LICENSE文件所示。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分布
pytorch-dp-0.1b1.tar.gz (37.0 kB 查看哈希值)
构建分布
pytorch_dp-0.1b1-py3-none-any.whl (50.5 kB 查看哈希值)
关闭
pytorch-dp-0.1b1.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 65452d4754f76652030f3f847e29af72d87435142ee6f628d75e53c728067371 |
|
MD5 | 0300f29ef73f26738d25b25557a3354f |
|
BLAKE2b-256 | 9b34b42c653095834d4bbd4f6ac97e87e96880b57ad4f91680339a83507b6afc |
关闭
pytorch_dp-0.1b1-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0a3ed95297efd8619078b02db19d5b2d5f5d6ed38051f4bf847ec2cce69f2af3 |
|
MD5 | 4105e7caf41fd1e392c8b774aedd66c3 |
|
BLAKE2b-256 | 2a30bf42b71ca0d592063c75637ace731ad309bfbfa38aee2967d5be70b599f2 |