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 不是唯一目标

跨域链接