mcpField
D
designing-federated-learning-architecture

designing-federated-learning-architecture

github.com/mukul975数据与数据库32339 次安装32 周前更新
代码仓库

关于 designing-federated-learning-architecture

用于规划联邦学习系统的 Skill,面向需要跨组织协作训练、同时让原始数据留在本地的团队。内容涵盖架构选择、聚合、隐私、通信效率与部署流程。

主要功能

  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. 同态加密——参与方加密更新;服务器聚合密文。
联邦学习中的差分隐私

在共享前向模型更新中添加经过校准的噪声,可提供形式化的隐私保证:

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 联邦学习部署的隐私预算:

参数值说明
裁剪范数(C)1.0DP-SGD 中梯度裁剪的标准值
噪声乘数(σ)1.1在 500 轮训练中,每次训练运行可提供(ε=3,δ=1e-5)的隐私保证
目标 epsilon(ε)3.0适用于非特殊类别数据的中等隐私保护
目标 delta(δ)1e-5对于 n ≈ 316,000 条总记录的标准值
组合方法Rényi DP比基本组合具有更紧的组合界

通信效率

技术压缩比对准确率的影响说明
梯度量化8-32x极小将梯度精度从 32 位降至 8 位或更低
Top-k 稀疏化10-100x中等仅传输 k 个最大的梯度分量
联邦 dropout2-10x极小每个参与方训练一个随机子模型
梯度压缩(SignSGD)32x中等仅传输每个梯度分量的符号
模型蒸馏可变中等参与方共享软预测结果,而非梯度

实施工作流

  1. 定义 ML 任务——指定模型架构、训练目标和评估指标。

  2. 评估数据分布——评估参与方之间非 IID 的程度。这决定了聚合策略(IID 使用 FedAvg,非 IID 使用 FedProx)。

  3. 选择隐私机制——选择安全聚合来保护梯度机密性,并选择差分隐私来提供形式化保证。设置 epsilon 预算。

  4. 配置通信——根据带宽限制选择梯度压缩技术。设置通信轮次预算。

  5. 实现本地训练——在每个参与方部署本地训练流水线。为 DP 实现梯度裁剪和噪声注入。

  6. 部署聚合服务器——部署采用安全聚合协议的中央聚合器。如果存在不可信参与方,则实现拜占庭鲁棒聚合。

  7. 监控和评估——跟踪模型收敛情况、各参与方贡献质量、隐私预算消耗和通信开销。

主要法规参考

  • GDPR 第 5(1)(c) 条——数据最小化(仅共享模型更新)
  • GDPR 第 25(1) 条——通过设计实现数据保护
  • GDPR 第 26 条——联合控制者安排(联邦学习联盟治理)
  • GDPR 第 V 章——跨境传输(联邦学习可减少传输需求)
  • GDPR 第 35 条——涉及特殊类别数据的联邦学习需进行 DPIA
  • EDPB《第 4/2019 号指南:依据第 25 条通过设计和默认设置实现数据保护》

评论

支持 Markdown