Skip to content

联邦学习——数据不动模型动的隐私保护分布式 ML 范式

原文提炼

联邦学习的核心定义:

"Federated learning is a machine learning setting where multiple clients collaboratively train a model under the orchestration of a central server, while keeping the training data decentralized."

传统 ML vs 联邦学习:

传统集中式 ML 联邦学习
数据位置 汇聚到中心服务器 数据留在客户端本地
计算 中心 GPU 集群 客户端本地训练,仅上传模型更新
通信 一次读取全部数据 多轮通信,每轮传输参数
隐私 中心掌握所有数据 原始数据从不离开客户端
数据分布 IID(独立同分布) 非 IID,每个客户端数据分布不同

FedAvg 算法——联邦学习的基石

核心思想:不在中心汇总数据,而在中心汇总模型参数。

每轮 t = 1, 2, ..., T:
  服务器广播当前模型 W_t 给选中的 K 个客户端

  For 每个客户端 k in 1..K (并行):
    W_{t+1}^k ← W_t - η ∇L_k(W_t)    ← 本地 SGD (E 个 epoch)
    上传 Δ_k = W_{t+1}^k - W_t 给服务器     ← 只上传梯度/参数差

  服务器聚合:
    W_{t+1} ← W_t + (1/K) Σ Δ_k          ← 联邦平均

联邦学习的三个核心挑战

挑战 问题 解决方案
非 IID 数据 客户端数据分布不同,本地更新方向分歧 FedProx(近端项约束)、SCAFFOLD(方差缩减)
通信效率 每轮上传完整模型参数代价大 梯度压缩、量化、稀疏化
隐私保障 模型更新本身可能泄露数据信息 差分隐私(DP)+ 安全聚合(SecAgg)

非 IID 问题的严重性: - 在 IID 设置下 FedAvg 收敛良好 - 在高度非 IID 数据下,FedAvg 的准确率可下降 高达 55%(相对集中式训练) - 根本原因:每个客户端的本地最优 ≠ 全局最优

与联邦因果推断的交叉

一个新兴但重要的方向——联邦因果推断: - 每个医院有各自的患者数据,不能共享(隐私法规) - 但可以联邦地估计 ATE——每家医院本地计算倾向评分和结果模型,中心服务器汇总参数 - 这使跨机构的因果推断在隐私保护下成为可能

三个实践启示

  1. "数据越多越好"在分布式环境中不再成立——数据在 1000 个客户端的价值 ≠ 汇聚到中心的 1000 份数据,因为无法联合清洗、可视化和探索性分析
  2. 联邦学习改变 A/B 测试的范围——可以联邦地跨客户端实验,但干扰问题更严重(客户端独立性假设)
  3. 非 IID 不是 bug 是 feature——客户端的数据分布差异本身携带信号(个性化模型),FedAvg 不是唯一目标

跨域链接