NEZHA知识点

华为NEZHA预训练模型采用相对位置编码、全词掩盖、混合精度训练及LAMBOptimizer等技术,有效提升了模型性能并加速训练过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 华为NEZHA

  主要是将bert之后预训练模型的长处拼接在一起
  1.相对位置编码
  Bert的位置编码是直接初始化一个embedding,然后通过预训练去学的,是固定位置编码。
  NEZHA使用函数式相对位置编码,在qk时,加在k上,表示q和k的相对距离;在αV时,加在V上,表示q和v的相对位置

2. 全词掩盖(Whole Word Masking,wwm)

  这个策略和bert_wwm以及百度的ernie没啥差别,就是在生成预训练样本过程时,不再采用随机掩盖token的方式,而是随机掩盖词组的方式,这样能充分让模型学习词汇信息。在初始的BERT中,每个token或者每个汉字都是随机覆盖的。而 NEZHA 预训练模型,则采用了全词覆盖(WWM)策略,当一个汉字被覆盖时,属于同一个汉字的其他汉字都被一起覆盖。

3. 混合精度训练

  该技术可以将训练速度提高2-3倍,还可以减少模型的空间消耗,从而可以在预训练过程中使用更大的batch。
  传统的深度神经网络训练使用 FP32 (即单精度浮点格式)来表示训练中涉及的所有变量(包括模型参数和梯度);而混合精度训练在训练中采用了多精度。具体来说,它保存参数的FP32版本(称为主权重),即在每次训练迭代中,将主权重舍入为FP16(即半精度浮点格式),并使用 FP16 格式存储的权重执行向前和向后传递;最后将梯度转换为FP32格式,并使用FP32梯度更新主权重。(训练过程使用半精度,训练完将FP16转为FP32,更新主权重,推理使用单精度)

4. LAMB Optimizer

  LAMB 优化器是专为深度神经元网络大batch size同时分布式训练而设计。尽管使用大的batch size训练可以有效地加快 DNN 训练速度,但是如果不仔细调整学习率,当batch size的大小超过某个阈值(如果batch size极大,loss为它们之和(参数的梯度由loss决定??),学习率必须极小???)时,模型的性能可能会受到很大影响。LAMB 优化器则不需要手动调整学习率,而是采用了一种通用的自适应策略。优化器通过使用非常大的batch size(实验中高达30k以上)来加速BERT的训练,而不会导致性能损失,甚至在许多任务中获得最先进的性能。值得注意的是,BERT的训练时间最终从3天显著缩短到 76 分钟。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值