mcpField
D
designing-federated-learning-architecture

designing-federated-learning-architecture

github.com/mukul975データ・データベース32339 回インストール32 週間前に更新
リポジトリ

designing-federated-learning-architecture について

生データを各組織内に保ちながらモデルを共同学習する、連合学習システムの設計スキルです。アーキテクチャ、集約、プライバシー、通信効率、導入手順を扱います。

主な機能

  1. 01水平・垂直連合学習の構成
  2. 02FedAvg と FedProx の選択指針
  3. 03安全な集約と差分プライバシー
  4. 04勾配・モデルの通信手法
  5. 05実装から監視までの手順

活用シーン

  1. 01病院間の共同モデル学習を計画
  2. 02非 IID の参加者データに手法を選択
  3. 03プライバシーと通信のパラメーター設定
  4. 04連合学習の導入・監視計画を作成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/mukul975/privacy-data-protection-skills --skill designing-federated-learning-architecture

インストール後、Claude Code で/designing-federated-learning-architectureを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

assets/
template.md
references/
standards.md
workflows.md
scripts/
process.py

詳細

フェデレーテッドラーニングアーキテクチャの設計

概要

フェデレーテッドラーニング(FL)を利用すると、複数の当事者が生データを共有せずに機械学習モデルを共同でトレーニングできます。各参加者は自分のデータでローカルモデルをトレーニングし、モデルの更新(勾配またはパラメーター)のみを中央のアグリゲーターと共有します。集約されたモデルは、単一の当事者が他の当事者のデータセットにアクセスすることなく、すべての参加者のデータを活用できます。

FL は、GDPR 第 5 条 1 項(c)のデータ最小化(個人データではなく、モデルの更新のみを共有)、第 25 条 1 項のデータ保護バイデザイン(プライバシーをアーキテクチャに組み込む)を直接サポートし、第 V 章に基づく越境データ移転の必要性を減らすことができます(データは元の管轄区域内に留まります)。

FL アーキテクチャ

水平型フェデレーテッドラーニング

参加者は同じ特徴空間を共有しますが、異なるデータサンプルを保有します。各参加者は対象者の完全な記録を持ちますが、対象者は異なります。

┌──────────────────────────────────────────────────────────────┐
│                    Central Aggregator                          │
│               (aggregates model updates only)                 │
│                                                                │
│  Global Model = Aggregate(Local_1, Local_2, ..., Local_K)    │
└─────────────┬──────────────┬──────────────┬──────────────────┘
              │              │              │
    ┌─────────▼────┐ ┌──────▼──────┐ ┌────▼──────────┐
    │ Hospital A   │ │ Hospital B  │ │ Hospital C    │
    │ 5,000 pts    │ │ 8,000 pts   │ │ 3,000 pts     │
    │ Same features│ │ Same features│ │ Same features │
    │ Train locally│ │ Train locally│ │ Train locally │
    └──────────────┘ └─────────────┘ └───────────────┘

ユースケース: 複数の病院が診断モデルをトレーニングするケース。各病院は完全な患者記録を持ちますが、患者は異なります。

垂直型フェデレーテッドラーニング

参加者は同じデータ対象を共有しますが、異なる特徴を保有します。特徴は参加者間に分散しています。

┌──────────────────────────────────────────────────────────────┐
│                    Coordination Server                         │
│         (aligns features without exposing raw data)           │
└─────────────┬──────────────┬──────────────┬──────────────────┘
              │              │              │
    ┌─────────▼────┐ ┌──────▼──────┐ ┌────▼──────────┐
    │ Bank         │ │ Insurer     │ │ Retailer      │
    │ Financial    │ │ Claims      │ │ Purchase      │
    │ features     │ │ features    │ │ features      │
    │ Same users   │ │ Same users  │ │ Same users    │
    └──────────────┘ └─────────────┘ └───────────────┘

ユースケース: 銀行が金融データを、保険会社が保険金請求履歴を、小売業者が購買行動データを保有し、それらが重複する顧客に関する信用スコアリング。

集約戦略

FedAvg(フェデレーテッドアベレージング)

FL の基本アルゴリズムです(McMahan ほか、2017 年)。各参加者が複数のローカルエポックでトレーニングした後、アグリゲーターは各参加者のデータセットサイズに比例させてモデルの重みを平均します。

For each communication round t:
  1. Server sends global model w_t to selected participants
  2. Each participant k trains locally for E epochs on their data:
     w_k = LocalSGD(w_t, data_k, E epochs, learning_rate η)
  3. Server aggregates:
     w_{t+1} = Σ (n_k / n) * w_k
     where n_k = participant k's sample count, n = total samples
パラメーター推奨範囲影響
ローカルエポック数(E)1-5エポック数が多いほど通信量は減りますが、乖離のリスクが高まります
参加率ラウンドごとに 10-100%高いほど収束性が向上しますが、通信量が増えます
学習率(η)0.01-0.1標準的な SGD の調整方法を適用できます
通信ラウンド数50-500データの異質性とモデルの複雑さによって異なります
FedProx(フェデレーテッドプロキシマル)

異質な環境向けの FedAvg の拡張です。ローカルの目的関数に近接項を追加し、ローカルモデルがグローバルモデルからどれだけ離れるかを制限します。非 IID(独立同分布ではない)データを持つ参加者に適しています。

