Skip to content

第4章 横向联邦学习与FedAvg

原书范围:PDF第91~115页。

本章定位

  • 在全书中的位置:三类联邦学习算法主线的第一章,从第3章数据并行过渡到数据自治条件下的联邦优化。
  • 前置知识:SGD、数据并行、参数服务器、Non-IID、AHE与安全聚合。
  • 后续基础:联邦优化、个性化FL、鲁棒聚合和联邦大模型训练都以FedAvg为重要基线。
  • 核心问题:特征相同、样本分散时,如何用更多本地计算换更少通信,并限制服务器看到单个更新?

一句话总结

FedAvg每轮抽取部分客户端,在共同初始模型上执行若干本地SGD,再按数据量平均模型;它减少通信轮次,却在Non-IID和本地步数较大时产生客户端漂移。

学习目标

  1. 闭卷写出FedSGD与FedAvg伪代码。
  2. 解释梯度平均与模型平均何时等价。
  3. 说明对训练的影响。
  4. 从目标函数解释Non-IID为何造成客户端漂移。
  5. 区分安全FedAvg、安全聚合和差分隐私。
  6. 分析参与方选择、压缩和异步训练的偏差。

Mermaid思维导图

一、本章要解决的问题

横向联邦的各方拥有相同的特征/标签结构,却拥有不同记录。集中训练可直接混合样本;联邦训练不能移动原始数据,还面对四个原书强调的优化特征:

  1. 数据通常Non-IID;
  2. 客户端数据量不平衡;
  3. 参与方数量可能非常大;
  4. 上行慢、连接不稳定且客户端会掉线。

由于通信通常比本地计算昂贵,核心策略是让每次通信承载更多本地计算结果。但本地训练越充分,局部目标之间的差异也越容易把模型拉向不同方向。

⭐ 核心结论

FedAvg的关键不是“平均”本身,而是把多步本地优化放在两次通信之间。它以本地计算换通信轮次;当各客户端局部目标差异大时,这个交换会同时放大客户端漂移。

二、核心概念与定义

概念准确定义通俗理解与相近概念的区别
横向联邦学习(HFL)各方特征与标签空间相同,样本ID空间不同或重叠很少同表头、不同记录纵向联邦是相同用户的不同字段
联邦优化在数据自治、Non-IID、部分参与和通信受限条件下优化全局目标不能随意洗牌数据的分布式优化数据中心通常可控制分片和节点
FedSGD每轮选中客户端在本地全部数据上计算一次梯度,服务器聚合一次本地梯度后通信FedAvg会做多个批次/多轮本地更新
FedAvg客户端从同一全局参数出发做多步本地SGD,服务器按数据量平均模型各自在本地走几步,再汇合多步后模型平均通常不等于单次梯度平均
客户端漂移本地更新因局部目标与全局目标不一致而偏向客户端自身最优方向各客户端越走越向自己的目标偏离不只是随机梯度噪声
安全聚合服务器只得到选中客户端更新的聚合值,不见单个更新只看总和不限制聚合值/最终模型泄露,不提供投毒防御
梯度平均服务器聚合客户端在同一参数点计算的梯度平均“方向”单步同步时可与模型平均等价
模型平均服务器聚合客户端本地更新后的参数平均“位置”多步、本地优化器状态或非线性目标下差异明显

HFL的数据条件

分别为第方的特征、标签和样本ID空间。原书式(4-1)为:

这里的“相同”指参与共同任务所需的数据模式对齐;样本ID可完全不交或交集很小。

三、核心机制

3.1 客户-服务器架构

text
服务器初始化并下发全局模型

本轮客户端在本地数据上计算梯度或更新参数

客户端上传明文/掩码/密文更新

服务器聚合梯度或模型

服务器下发聚合结果

重复至收敛、轮次或时间上限
  • 输入:客户端本地数据、初始模型、优化器设置。
  • 角色个客户端和一个聚合服务器。
  • 客户端状态:数据、模型副本、可选本地优化器状态。
  • 服务器状态:全局模型、轮次与客户端选择状态。
  • 交换信息:梯度、模型参数、损失统计或其受保护形式。
  • 输出:可共享/部署的全局模型。
  • 推理:通常可在单个客户端独立执行。

