Page 289 - 《软件学报》2026年第2期
P. 289

768                                                        软件学报  2026  年第  37  卷第  2  期


                 细描述的方法. 对于     WMT16 En↔RO  数据集, 我们采用了文献       [30] 中描述的数据处理技术. 至于       IWSLT14 DE→EN
                 数据集, 我们严格按照文献        [25] 中提出的程序进行处理.

                                               表 1 实验所用数据集大小及划分

                                数据集名称                训练集             验证集             测试集
                              WMT14 EN↔DE            4 508 785        3 003           3 000
                              WMT16 EN↔RO            610 320          1 999           1 999
                              IWSLT14 DE→EN          160 239          7 280           6 750

                  3.2   知识蒸馏
                    我们对所有数据集应用了序列级知识蒸馏               [53] , 具体方法如先前的研究所述      [6,24,25] . NAT  模型基于条件独立性
                 假设进行预测, 这意味着每个预测的词元不依赖于其他词元. 因此, 对于同一输入可能会产生多个输出. 例如, 德语
                 的“Danke schön”和“Vielen Dank”都可以对应英语输入“Thank you”. 序列级知识蒸馏通过提供唯一的目标序列, 帮
                 助模型减少输出的不确定性, 从而获得更一致的结果. 例如, “Thank you”可统一选择“Danke schön”或“Vielen Dank”
                 作为标准译文.
                    首先, 我们在原始数据上训练一个标准的             Transformer 模型  (对于  WMT14 EN↔DE  使用  Transformer-large, 对
                 于  WMT16 En↔RO  和  IWSLT14 DE→EN  使用  Transformer-base), 然后使用该模型生成的输出作为我们的训练数
                 据. 随后, 我们使用经过蒸馏处理的数据训练我们的模型.
                  3.3   评估指标
                    实验在   FAIRSEQ [54] 框架上实现. 为了评估   SynNAT  模型, 我们报告了广泛使用的        BLEU  分数  [55] , 这一指标用
                 于衡量翻译任务的性能表现. 加速比           Speedup  的评估方法保持与之前的研究一致           [56–58] , 表示模型在解码过程中的
                 速度提升倍数. 具体而言, 我们在测试集上生成目标句子, 使用批大小为                     1  的设定, 并评估我们的模型相对于标准
                          [1]
                 Transformer 在单张  NVIDIA 3090  显卡上的推理延迟. 具体公式如下:

                                                              BMT
                                                      Speedup =                                      (12)
                                                              OMT
                 其中, BMT  表示  baseline model (Transformer-base) 解码时间, OMT  表示本文模型解码时间.
                  3.4   实验设置
                    在训练过程中, 我们参考并主要使用文献              [29, 57] 中的超参数设置. 对于    WMT (workshop on machine trans-
                 lation) 数据集, 我们使用基本的    Transformer 配置, 包括  6  层堆叠的编码器和解码器, 每层      8  个注意力头、512    维模
                                                                                            [1]
                 型和  2 048  维隐藏层, 并使用暖启动学习率调度         [1] , 在  4 000  个训练步骤内将学习率提升至     5E–4 . 由于  IWSLT
                 数据集较小, 我们使用一个更小的           Transformer 模型, 包括  6  层堆叠的编码器和解码器, 每层       4  个注意力头、512
                 维模型和    1 024  维隐藏层. 我们在  WMT/IWSLT  数据集上分别使用        64 000/8 000  个词元的批次大小训练模型, 并
                 为  SynNAT  使用  Adam  优化器  [59] , β  值为  (0.9, 0.999). 所有模型训练  600 000  个训练步骤内, 最终的推理模型通过
                 对  5  个最佳检查点进行平均生成, 检查点的选择依据是验证集上的                  BLEU  分数.
                  3.5   对比模型
                    由于   SynNAT  模型是对   GLAT  [29] 的改进, 因此我们将    SynNAT  与强大的   GLAT  [29] 进行比较. 为了评估
                 SynNAT  的有效性, 遵循文献     [29] 的做法, 我们还将    SynNAT  集成到其他两个强大的        NAT  模型: GLTA+NPD  [29]
                                                                                                  [6]
                 和  GLAT+CTC [29] , 这些模型采用了更复杂的机制来优化输出长度预测. 对于              NPD (noisy parallel decoding) , 我们
                 首先预测   m  个目标长度候选, 然后对每个目标长度候选使用              argmax 解码生成输出序列. 接着, 利用预训练的          Trans-
                                                                                                      [60]
                 former 对这些序列进行排序, 并选择最佳的整体输出作为最终输出. 对于                 CTC (connectionist temporal classification) ,
                 根据文献   [23], 我们首先将最大输出长度设置为源输入的两倍, 并在生成后去除空白和重复的标记. 对于自回归基
                 线模型, 我们将方法与蒸馏数据训练的标准              Transformer 进行比较.
   284   285   286   287   288   289   290   291   292   293   294