Local objective for participant k:
  minimize F_k(w) + (μ/2) * ||w - w_t||^2

  where μ controls the strength of the proximal regularization
シナリオFedAvg の性能FedProx の性能推奨
参加者間で IID データ良好良好FedAvg(よりシンプル)
軽度の非 IID(ラベルの偏り)普通良好FedProx(μ=0.01)
重度の非 IID(特徴のシフト)低い普通FedProx(μ=0.1)+参加率を高める
計算能力が異なる参加者不安定安定FedProx(部分的な作業に対応)

プライバシー保証

脅威モデル
脅威説明緩和策
勾配反転攻撃者が共有された勾配からトレーニングデータを復元するセキュアアグリゲーション+差分プライバシー
メンバーシップ推論攻撃者が特定のレコードがトレーニングデータに含まれていたかを判定する差分プライバシー
モデル反転攻撃者がトレーニング済みモデルから機微な特徴を復元する差分プライバシー+モデルのアクセス制御
フリーライダー攻撃参加者が正当な更新ではなくノイズを提供する貢献度の検証(FoolsGold、RFFL)
ポイズニング攻撃悪意のある参加者がグローバルモデルを改ざんするビザンチン耐性のある集約(Krum、トリム平均)
セキュアアグリゲーション

セキュアアグリゲーションにより、サーバーには参加者全員の更新の合計だけが見え、個々の更新は見えません。次の方法で実装します。

  1. ペアワイズマスキング(Bonawitz ら、2017 年)— 参加者の各ペアが共有のランダムマスクを生成します。マスクは合計時に相殺されますが、個々の更新は隠されたままです。
  2. しきい値秘密分散 — 各参加者が自身の更新を秘密分散し、サーバーは集約値のみを復元します。
  3. 準同型暗号 — 参加者が更新を暗号化し、サーバーが暗号文を集約します。
FL における差分プライバシー

共有前にモデル更新へ調整済みのノイズを加えることで、形式的なプライバシー保証を提供します。

DP-FedAvg:
  1. Each participant clips gradients: ||g_k|| ≤ C (sensitivity bounding)
  2. Each participant adds Gaussian noise: g_k' = g_k + N(0, σ²·C²·I)
  3. Server aggregates noised updates: g_agg = (1/K) Σ g_k'
  4. Privacy accounting: track cumulative (ε, δ) via Rényi DP composition

Prism Data Systems AG の FL 導入におけるプライバシー予算:

パラメーター値根拠
クリッピングノルム(C)1.0DP-SGD における勾配クリッピングの標準値
ノイズ倍率(σ)1.1500 ラウンドのトレーニング実行あたり(ε=3、δ=1e-5)を提供
目標イプシロン(ε)3.0特別カテゴリーに該当しないデータに対する中程度のプライバシー
目標デルタ(δ)1e-5合計レコード数 n ≈ 316,000 に対する標準値
合成方法Rényi DP基本的な合成よりも厳密な合成境界

通信効率

手法圧縮率精度への影響説明
勾配量子化8-32x最小限勾配の精度を 32 ビットから 8 ビット以下に下げます
Top-k スパース化10-100x中程度勾配成分のうち、値の大きい k 個だけを送信します
フェデレーテッドドロップアウト2-10x最小限各参加者がランダムなサブモデルをトレーニングします
勾配圧縮(SignSGD)32x中程度各勾配成分の符号のみを送信します
モデル蒸留可変中程度参加者は勾配の代わりにソフト予測を共有します

実装ワークフロー

  1. ML タスクを定義する — モデルアーキテクチャ、トレーニング目標、評価指標を指定します。

  2. データ分布を評価する — 参加者間の非 IID の度合いを評価します。これにより集約戦略が決まります(IID には FedAvg、非 IID には FedProx)。

  3. プライバシー保護の仕組みを選択する — 勾配の機密性にはセキュアアグリゲーションを、形式的な保証には差分プライバシーを選択します。イプシロンの予算を設定します。

  4. 通信を構成する — 帯域幅の制約に基づいて勾配圧縮手法を選択します。通信ラウンドの予算を設定します。

  5. ローカルトレーニングを実装する — 各参加者にローカルトレーニングパイプラインをデプロイします。DP 用の勾配クリッピングとノイズ注入を実装します。

  6. 集約サーバーをデプロイする — セキュアアグリゲーションプロトコルを備えた中央アグリゲーターをデプロイします。信頼できない参加者がいる場合は、ビザンチン耐性のある集約を実装します。

  7. 監視と評価を行う — モデルの収束、参加者ごとの貢献品質、プライバシー予算の消費量、通信オーバーヘッドを追跡します。

主な規制関連資料

  • GDPR 第 5 条(1)(c)— データ最小化(共有するのはモデル更新のみ)
  • GDPR 第 25 条(1)— 設計によるデータ保護
  • GDPR 第 26 条 — 共同管理者の取り決め(FL コンソーシアムのガバナンス)
  • GDPR 第 V 章 — 国境を越える移転(FL により移転の必要性を低減)
  • GDPR 第 35 条 — 特別カテゴリーのデータを扱う FL に関する DPIA
  • EDPB ガイドライン 4/2019「第 25 条に基づく設計時およびデフォルトでのデータ保護」

コメント