meta-pytorch/opacus
Training PyTorch models with differential privacy
What it solves
Opacus 允許開發者使用差分隱私訓練 PyTorch 模型,確保訓練過程不會洩漏訓練集中個別數據點的敏感資訊。
How it works
它提供了一個 PrivacyEngine,可以封裝現有的 PyTorch 模型、優化器和數據加載器。透過使用 make_private() 方法,該函式庫實現了差分隱私隨機梯度下降 (DP-SGD),並允許使用者即時追蹤訓練期間所消耗的隱私預算。
Who it’s for
- ML practitioners 想要一種簡單的方式,以最少的代碼更改來將差分隱私整合到他們的模型中。
- Differential Privacy researchers 需要一個靈活的工具,用於實驗和調整隱私保護機器學習演算法。
Highlights
- Minimal integration effort: Requires very few changes to existing PyTorch training loops.
- Privacy budget tracking: Enables online tracking of the privacy loss during training.
- Memory efficiency: Supports Fast Gradient Clipping and Ghost Clipping to reduce the memory overhead of DP-SGD.
- Broad compatibility: Works with various architectures, including LSTMs and BERT (via LoRA and peft).