图4-1 典型的横向联邦学习系统的客户-服务器架构示例

3.2 P2P架构

中心节点选择客户端、下发模型并聚合。编排和全局评估直接,但服务器是信任、隐私和可用性集中点。

维度客户-服务器P2P
协调中央服务器预定链或随机邻居
聚合并行收集后聚合参数沿网络传播
中心风险无固定中心
主要代价中心信任、带宽、单点拓扑、顺序、一致性、容错

图4-2 横向联邦学习系统的对等网络架构示例

3.3 全局模型评估

各客户端在本地测试集计算,服务器先聚合计数再计算指标。例如全局召回率为:

不能直接平均各客户端召回率,否则小测试集与大测试集权重相同。即便聚合计数正确,平均性能仍不能替代最差客户端、分位数和群体指标。

四、关键公式

4.1 有限和目标

原书式(4-2):

  • 维模型参数,是总样本数。
  • 对监督学习,是样本的损失。
  • 它优化所有样本的平均风险。

令第个客户端的样本索引集为,样本数,且。原书式(4-3):

  • 是客户端的局部目标,是其样本权重。
  • IID时,可望近似;Non-IID时,可能系统性偏离
  • 数据量加权优化的是样本平均目标,不等于客户端公平目标。

4.2 梯度平均

客户端在共同参数计算,原书式(4-4):

其中是学习率。若参与全集且梯度准确,则加权和等于。部分参与时需关注采样与加权是否形成无偏或有控偏估计。

4.3 模型平均

客户端本地一步更新,原书式(4-5):

服务器按原书式(4-6)聚合:

将式(4-5)代入式(4-6)即可得到式(4-4),因此同一初始点、一步相同学习率的本地更新下二者等价。多步更新后,各客户端梯度在不同参数点计算,通常不再等价。

4.4 参数影响

参数原书含义增大时的主要收益增大时的主要风险
每轮参与客户端比例聚合覆盖更多数据、方差可能降低通信和慢节点等待增加
每轮本地训练遍数/步骤控制量单轮学习更多、可能减少通信轮次Non-IID漂移、过拟合和计算增加
本地mini-batch大小梯度方差降低、并行效率可能提高每步算力/内存增加;更新次数减少
学习率加快局部进展振荡、发散和漂移放大

原书给出的每轮本地批次更新数为:

实际实现需对非整除、最后一个批次及的“本地epoch/步骤”语义作明确约定。

五、算法卡:FedAvg

  • 解决的问题:在通信昂贵的HFL中,通过多步本地训练减少通信轮次。
  • 适用的数据划分:特征/标签空间一致、样本分散。
  • 参与角色:聚合服务器与个客户端。
  • 客户端保存的状态、本地模型、可选优化器状态。
  • 服务端保存的状态:全局模型、客户端采样与轮次状态。
  • 每轮交换的信息:下行;上行本地模型或更新差值。
  • 本地更新:从出发,在mini-batch上做轮/若干步SGD。
  • 服务端更新:按对选中客户端模型加权平均。
  • 核心公式
  • 终止条件:损失/指标收敛、最大通信轮数或时间上限。
  • 计算复杂度:客户端每轮约为单样本一次前后向的模型相关成本。
  • 通信复杂度:若模型维度为、选中个客户端,每轮上行、服务器下行按单播计;广播能力会改变物理传输成本。
  • 隐私机制:原始FedAvg无正式隐私;可组合安全聚合、AHE或DP。
  • 信任与攻击者假设:原书主要考虑诚实客户端和半诚实服务器;原始算法不防恶意客户端。
  • 主要优势:简单、通用、通信轮数较FedSGD少。
  • 主要局限:Non-IID漂移、客户端选择偏差、慢节点、更新泄露、投毒。
  • 可能失效的条件:局部目标差异大、过大、模型初始化/结构不一致、选择偏差严重。
  • 应该比较的基线:集中训练、Local-only、FedSGD、FedAvg不同本地步数;后续可加FedProx/SCAFFOLD等。
