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  中的对应参数保持一致. 本地模型第
   204   205   206   207   208   209   210   211   212   213   214