Page 209 - 《软件学报》2025年第9期
P. 209
4120 软件学报 2025 年第 36 卷第 9 期
Transformer 参数. 基于此原则, FedBT 在进一步预训练阶段, 提出了一套渐进式的训练流程: 如果当前需要进行 I
轮联邦学习的迭代训练, FedBT 会将前半部分的联邦学习轮次用于训练第 0 层的 Transformer 参数, 也就是前
⌈I/2⌉ 轮迭代时, l = 0; 剩余联邦学习轮次 ( I −⌈I/2⌉) 的一半用于训练第 1 层的 Transformer 参数, 也就是 l = 1; 依次
类推, 每完成剩余联邦轮次的一半时, 当前所训练的 Transformer 层索引号 l 会递增加 1, 并且 l 会比客户端本地所
用的 Transformer 层数量 L k 更小. 假如 I = 10, 则 l 的取值为 [0, 0, 0, 0, 0, 1, 1, 1], 详细的流程如图 2 所示, 描述了如
何确定训练的 Transformer 层.
l=l+1
End r=I−i
Yes Yes
Start No No i=i+1
i=I? i=I− r/2 ?
i=0, r=I, l=0 FL training
图 2 浅层渐进式训练算法流程
l
确定客户端 C k 要训练的 Transformer 层索引号 l 之后, 根据 与本地参数池 P k 构建客户端的本地模型 M k . 本
地模型的网络结构同全局模型保持一致, 由 Embedding 层, Transformer 层和输出层参数构成. 在构建本地模型的
过程中, 假设本地模型共拥有 L k 层 Transformer 层, 那么本地模型 Transformer 层参数的构建可以分为第 [0,l] 层
的 Transformer 层参数, 和第 [l+1, L k ) 层的 Transformer 层参数两部分来进行构建. 本地模型的其余参数, 即
Embedding 层参数和输出层参数, 同全局模型的对应参数保持一致. 由于在每一轮联邦学习中, 本地参数池 P k 都
会根据服务端下发的最新的聚合参数进行更新, 所以本地模型的 Embedding 层参数和输出层参数同本地参数池
P k 中的对应参数保持一致即可.
如上文所述, 在进一步预训练阶段, FedBT 会从第 0 层的 Transformer 参数, 以逐步递增的方式训练深层的
[0,L k ] 层的 Transformer 层参数, 都是在之前的联邦学习轮次中进行
Transformer 参数. 因此, 对于本地模型 M k 中第
更新过的参数, 同本地参数池 P k 中的对应参数保持一致即可, 其中第 层 l Transformer 参数会进行训练更新. 本地
[l+1, L k ) 层的 [l+1, L G ) 层的 Transformer 层参数中进行随机采
模型第 Transformer 层参数, 从本地参数池 P k 的第
样得到, 其中 L k 和 L G 分别是本地模型和全局模型的 Transformer 层数量, 如图 3 所示, 描述了如何构建客户端的
本地模型.
本地参数池
Embedding T-Layer 0 T-Layer 1 T-Layer 2* T-Layer 3 T-Layer 4 T-Layer 5 T-Layer 6 T-Layer 7 T-Layer 8 T-Layer 9 T-Layer 10 T-Layer 11 Output*
本地模型 l
训练层序号
l=2
Embedding T-Layer 0 T-Layer 1 T-Layer 2* T-Layer 3 T-Layer 4 T-Layer 5 Output*
图 3 深层采样映射算法
假设当前训练的 Transformer 层索引号 l = 2, 本地模型的 Transformer 层数量 L k = 6, 全局模型的 Transformer
层数量 L G = 12. 本地模型第 [0,2] 层的 Transformer 层参数, 同本地参数池 P k 中的对应参数保持一致. 本地模型第