🔍 展开查看:FedAvg伪代码
text
服务器初始化 w0
for t = 0, 1, ...:
    采样客户端集合 Ct,|Ct|约为max(rho*K, 1)
    并行发送 wt
    for k in Ct:
        w <- wt
        重复S个本地epoch/阶段:
            将Dk划分为大小M的mini-batch并打乱
            for batch b:
                w <- w - eta * grad L_b(w)
        上传wk <- w
    wt+1 <- sum_{k in Ct} alpha_k * wk
    其中alpha_k通常按本轮选中客户端样本数归一化
    若达到停止条件则退出

原书算法4-1写成对加权;在部分参与实现中,应明确分母是全体还是本轮选中样本总数。不同约定对应不同更新尺度,不能在复现时省略。

六、FedSGD与FedAvg

设置:选中客户端用全部本地数据在共同参数点计算一次梯度,然后通信。更新更接近全局梯度,但每一小步都需通信。

维度FedSGDFedAvg
每轮本地工作一次全本地梯度多批次/多步SGD
上传内容梯度模型或更新差值
通信轮数通常更多通常更少
客户端漂移较弱随本地步数和异质性增强
对本地算力要求较低较高

💡 通俗理解

若每个客户端的局部损失像朝不同方向倾斜的山谷,FedSGD只在同一个出发点各看一次坡度;FedAvg让各客户端沿自己的山谷走多步再平均位置。走得越久,位置分歧通常越大。

七、安全FedAvg与隐私边界

AHE安全FedAvg

客户端本地更新后加密,服务器在密文上执行加权求和,再将聚合密文发送给可解密方。AHE支持:

其中是私钥,是明文标量。原书算法4-2声称在相应密码和半诚实模型假设下,可隐藏单个客户端参数并抵御选择明文攻击;该结论不覆盖恶意输入、密钥泄露或最终模型泄露。

机制保护对象服务器看到不能解决代价
AHE模型平均密文中的客户端模型密文和允许的聚合输出恶意更新、最终模型泄露、DP加解密、密文膨胀、密钥管理
安全聚合单个客户端更新更新总和/均值聚合结果泄露、投毒、最终模型隐私密钥协商、掩码、掉线恢复
中央/分布式DP样本或用户影响带噪聚合/模型密码学机密性、任意投毒裁剪、噪声、效用与预算

⚡ 隐私边界

安全FedAvg不是“FedAvg天然安全”。原始FedAvg上传明文更新;安全聚合只隐藏单个更新;差分隐私才限制单条样本或一个用户对输出的影响。三者保护对象和保证不同。

八、关键假设

假设类型具体假设假设不成立时的后果
数据假设特征/标签接口一致;样本可映射到共同任务模型参数无法直接聚合
数据假设真实、权重与目标一致谎报数据量或选择偏差扭曲更新
系统假设每轮有足够客户端在线且完成上传同步轮次阻塞,安全聚合可能低于阈值
模型假设客户端从相同参数和兼容优化设置出发参数平均失去语义
信任假设原书主要假设客户端诚实、服务器半诚实恶意客户端可投毒、后门或伪报指标
攻击者假设AHE/安全聚合的密钥与串谋阈值成立单个更新可能被恢复

九、代价与权衡

维度收益代价或风险
模型效果融合更多样本Non-IID与选择偏差导致漂移和群体损失
本地计算多算少通信能耗、热量和低端设备负担
通信成本本地多步减少轮数每轮仍上传维更新
存储成本本地保留数据模型与优化器状态占设备空间
隐私保证可叠加AHE/安全聚合/DP隐私不是原始FedAvg属性
安全与鲁棒性隐藏更新降低窥探隐藏后更难逐客户端检测投毒
客户端公平性数据量加权优化样本平均大数据方主导,尾部客户端被牺牲

十、局限与开放问题

原书明确指出

  • 无法查看分布式数据使超参数和优化器选择困难;
  • 通信开销随模型、客户端和轮次增长;
  • 需要激励机构和移动用户参与;
  • 参与方可谎报数据量或测试结果;
  • 掉线、动态加入和不同可靠度需要更灵活机制;
  • 一般非凸目标下模型平均可能得到差模型或不收敛。

根据假设推导

  • 基于速度的客户端选择会把系统效率问题变成统计抽样偏差;
  • 按样本量加权不保证客户端公平;
  • 安全聚合隐藏更新后,鲁棒聚合所需的逐客户端可见性受到限制;
  • 全局混淆矩阵仍可能泄露小客户端的标签分布,应设阈值或保护统计量。

