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
   199   200   201   202   203   204   205   206   207   208   209