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

\n

具体而言 , Transformer 最早只考虑了绝对位置编码 , 而且是函数式的;后来 BERT 的提出就使用了参数式 , 而参数式训练则会受收到句子长度的影响 , BERT 起初训练的句子最长为 512 , 如果只训练到 128 长度的句子 , 在 128~520 之间的位置参数就无法获得 , 所以必须要训练更长的语料来确定这一部分的参数 。

\n

而在 NEZHA 模型中 , 距离和维度都是由正弦函数导出的 , 并且在模型训练期间是固定的 。 也就是说 , 位置编码的每个维度对应一个正弦 , 不同维度的正弦函数具有不同的波长 , 而选择固定正弦函数 , 则可以使该模型具有更强的扩展性;即当它遇到比训练中序列长度更长的序列时 , 依然可以发挥作用 。 函数式相对位置编码公式 , 如下图所示:

\n

二、全词覆盖

\n

现在的神经网络模型无论是在语言模型还是机器翻译任务中 , 都会用到一个词表;而在 Softmax 时 , 每个词都要尝试比较一下 。 每次运算时 , 所有词要都在词表中对比一遍 , 往往一个词表会包含几万个词 , 而机器翻译则经常达到六七万个词 , 因此 , 词表是语言模型运算中较大的瓶颈 。

推荐阅读