Page 208 - 《软件学报》2025年第9期
P. 208
王鑫澳 等: 基于联邦学习的 BERT 模型高效训练框架 4119
● S5: 服务端使用聚合参数更新全局模型, 并基于第 3.2 节所述的浅层渐进式训练策略决定之后训练的
Transformer 层索引号 l.
● S6: 如果联邦学习轮次还在继续, 则重复步骤 S1, 客户端下载新的参数, 更新本地参数池, 构建新的模型用
于训练, 否则结束流程.
FedBT 在进一步预训练场景下的算法如算法 1 所示.
算法 1. FedBT 进一步预训练算法.
0
I
输入: 数据集 {D 1 ,...,D N }, 全局模型 M G , 初始参数为 W , 联邦学习迭代轮次 , 本地 MLM 训练轮次 e k , 当前训练
G
层编号 l;
I
输出: 最终全局模型 M G 的参数 W .
G
初始化: 每个客户端 C k 的本地参数池 P k ; 初始训练 Transformer 层编号 l = 0
I 轮联邦学习迭代
1. //执行
2. for i = 0 to I −1 do
3. //各个客户端并行执行
4. for each client C k do
5. if i > 0 then
6. 使用服务端的 W (i−1) 更新 M k
G
7. end if
l 层 Transformer 层和输出层参数
8. //在客户端使用本地模型训练第
i
9. W ← MLM_Train(M k ,D k ,P k ,l,e k )
k
W 到服务端
i
10. 上传
k
11. end for
12. //服务端聚合客户端所上传参数
i
13. W ← Merge(W ,...,W )
i
i
G
1
N
14. //根据浅层渐进式训练策略决定接下来训练的 Transformer 层编号 l
15. l ← Next(l, i, r, I)
i
16. 发送 W 到每个客户端
G
17. end for
3.2 训练策略的选择
联邦学习场景下, 本地客户端需要使用比服务端全局模型更小的模型, 并且在训练过程中需要更高效的更新
模型参数. 这要求客户端本地模型在使用隐私数据进行进一步预训练时, 需要选择对服务端全局模型更重要的部
分参数进行训练. 之前的工作 [35−38] 已经指出, 在 BERT 模型中, 浅层的 Transformer 模型会捕获语法层面的相关知
识, 这些参数在预训练环节会比深层的 Transformer 参数发挥更大的作用.
本文所提出的 FedBT 在使用客户端隐私数据进行进一步预训练时, 会更关注模型的浅层 Transformer 参数,
并且只上传所更新的参数到服务端聚合. 具体来说, 在每一轮联邦学习的迭代过程中, FedBT 只会训练并传输一
层 Transformer 参数和输出层参数, 其余层的参数则仅用于辅助计算, 保持不变. 受渐进式训练 [39] 思想的启发, 在
进一步预训练阶段, FedBT 会从浅层的 Transformer 参数中逐层递增的选择参数用于训练, 由浅至深的逐步训练
Transformer 参数. 在训练过程中, 如何确定训练的 Transformer 层以及构建客户端的本地模型, 从而高效地完成模
型参数的更新, 变得至关重要.
因此, 在使用专业领域的隐私数据对模型进行进一步预训练时, 需要尽可能地将训练资源用于训练浅层的

