华为开源预训练语言模型「哪吒」:编码、掩码升级,提升多项中文 NLP 任务性能( 八 )

\n

而 NEZHA 预训练模型 , 则采用了全词覆盖(WWM)策略 , 当一个汉字被覆盖时 , 属于同一个汉字的其他汉字都被一起覆盖 。 该策略被证明比 BERT 中的随机覆盖训练(即每个符号或汉字都被随机屏蔽)更有效 。

\n

BERT 中的随机覆盖

\n

在 NEZHA 的 WWM 实现中 , 研究者使用了一个标记化工具 Jieba2 进行中文分词(即寻找中文单词的边界) 。 在 WWM 训练数据中 , 每个样本包含多个覆盖汉字 , 覆盖汉字的总数约占其长度的 12% , 随机替换的占 1.5% , 尽管这样预测整个词运算难度有所增加 , 但最终取得的效果更好 。

\n

三、混合精度训练及 LAMB 优化器

\n

在 NEZHA 模型的预训练中 , 研究者采用了混合精度训练技术 。 该技术可以使训练速度提高 2-3 倍 , 同时也减少了模型的空间消耗 , 从而可以利用较大的批量 。

\n

传统的深度神经网络训练使用 FP32(即单精度浮点格式)来表示训练中涉及的所有变量(包括模型参数和梯度);而混合精度训练在训练中采用了多精度 。 具体而言 , 它重点保证模型中权重的单精度副本(称为主权重) , 即在每次训练迭代中 , 将主权值舍入 FP16(即半精度浮点格式) , 并使用 FP16 格式存储的权值、激活和梯度执行向前和向后传递;最后将梯度转换为 FP32 格式 , 并使用 FP32 梯度更新主权重 。

推荐阅读