ALBERT A Lite BERT For Self-supervised Learning Of Language Representations

《ALBERT: A LITE BERT FOR SELF-SUPERVISED LEARNING OF LANGUAGE REPRESENTATIONS》(ALBERT ICLR 2020)

摘要

  • 提出两种参数缩减技术,来降低内存消耗,提高BERT的训练速度
  • 使用一种专注于句子间连贯性建模的自监督损失,它有助于下游的多句输入任务
  • 模型在benchmark GLUE、RACE和SQuAD上为SOTA

介绍

  • 提出A LITE BERT(ALBERT),使用两个参数缩减技术
    • 分解embedding参数计算过程:将大的嵌入矩阵分解为两个小的矩阵,以此将隐藏层的size与词汇表嵌入的size分开,使得在不用提高embedding size的情况下提高hidden size
    • cross-layer parameter sharing:防止参数随着网络深度增加过度增长
    • 18x fewer parameters,1.7x faster than BERT-large
  • 预训练任务中,NSP被SOP取代(sentence-order prediction)——解决了NSP损失的无效性问题

相关工作

cross-layer parameter sharing

  • 研究表明,具有跨层参数共享的网络(Universal Transformer,UT)在语言建模和主谓一致方面的性能优于标准的Transformer
  • 研究人员后来将参数共享的transformer与标准的transformer相结合,进一步增加标准transformer的参数数量

SOP

  • 语篇的连贯与衔接通常是训练目标
  • Skipthought (2015)、和FastSent(2016)使用一个句子的编码来预测相邻句子中的单词,来学习句子嵌入
  • 其他目标包括预测未来的句子,而不仅仅是相邻的句子(2017)和预测明确的话语marker(2017、2019)
  • 本文SOP损失定义在文本片段而不是句子上定义的

ALBERT

模型结构

  • 骨干网络类似BERT,使用transformer的encoder和GELU非线性化

  • 记字典embedding size为E、层数为L、hidden size为H,设置feed forward/filter size为4H,attention head为H/64

  • 分解的embedding参数化:

    • BERT、XLNet、RoBERTa都要求E=H,此时的embedding矩阵规模就是V*E,其中的参数只在训练时稀疏地更新
    • 从建模角度,wordpiece embedding用于学习上下文无关的表征,hidden layer用于学习上下文相关的表征,因此可以将WordPiece embedding size E从hidden layer size H分离,即使得H>>E
    • 本文将独热向量先投影到一个低维度embedding空间,再投影到隐藏空间,而非将独热向量直接投影到size为H的隐藏空间中,此时嵌入参数从V*H变成V*E+E*H
    • 对所有的wordpiece使用相同的E——和whole word嵌入相比,wordpiece在文档中分布更加均匀,并且whole word嵌入具有不同的嵌入大小,这对于不同的词语来说是很重要的
  • Cross-layer parameter sharing

    • 共享参数的方法有很多种,例如仅跨层共享feed forward net参数,或仅共享注意力参数

    • ALBERT默认跨层共享所有参数

    • ALBERT从一层到另一层的过渡比BERT的平滑得多,权重共享对网络参数的稳定有一定的作用;尽管与BERT相比,两个指标都有所下降,但24层之后也不会收敛到0——解空间和DQE网络有很大不同

      image-20220415205054550
  • SOP:

    • 后续研究表明NSP不可靠——本文认为,NSP效果差的主要原因是,与MLM相比,其任务难度较低
    • NSP将主题预测和连贯预测结合到一个任务中,而主题预测比连贯性预测更容易学习,并且和MLM学习到的内容有更多重叠
    • SOP避免了主题预测,专注于对句子连贯性的建模。SOP以来自同一文档的两个连续段为正例,以二者的顺序颠倒为反例,迫使该模型学习更细粒度的话语层面的连贯性

模型set up

image-20220415210049305

实验结果

实验set up

  • 输入格式为[CLS]x[SEP]y[SEP]

  • 限制最大输入长度为512,10%为随机生成小于512的输入序列

  • 使用sentencepiece做tokenize(同XLNet)

  • 使用n-gram masking做MLM,n最大为3,n的概率为:

    image-20220415211215720
  • batchsize 4096

  • 使用LAMB优化器,学习率0.00176

评估benchmark

BERT与ALBERT的整体对比

image-20220415211437261

image-20220415210351438

消融实验