跳转到内容

Kairouz 2019 — 联邦学习 58 个开放问题路线图

待复核

想象你是一家连锁奶茶店的总部。你想知道”全国用户最爱什么口味”,但 1000 家加盟店各有各的顾客记录,出于合同和法律限制,没有一家愿意把顾客购买清单交给你。联邦学习就是让每家店在本地统计答案,只把”汇总数字”寄回总部的技术框架。Kairouz 2019 这篇论文做的事情是:把这个框架里所有还没解决的难题——一共 58 个——整理成一张全景路线图,告诉研究者”哪些路可以走、哪些坑还没填”。

技术定义:这是一篇由 Google、CMU、Stanford 等 50+ 作者联合撰写的 200+ 页综述论文(Foundations and Trends in Machine Learning, 2021 正式出版,2019 首次 arXiv 发布)。论文系统梳理了联邦学习在非 IID 数据、优化算法、通信效率、差分隐私、安全聚合、鲁棒性、公平性、个性化、系统工程等方面的研究进展和未解难题。它不是提出新算法,而是为整个领域画一张”哪里还是空白”的地图

不理解这篇综述覆盖的问题空间,下面这些事都没法解释:

  • 为什么读联邦学习论文总看到”non-IID”——因为真实世界每个用户的数据分布天差地别,本文系统讨论了数据异构,笔记将其归纳为 5 类常见形态
  • 为什么 mcmahan-fedavg-2017 之后还有几百篇优化论文——因为 FedAvg 在异构数据上收敛性没有理论保证,这篇综述把”收敛性分析”列为开放问题
  • 为什么联邦学习不只是”加个差分隐私就安全了”——论文指出隐私攻击有模型反演、成员推断、梯度泄漏等多种,防御需要 abadi-dpsgd-2016 + 安全聚合 + 可信执行环境协同
  • 为什么工业界总说”联邦学习落地难”——论文专门列出系统层面的挑战:设备异构、掉线、通信压缩、调度策略等
  • 为什么之后出现了 FedProx、SCAFFOLD、FedBN 等一堆变体——它们各自攻克综述里标注的某一个开放问题

读这篇综述需要先理解两个概念:

  • FedAvg 算法mcmahan-fedavg-2017 提出的联邦学习基础算法——服务器广播模型,客户端本地训练多步后上传,服务器加权平均。本综述的所有讨论都以 FedAvg 为出发点。
  • 差分隐私abadi-dpsgd-2016 中的核心概念——数据集加减一个人时,算法输出分布变化不超过 e^epsilon 倍。综述的隐私相关章节大量使用 epsilon/delta 记号。
  • non-IID 数据:not independent and identically distributed,即各客户端数据不满足「独立同分布」假设(既可能不独立,也可能不同分布,或两者皆有)。这是联邦学习与传统分布式训练最根本的区别。

论文的 58 个开放问题可以粗分为 6 大领域

领域 1:优化与收敛。FedAvg 本质是”本地多步 SGD + 周期性平均”。当每个客户端数据分布不一样(non-IID),本地训练方向会互相打架,全局模型可能不收敛或收敛到差的点。论文问:能否设计出对 non-IID 有理论保证的联邦优化算法?之后的 FedProx(加近端项)和 SCAFFOLD(校正本地梯度)正是回答这个问题。

领域 2:隐私与安全。只传梯度不等于安全——abadi-dpsgd-2016 的 DP-SGD 能加噪保护,erlingsson-rappor-2014 的 RAPPOR 能做本地差分隐私,但论文指出还有组合隐私预算爆炸、安全聚合计算开销、联邦场景下的 duchi-local-dp-2013 与中心化 DP 的隔阂等问题未解。

领域 3:通信效率。手机网络慢且不稳定。论文讨论了梯度压缩(量化、稀疏化、top-k)、模型蒸馏、异步通信等方向,每种方案都有精度-带宽的 trade-off。

领域 4:鲁棒性与公平性。如果 1000 个客户端里有 10 个是恶意的(投毒攻击),全局模型会被带偏。论文分类了数据投毒和模型投毒两种攻击模式,指出 Byzantine 容错聚合是可能的防御方向。公平性则关注:全局模型会不会”偏袒”数据量大的客户端,让小客户端的性能更差?

领域 5:个性化。全局模型对每个人都”差不多好但不够好”。论文梳理了本地微调、混合模型、聚类联邦、meta-learning 等个性化路线,承认”一个模型服务所有人”可能根本不是正确目标。

