Opacus:一个能够以不同隐私培训PyTorch模型的库

2020-09-01 20:47:01

Opacus是一个能够以不同隐私培训PyTorch模型的库。它支持培训,只需对客户端进行最少的代码更改,对培训性能几乎没有影响,并且允许客户端在线跟踪在任何给定时刻花费的隐私预算。

ML实践者会发现这是训练具有不同隐私的模型的一个温和入门,因为它只需要最少的代码更改。

差异隐私的科学家会发现这很容易实验和修补,让他们可以专注于重要的事情。

您还可以直接从源代码安装最新的功能(以及它的怪癖和潜在的偶发错误):

要训练具有不同私密性的模型,您需要做的就是在运行之前声明一个PrivacyEngine并将其附加到优化器,例如:

Model=net()优化器=sgd(model.。PARAMETERS(),LR=0.05)PRIVATIVE_ENGINE=PrivacyEngine(model,Batch_Size,Sample_Size,Alphas=[1,10,100],Noise_Multiplier=1.3,max_grad_Norm=1.0,)Privacy_Engine。附加(优化器)#现在一切如常。

MNIST示例显示了使用opacus的端到端运行。Examples文件夹包含更多这样的示例。

请查看常见问题页面,了解有关差异隐私和Opacus的一些最常见问题的答案。