十一、2020年后的扩展阅读

⚡ 时效性说明

本节是后续研究线索,不是原书作者在2020年书中的结论。

后续方法主要针对的FedAvg问题核心机制(概括)
FedProx异质性下本地更新偏离局部目标加入接近全局参数的近端项
SCAFFOLD客户端漂移用服务器/客户端控制变量校正更新方向
FedNova本地步数不同导致更新尺度不一对局部更新做归一化
FedOpt服务器只做平均、优化能力有限把聚合更新交给服务器优化器
FedDyn局部与全局目标不一致动态正则项修正局部目标
FedBN特征分布偏移批归一化统计/参数保留本地
个性化FL单一模型不适合所有客户端全局共享与本地适配并存

不能仅凭名称假定某后续方法在所有Non-IID、掉线、安全或公平条件下都优于FedAvg,必须在相同参与率、计算量和调参预算下验证。

十二、图表回查

原书图/表PDF页码应记住的关系
图4-195客户端上传受保护梯度,服务器安全聚合并下发
表4-195附近梯度平均与模型平均的对象及条件
图4-297P2P循环或随机传播,无固定服务器
算法4-1105FedAvg服务器循环与客户端多步更新
算法4-2108本地更新后AHE加密,密文聚合

十三、章节关系

text
第3章数据并行

第4章HFL与FedAvg
  ├─ 第2章HE/MPC/DP → 安全FedAvg
  ├─ 第7章贡献与激励 → 客户端参与
  ├─ 第8章CV/NLP/推荐 → 应用算法骨架
  └─ 2020年后 → 漂移校正、服务器优化、个性化

十四、闭卷回忆问题

  1. HFL的数据空间关系是什么?
  2. 从有限和目标推导客户端加权目标。
  3. 闭卷写出FedAvg的一轮服务器端和客户端步骤。
  4. FedSGD与FedAvg的差别是什么?
  5. 梯度平均和模型平均何时等价?
  6. 为什么增大既可能减少通信又可能恶化收敛?
  7. 安全聚合为什么不等于差分隐私?
  8. 为什么基于速度选客户端可能损害公平?
🔍 参考答案
  1. 特征和标签空间一致,样本ID不同或重叠很少。
  2. 将总样本按客户端索引集分组,得到
  3. 采样并下发;客户端多步本地SGD并上传;服务器按样本权重平均得到
  4. FedSGD在共同参数点计算一次全本地梯度;FedAvg执行多步本地更新后平均模型。
  5. 客户端从同一参数出发,只做一步、学习率一致且服务器采用相同权重时。
  6. 本地多算让每轮进展增加,但局部目标不同会让轨迹分叉。
  7. 前者隐藏单个更新;后者限制单个样本/用户对输出分布的影响。
  8. 设备速度可能与地区、群体和数据分布相关,使抽样不再代表目标总体。

从教材到科研

现有方法隐含了哪些假设?

  • 客户端采样近似代表目标总体;
  • 可验证且样本量加权符合业务目标;
  • 本地计算步数的收益大于漂移代价;
  • 更新保护与异常检测可以同时实现;
  • 单一全局模型是所有客户端可接受的输出。

怎样构造让这些假设失效的实验?

  • 用Dirichlet标签划分逐步增强Non-IID;
  • 让慢客户端集中持有少数类,比较随机与速度优先选择;
  • 网格改变和参与率
  • 设置客户端数据量长尾并比较样本加权与客户端均匀加权;
  • 同时加入掉线、安全聚合和模型投毒;
  • 报告平均、10%分位和最差客户端性能。

可以提出哪些可证伪的研究问题?

在设备速度与标签分布相关的Non-IID环境中,速度优先客户端选择是否会在相同墙钟时间内提高平均精度,却显著降低最差十分位客户端精度?

  • 现有方法:FedAvg加速度优先选择。
  • 失效条件:慢客户端持有稀有标签。
  • 可能机制:系统选择偏差改变有效训练分布。
  • 可观察结果:参与频次、有效标签分布、更新方向、平均/尾部精度。
  • 验证指标:墙钟时间、通信量、平均精度、最差十分位精度和群体差距。