3. 联邦学习系统架构与更新流
要理解联邦学习中的“模型更新治理”,必须先看清更新在系统里究竟是怎样产生、怎样流动、又在哪里被改变形态的。联邦学习并不是把数据集中起来训练,而是让模型走到数据所在的位置:客户端在本地用自己的数据训练,把训练得到的更新(而不是原始数据)交给聚合服务器,服务器再把这些更新合成新的全局模型,并把它发回客户端进入下一轮。整条链路上,客户端、服务器、通信轮次和传播路径共同决定了更新的语义、时效与可信边界。
一、系统角色与职责边界
一个典型的联邦学习系统至少包含三类角色。第一类是客户端(Client),通常对应一部手机、一台边缘设备或一个机构节点,它持有本地数据,负责在本地执行若干步梯度下降,产出模型更新。第二类是聚合服务器(Aggregation Server),它不接触原始数据,只接收客户端上传的更新,按聚合算法(如 FedAvg 的加权平均)计算新的全局模型参数,并负责客户端采样、轮次调度与分发。第三类是协调与治理组件,包括身份认证、更新校验、审计日志与安全聚合模块,它们不直接参与训练,却决定了“哪些更新能被接受、以什么形式被接受”。
需要特别强调的是职责边界:客户端只对自己的本地数据负责,服务器只对聚合规则与全局模型负责。原始数据不出域,是联邦学习最基本的约束,也是后续所有更新治理讨论的前提。
二、一次通信轮次中的更新流
联邦学习以“轮次(Round)”为基本时间单位。设第 t 轮开始时全局模型参数为 wt,一轮的典型过程如下:
- 客户端采样:服务器从全部 N 个客户端中按比例 C 抽取一个子集 St,例如 N=1000、C=0.1,则本轮选中约 100 个客户端。
- 模型下发:服务器把当前全局模型 wt 广播给 St 中的客户端。
- 本地训练:每个被选中的客户端 k 用本地数据执行 E 个本地 epoch,得到本地更新 wtk,并计算更新量 Δk = wtk − wt。
- 更新上传:客户端把 Δk(或本地模型)上传给服务器,可附带样本量 nk 等元信息。
- 聚合:服务器按样本量加权平均,得到新的全局模型 wt+1 = Σk∈St (nk/n) · wtk,其中 n = Σk nk。
- 分发与下一轮:新的全局模型进入第 t+1 轮,重复上述过程,直到达到预设轮数或收敛条件。
这条链路中,更新经历了“本地参数 → 更新量 → 加权平均 → 新全局参数”的形态变化。治理动作往往就插入在这些形态切换的节点上:上传前可做本地差分隐私加噪,上传后可做异常更新检测,聚合时可做鲁棒聚合(如 Krum、Trimmed Mean),聚合后可做模型审计。
三、更新传播路径与通信拓扑
更新传播路径决定了延迟、带宽开销与故障影响范围。常见拓扑有三类:星型拓扑(所有客户端直连中心服务器,最常见,实现简单但服务器是单点瓶颈)、层级拓扑(客户端先汇聚到边缘聚合节点,再上传到中心,适合跨机构、跨地域场景)、去中心化拓扑(客户端之间点对点交换更新,无中心服务器,抗单点故障但一致性难保证)。
在星型拓扑下,一轮的通信开销约为 2 × |St| × |w|,即下发与上传各一次。若模型参数量为 107、每参数 4 字节,则单客户端单轮约 40 MB,100 个客户端一轮就是约 8 GB 的双向流量。这个量级直接解释了为什么联邦学习需要通信压缩(量化、稀疏化)与客户端采样策略。
四、更新流的关键参数与观察点
下表给出一组教学示例参数(属于合理假设,用于说明参数之间的相互影响,并非实测结果):
| 参数 | 示例取值 | 对更新流的影响 |
|---|---|---|
| 客户端总数 N | 1000 | 决定可选样本池与数据分布多样性 |
| 采样比例 C | 0.1 | 越大越接近全量,通信与调度压力越高 |
| 本地 epoch E | 3 | 越大本地更新偏移越远,可能加剧客户端漂移 |
| 批大小 B | 32 | 影响单步梯度噪声与本地训练稳定性 |
| 学习率 η | 0.01 | 过大易发散,过小收敛慢 |
| 通信轮次 T | 100 | 决定总通信量与收敛机会 |
观察更新流是否健康,可以关注几个信号:全局损失是否随轮次单调下降、客户端更新范数是否出现异常离群值、参与率是否稳定、上传更新与下发模型之间的差异是否在合理范围。若某客户端更新范数远大于同轮其他客户端,往往意味着数据异常或恶意投毒,需要在聚合前拦截。
五、从架构到治理的衔接
把上述架构与更新流放在一起看,可以得到一个清晰结论:联邦学习中的“模型更新”不是单一对象,而是随传播路径不断变换形态的信息载体。它在客户端是本地训练产物,在传输中是可能被压缩、加噪或篡改的数据包,在服务器上是待聚合的向量集合,在全局模型中是历史更新的累积结果。治理的抓手,正是这些形态切换的节点——在客户端出口约束更新内容,在传输与聚合入口校验更新来源与质量,在聚合出口记录更新去向与版本。理解这条路径,后续讨论更新完整性、隐私保护与投毒防御时,才能准确判断“在哪一层、对什么对象、施加什么控制”。