领域 6:系统与工程。现实中设备会掉线、电量低时不参与、不同设备计算能力差 100 倍。论文把这些系统约束正式纳入研究议程,催生了后来 TFF、FATE、PySyft 等联邦学习框架的设计。

综述以 mcmahan-fedavg-2017 为出发点。下面伪代码对应「服务器广播 → 客户端本地多步 → 加权聚合」:

# 服务器持有全局模型 w
clients = sample_available_devices(K) # 只挑在线/充电的设备
for each client k in clients: # 可并行
w_k = copy(w)
for t in 1..E: # 本地 E 步 SGD
w_k = w_k - η * grad(loss_k, w_k)
Δ_k = w_k - w # 只上传更新(可再加密)
w = w + sum_k (n_k / n) * Δ_k # 按本地样本数加权

逐部分解释E>1 是通信换计算的关键;n_k/n 是加权平均;non-IID 时各 grad(loss_k) 方向可能互相打架——这正是综述把收敛性列为开放问题的原因。

案例 2:Google Gboard(cross-device FL)

Section titled “案例 2:Google Gboard(cross-device FL)”

Google 在 Gboard 里用联邦学习改善下一个词预测:服务器选中一批当前在 Wi-Fi、充电、空闲的手机 → 下发全局模型 → 手机用最近输入历史跑几轮本地 SGD → 上传经安全聚合的模型差值 → 服务器更新全局模型。用户原始输入从未离开手机。这是论文开篇典型的 cross-device 场景——设备多、单机数据少、随时掉线。

案例 3:医院联合建模(cross-silo FL)

Section titled “案例 3:医院联合建模(cross-silo FL)”

多家医院各有几千份 CT,想训肺炎诊断模型但不能出院。每家本地训练,只汇总梯度/更新。论文称 cross-silo:参与方少但稳定、算力足,却常有更强 non-IID(患者群体不同)与合规约束。与 cross-device 的算法/容错假设往往不能直接互换。

案例 4:non-IID 的五种常见形态(教学归纳)

Section titled “案例 4:non-IID 的五种常见形态(教学归纳)”

综述强调数据异构;下面五类是便于对照后续算法的常用整理(非论文唯一官方编号):

  • 特征分布偏移(covariate shift):同标签、不同特征分布(如不同 CT 机成像风格)
  • 标签分布偏移(label skew):标签比例不同(有人几乎只打英文)
  • 概念漂移(concept shift):同特征对应不同标签
  • 数量倾斜(quantity skew):有的客户端数据极多、有的极少
  • 特征空间不同:各端特征维度不完全重叠

如 FedBN 常针对特征分布偏移;具体方法是否在 2019 综述正文中点名,以原文为准。

案例 5:隐私预算的”花钱”类比

Section titled “案例 5:隐私预算的”花钱”类比”

把 epsilon 想成”隐私零花钱”:每参与一轮就要花一点。mironov-renyi-dp-2017 的 Rényi DP 相对经典组合更紧,像打折超市——同样预算能撑更多轮。如何在多轮联邦通信里把预算花得最省,仍是开放问题。

  1. 把”只传梯度”等同于”隐私安全”:梯度本身就能泄漏信息。Zhu 等人 2019 年的 DLG 攻击证明,从一步梯度就能精确还原训练图片。论文强调必须叠加 abadi-dpsgd-2016 的差分隐私或安全聚合协议才有隐私保证。

  2. 以为 FedAvg 在任何数据分布下都能收敛:FedAvg 的收敛证明需要假设客户端数据 IID 或者异构程度有界。现实中某些极端 non-IID 场景(比如每个客户端只有一类标签)会让 FedAvg 完全不收敛。论文把”non-IID 下的收敛性”列为第一优先级开放问题。

  3. 混淆 cross-device 和 cross-silo 两种场景:前者是百万台手机、后者是几家医院/银行。它们在通信模式、隐私假设、容错需求上完全不同。论文的一个关键贡献就是把这两种场景明确分开讨论,因为同一个算法不一定在两种场景下都适用。

  4. 忽略通信压缩带来的收敛速度损失:把梯度从 32-bit 压缩到 1-bit 确实省了 32 倍带宽,但收敛可能需要多 10 倍通信轮数。论文指出需要把”通信轮数 x 每轮带宽”作为整体指标来评估,而不是只看单维度。

适用

  • 数据敏感且不能集中的场景——医疗、金融、政务数据跨机构协作
  • 大规模 cross-device 场景——手机键盘、语音助手等数亿端侧设备联合训练
  • 需要系统理解联邦学习研究全貌的研究者——这篇综述是入门后的第一站
  • 写联邦学习方向开题报告/文献综述——直接引用它的问题分类框架

