DP-SGD(差分プライバシー確率的勾配降下法)(ディーピーエスジーディーサショクプライバシーカクリツテキコウバイコウカホウ)
各学習ステップでの勾配にノイズを加えてクリッピングすることで、学習データの個人情報漏洩を数学的に保証する確率的勾配降下法の差分プライバシー版。LLMのプライバシー保護学習の基礎技術。
DP-SGD(Differentially Private Stochastic Gradient Descent)は、機械学習モデルが訓練データを「記憶」し後から推論攻撃(Membership Inference Attack)で漏洩するリスクを数学的に抑制する技術。LLMが医療・法務・金融データで学習する際の必須コンポーネントになりつつある。
差分プライバシーの数学的保証
ε-差分プライバシー(ε-DP)は「1件のデータの有無でモデルの出力分布が変わらない」ことを保証する。
- ε(プライバシー予算): 小さいほど保護が強い(ε=1:強い / ε=8:実用的 / ε=∞:保護なし)
- δ(失敗確率): 通常1e-5〜1e-6に設定
- 保証: 1人のデータを追加/削除してもモデルの出力確率比がe^εを超えない
DP-SGDのアルゴリズム
各学習ステップで以下を実行する:
1. ミニバッチ B からサンプリング(Poisson Subsampling)
2. 各サンプル i の勾配 g_i を計算
3. クリッピング: g_i ← g_i / max(1, ||g_i||_2 / C) (Cはクリップ閾値)
4. ノイズ加算: G ← Σg_i + N(0, σ²C²I) (σはノイズ倍率)
5. 通常のSGD更新: θ ← θ - η·G/|B|
プライバシー消費量はMoments Accountant(Abadi 2016)またはRényi DP(Mironov 2017)で追跡する。
LLM適用時のパラメータ選択
| パラメータ | 典型値 | 影響 |
|---|---|---|
| ε(プライバシー予算) | 4〜10 | 大きいほど精度高いが保護弱い |
| δ | 1e-5 | データ件数の逆数未満に設定 |
| max_grad_norm (C) | 1.0〜0.5 | クリップ閾値、小さいとノイズ比率増加 |
| noise_multiplier (σ) | 0.5〜1.5 | 大きいほど保護強いが精度劣化 |
| バッチサイズ | 64〜512 | 大きいほどDP効率が良い(Amplification) |
主要ライブラリ
| ライブラリ | 開発元 | フレームワーク | LLM対応 |
|---|---|---|---|
| Opacus 1.5 | Meta AI | PyTorch | BERT/GPT系対応 |
| tensorflow/privacy | TensorFlow | T5対応 | |
| DP-Transformers | Microsoft | PyTorch+HF | HF Transformers完全対応 |
| AutoDP | OpenDP | PyTorch | ε追跡特化 |
DP-Transformers(Microsoft 2023)はHugging Face Trainerに直接DP-SGDを組み込む最も手軽な実装:
from dp_transformers import TrainingArguments
training_args = TrainingArguments(
output_dir="./dp-finetuned",
per_sample_max_grad_norm=1.0,
target_epsilon=8.0,
target_delta=1e-5,
num_train_epochs=3,
)
プライバシー・ユーティリティトレードオフ
DP-SGDの最大の課題は精度劣化。LLMでの実測値(GPT-2 Small, WikiText-103):
| ε | Perplexity増加率 | 実用性 |
|---|---|---|
| 1 | +45% | 研究目的のみ |
| 4 | +18% | 医療等規制ドメイン |
| 8 | +8% | 金融・法務で許容範囲 |
| ∞ (No DP) | 0% | 基準値 |
2025年の研究動向
- DP-LoRA: LoRAアダプタにのみDP-SGDを適用しフルモデルより効率化
- Tempered Posterior Sampling: 勾配ノイズをベイズ的に解釈し精度劣化を抑制
- DP-Clipping Alternatives: クリッピングなしDPでバイアス低減
- GhostClipping: パー・サンプル勾配をメモリ効率よく計算し速度オーバーヘッド1.5倍以内
よくある質問(FAQ)
Q1: DP-SGDとフェデレーテッド学習は別の技術か? A: 別の技術だが相補的。フェデレーテッド学習はデータを移動させず分散学習するパラダイム、DP-SGDはその学習過程でのプライバシー漏洩を数学的に制限するメカニズム。多くの実用システムが両者を組み合わせる。
Q2: ε=8は十分に安全か? A: GDPR準拠に必要なε値の公式規定はないが、学術界ではε≤10が実用的なプライバシー保護として広く受け入れられている。医療系ではε≤4が推奨される傾向がある。
Q3: DP-SGDは学習時間をどれだけ増やすか? A: Opacusのパー・サンプル勾配計算はバッチ勾配計算より2〜4倍遅い。GhostClipping技術(2022)でメモリ効率を改善し、速度オーバーヘッドを1.2〜1.5倍まで削減できる。
まとめ
- DP-SGD = 勾配クリッピング + ガウスノイズ でε-DPを保証
- ε=4〜8が医療・金融での実用範囲
- DP-Transformers(Microsoft)がHFとの統合で最も使いやすい
- DP-LoRAでLoRAアダプタのみに適用しコスト削減が2025年の主流