Page 204 - 《软件学报》2025年第9期
P. 204
王鑫澳 等: 基于联邦学习的 BERT 模型高效训练框架 4115
类似的, FedBERT [34] 也提出了相关的工作. FedBERT 将 BERT 模型分为 Embedding 层、Transformer 层和
Head 层, 其中 Transformer 层部署在服务器上, 其他层在客户端上训练. 并且提出了基于 FedAvg 的联邦学习方法
和基于分割学习的并行和顺序训练策略. 虽然 FedBERT 成功降低了客户端部分的计算开销, 但是需要客户端和服
务器之间传输大量的梯度信息, 导致通信成本较高. 并且根据实验结果, 使用 FedBERT 进行训练的模型相比于集
中式训练, 性能有一定的下降.
之前的研究工作指出, 神经网络模型在训练过程中呈现逐步从浅层到深层稳定的特性 [35] , 这一特性在以
BERT 为代表的预训练语言模型中也得到了验证. 在 BERT 的 Transformer 层中, 包含了丰富的语义信息. 具体而
言, 底层 Transformer 捕捉表层特征, 中间层 Transformer 捕捉句法特征, 而顶层 Transformer 捕捉语义特征. 这表明
在 BERT 模型中, 浅层 Transformer 在预训练阶段更加重要, 而深层 Transformer 在下游任务阶段更为关键 [36−38] .
本文也通过实验验证了这一点, 根据这一特性, 在联邦学习的客户端上, 可以针对不同的训练任务, 选择性地在客
户端训练全局模型的部分 Transformer 参数, 进而完成对全局模型的训练. 具体而言, 可以在预训练任务上重点训
练模型的浅层 Transformer, 在下游任务上着眼于训练模型的深层 Transformer. 通过逐渐调整所训练的层, 在节约
计算和通信开销的同时, 高效而安全地完成全局模型在隐私数据上的训练.
2 联邦模型高效训练问题
2.1 问题定义
本节形式化定义了联邦学习场景下 BERT 模型高效训练的问题, 旨在解决以下两个核心挑战: 一是在进一步
预训练场景中, 充分利用资源受限客户端上的专业领域无标注语料, 对 BERT 模型进行深度优化, 以提升其在专业
领域任务中的适应能力, 并通过在服务端对优化后的模型进行微调, 解决专业领域的下游任务需求; 二是在下游任
务微调场景中, 借助资源受限客户端上的专业领域标注数据, 对 BERT 模型进行针对性的参数调整, 以应对服务端
的特定下游任务.
在进一步预训练场景下, 训练的初始阶段, 服务端拥有一个在通用语料上经过充分预训练的 BERT 模型 M G ,
0 D G , 用于微调并评估模型在专业领域的表现. 参与联邦学
初始参数为 W ; 同时拥有某个专业领域的下游任务数据
G
习的有 N 个客户端 C k , 每个客户端上拥有存储在本地的同样专业领域无标注语料 D k . 服务端需要使用各个资源
受限客户端上的语料 D k 对模型 M G 进行进一步的预训练, 增强模型 M G 在 D G 上的表现.
在下游任务微调场景下, 训练的初始阶段, 服务端拥有一个在通用语料上经过充分预训练得到的 BERT 模型,
0 D G , 仅用于评估模型在具体下游任务的表现. 参与联邦学
初始参数为 W , 同时拥有某个领域的下游任务测试数据
G
习的有 N 个客户端 C k , 每个客户端上拥有存储在本地的同样领域下游任务标注数据 D k . 服务端需要使用各个资
源受限客户端上的下游任务数据 D k 对模型 M G 进行微调, 让模型 M G 适配服务端的具体任务, 并测试模型在数据
D G 上的表现.
集
因此, 本文所提出的 FedBT 整体的训练目标是通过客户端本地的数据对全局 BERT 模型进行训练, 增强全局
BERT 模型在特定任务上的表现效果, 同时尽量减小模型在客户端本地训练的计算开销, 以及联邦聚合过程中的
通信开销.
M k 本地训练的计算开销时, 假设训练的数据集规模相同, 硬件环境等外界因素相同, 则模型
分析客户端模型
的计算开销与模型的规模, 模型需要更新的参数有关. 模型的计算开销可以形式化表示为公式 (2), 其中, Train() 代
表模型训练函数, 进一步预训练阶段为 MLM 训练, 下游任务微调阶段为 fine-tune 微调; L k 为客户端模型的
u
Transformer 层数, 用来代表客户端的模型规模; L 代表客户端模型需要更新的 Transformer 层数量, 会影响模型的
k
计算开销; D k 代表客户端本地的数据集; π 代表客户端的具体参数训练策略, 不同的参数训练策略会影响模型的计
算开销. 进一步预训练场景和下游任务微调场景下的训练策略分别在第 3 节和第 4 节进行详细介绍.
N ∑
u
Cost comp = Train(M k (L k ,L ),D k ,π) (2)
k
k=1

