meta-pytorch/opacus
Training PyTorch models with differential privacy
What it solves
Opacus は、開発者が差分プライバシーを用いて PyTorch モデルを訓練することを可能にし、訓練プロセスが訓練セット内の個々のデータポイントに関する機密情報を漏洩させないようにします。
How it works
既存の PyTorch モデル、オプティマイザ、データローダーをラップする PrivacyEngine を提供します。make_private() メソッドを使用することで、このライブラリは差分プライバシー確率的勾配降下法 (DP-SGD) を実装し、ユーザーが訓練中に消費されるプライバシー予算をリアルタイムで追跡することを可能にします。
Who it’s for
- ML practitioners が、最小限のコード変更でモデルに差分プライバシーを統合したいと考えている場合。
- Differential Privacy researchers が、実験やプライバシー保護 ML アルゴリズムの調整を行いたい場合に、柔軟なツールとして機能します。
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.
- Privacy efficiency: Supports Fast Gradient Clipping and Ghost Clipping を用いて DP-SGD のメモリ overhead を メモリ効率を向上させます。
- Broad compatibility: Works with various architectures, including LSTMs and BERT (via LoRA and peft).