不适用

  • 想要一个拿来就用的联邦学习算法——这是综述不是代码,要实现请看 mcmahan-fedavg-2017 和 TFF/PySyft
  • 数据已经合法集中在一台服务器——不需要联邦学习,直接训练更简单更高效
  • 只关心单一细分问题——比如只想了解联邦中的差分隐私,直接读 abadi-dpsgd-2016 更高效
  • 需要最新进展(2022 年后)——综述截止 2019/2021,之后的 FedOPT、DP-FTRL、personalized FL 等不在覆盖范围内
  • 2016 年:McMahan 等人在 Google 内部提出”Federated Learning”这个名字,发布 mcmahan-fedavg-2017 的前身技术报告。此时联邦学习还只有 FedSGD 和 FedAvg 两个算法。
  • 2017 年:FedAvg 正式发表在 AISTATS。Google 开始在 Gboard 产品中部署,联邦学习从论文走向工业。与此同时,隐私问题开始浮出水面。
  • 2018 年:研究者发现只传梯度不够安全。Model inversion 和 membership inference 攻击论文密集发表。社区意识到需要 abadi-dpsgd-2016 和安全聚合协同防护。
  • 2019 年:Kairouz 牵头,50+ 位作者联合写了这篇 200+ 页综述放上 arXiv。它像一本”联邦学习百科全书”,第一次把分散的研究线索汇聚成体系。GDPR(2018 生效)大背景下,工业界对隐私计算的需求爆发式增长。
  • 2021 年:论文正式发表在 Foundations and Trends in Machine Learning。此时论文中标注的 58 个开放问题已有近半被部分回答,但”完全解决”的屈指可数。
  • 2022-2025 年:联邦学习进入”深水区”。大语言模型时代的联邦微调(Federated Fine-tuning)、联邦 RLHF、跨模态联邦等新问题出现,已超出本综述覆盖范围,但分析框架仍被广泛引用。
  1. 联邦学习不是一个算法,是一个问题框架——它定义了”数据不动、模型动”的约束条件,具体怎么优化、怎么保隐私、怎么防攻击都是开放的。就像”分布式系统”不是一个软件而是一类问题。

  2. non-IID 是联邦学习的核心困难——数据在用户之间的分布差异不是 bug 而是 feature(现实就是这样),所有联邦算法必须面对它。把笼统的 non-IID 拆成可对照的异构形态,后续论文才有精确对话语言。

  3. 隐私保护是分层的——duchi-local-dp-2013 的本地 DP、abadi-dpsgd-2016 的中心 DP、mironov-renyi-dp-2017 的 Renyi DP、安全聚合、可信执行环境,各有强弱和代价,需要按场景组合。没有银弹,只有工具箱。

  4. 综述论文的价值不在新发现而在新地图——Kairouz 2019 给后来 5 年的研究者指明了方向,引用量超 5000 说明社区认可它的”导航”功能。写论文不一定要提出新东西,把已有知识结构化本身就是贡献。

  5. 系统约束决定算法设计——联邦学习不能只在数学上优化收敛率,还要考虑设备掉线、网络延迟、异构计算力。这是它和传统分布式优化最大的不同。一个理论上收敛最快但需要所有设备同步在线的算法,在现实中可能不如一个理论次优但容错性强的方案。

  6. cross-device 和 cross-silo 是两种完全不同的工程问题——前者的难点是规模和不可靠性,后者的难点是异构性和合规。同一篇论文的方法往往只适用于其中一种。

  • mcmahan-fedavg-2017 —— 联邦学习奠基算法;本综述系统分析了 FedAvg 的局限性和后续改进方向
  • abadi-dpsgd-2016 —— DP-SGD 是联邦学习中保护用户隐私的核心手段;综述讨论了联邦场景下的隐私预算分配问题
  • duchi-local-dp-2013 —— 本地差分隐私的统计极限理论;综述对比了 LDP 与中心化 DP 在联邦场景下的适用性
  • erlingsson-rappor-2014 —— Google RAPPOR 是 cross-device 联邦学习中本地 DP 的早期实践
  • mironov-renyi-dp-2017 —— Renyi DP 为联邦学习提供更紧的隐私组合界,是论文中隐私会计部分的关键工具
  • pytorch —— PySyft 和 Flower 等联邦学习框架基于 PyTorch 生态构建