关于 designing-federated-learning-architecture
用于规划联邦学习系统的 Skill,面向需要跨组织协作训练、同时让原始数据留在本地的团队。内容涵盖架构选择、聚合、隐私、通信效率与部署流程。
主要功能
- 01横向与纵向联邦学习架构
- 02FedAvg 与 FedProx 选择指导
- 03安全聚合与差分隐私
- 04梯度和模型通信技术
- 05端到端实施流程
适用场景
- 01规划医院间联合模型训练
- 02为非 IID 参与方数据选择方法
- 03设置隐私与通信参数
- 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.mdreferences/standards.mdworkflows.mdscripts/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、截尾均值) |
安全聚合
安全聚合可确保服务器只能看到所有参与方更新的总和,而无法看到各自的更新。实现方式包括:
- 成对掩码(Bonawitz 等,2017 年)——每对参与方生成一个共享随机掩码。掩码在求和时会相互抵消,但各自的更新仍然保密。
- 门限秘密共享——每个参与方对自己的更新进行秘密共享;服务器仅重构聚合结果。
- 同态加密——参与方加密更新;服务器聚合密文。
联邦学习中的差分隐私
在共享前向模型更新中添加经过校准的噪声,可提供形式化的隐私保证:
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.0 | DP-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 个最大的梯度分量 |
| 联邦 dropout | 2-10x | 极小 | 每个参与方训练一个随机子模型 |
| 梯度压缩(SignSGD) | 32x | 中等 | 仅传输每个梯度分量的符号 |
| 模型蒸馏 | 可变 | 中等 | 参与方共享软预测结果,而非梯度 |
实施工作流
-
定义 ML 任务——指定模型架构、训练目标和评估指标。
-
评估数据分布——评估参与方之间非 IID 的程度。这决定了聚合策略(IID 使用 FedAvg,非 IID 使用 FedProx)。
-
选择隐私机制——选择安全聚合来保护梯度机密性,并选择差分隐私来提供形式化保证。设置 epsilon 预算。
-
配置通信——根据带宽限制选择梯度压缩技术。设置通信轮次预算。
-
实现本地训练——在每个参与方部署本地训练流水线。为 DP 实现梯度裁剪和噪声注入。
-
部署聚合服务器——部署采用安全聚合协议的中央聚合器。如果存在不可信参与方,则实现拜占庭鲁棒聚合。
-
监控和评估——跟踪模型收敛情况、各参与方贡献质量、隐私预算消耗和通信开销。
主要法规参考
- GDPR 第 5(1)(c) 条——数据最小化(仅共享模型更新)
- GDPR 第 25(1) 条——通过设计实现数据保护
- GDPR 第 26 条——联合控制者安排(联邦学习联盟治理)
- GDPR 第 V 章——跨境传输(联邦学习可减少传输需求)
- GDPR 第 35 条——涉及特殊类别数据的联邦学习需进行 DPIA
- EDPB《第 4/2019 号指南:依据第 25 条通过设计和默认设置实现数据保护》