前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【论文阅读】ALBERT:A lite BERT for self-supervised learning of language representations

【论文阅读】ALBERT:A lite BERT for self-supervised learning of language representations

作者头像
EmoryHuang
发布2022-10-31 17:03:58
5250
发布2022-10-31 17:03:58
举报
文章被收录于专栏:EmoryHuang's Blog

【论文阅读】ALBERT: A lite BERT for self-supervised learning of language representations

Metadata

authors:: Zhenzhong Lan, Mingda Chen, Sebastian Goodman, Kevin Gimpel, Piyush Sharma, Radu Soricut container:: International conference on learning representations year:: 2019 DOI:: rating:: ⭐⭐⭐⭐ share:: false comment:: 针对BERT模型进行简化之后的ALBERT


前言

在 BERT 提出之后,各种大体量的预训练模型层出不穷,在他们效果不断优化的同时,带来的是巨大的参数量和漫长的训练时间。当然对于这个问题,也有大量的研究。ALBERT是谷歌在 BERT 基础上设计的一个精简模型,主要为了解决 BERT 参数过大、训练过慢的问题。

Overview

整体模型的架构还是与 BERT 相同,使用 Transformer encoder 和 GELU 激活函数,与 BERT 相比 ALBERT 主要做了如下三点改变:

A Lite BERT (ALBERT)使用了两种减少参数的方法来降低模型大小和提高训练速度:

  • Factorized embedding parameterization:Embedding 分解
  • Cross-layer parameter sharing:参数共享

除此之外,论文将 BERT 中的Next Sentence Prediction (NSP)问题修改为Sentence-order Prediction (SOP),并引入了一个新的损失函数:

  • Inter-sentence coherence loss

但是 ALBERT 的层数并未减少,因此推理时间(Inference Time)还是没有得到改进。不过参数减少的确使得训练变快。

模型架构

Factorized embedding parameterization

论文发现,在 BERT 以及后续提出的 XLNet 和 RoBERTa 这些预训练模型中,都将

(embedding size)和

(hidden size)绑定,例如

。然而在实际的自然语言处理任务中

(vocabulary size)都是一个较大的值,如果

那么当

增大时,

也需要增大,这也将导致最终的参数量

变得非常大。因此作者在 ALBERT 中将

进行了解绑。

具体来说,论文将 Embedding 的参数分解为两个较小的矩阵,即先将 one-hot 投影到大小为EEE的低维嵌入空间,再将其投影到隐藏空间。通过这样的操作之后,

永远不会改变,如果

增大,也只需要进行一个简单的变换即可。参数规模从

减少到

,可以显著减少参数量,在

时尤其明显。

从实验数据来看,与同等级的 BERT 模型相比,ALBERT 确实更为轻量,在保证一定准确度的同时,训练速度大大提高。

Cross-layer parameter sharing

在传统 Transformer 中,每一层的参数都是相互独立的,这也意味着随着模型层数的加深,参数量也会明显上升。作者尝试将所有的参数进行共享,这使得多层的 Attention 实际上变成了一层 Attention 的叠加。

作者也通过对比实验发现,共享 Feed Forward 层参数会对精度带来较大的影响,而共享 Attention 层参数的影响则较小。

另外一方面,作者通过比较每一层输入和输出的欧式距离和余弦距离发现,参数共享对模型的稳定性有一定帮助:

Inter-sentence coherence loss

在 BERT 中,作者引入了一个二分类问题,预测下一个句子,Next Sentence Prediction (NSP)。但是在 XLNet 和 RoBERTa 论文中均阐明了 NSP 的无效性,认为其对下游的任务并不可靠。作者任务 NSP 失效的主要原因是缺乏难度。

原本 NSP 是来预测一个句子是不是另一个句子的下一个句子。这个任务的问题出在训练数据上面,正例就是用的一个文档里面连续的两句话,但是负例使用的是不同文档里面的两句话。这就导致这个任务包含了主题预测在里面,而主题预测又要比两句话连续性的预测简单太多。

NSP 的本质是topic predictioncoherence prediction,相对来说 topic prediction 更加容易学习,而且也与使用 MLM 损失学习到的内容有更多的重叠。

针对这个问题,ALBERT 提出了另一个任务 Sentence-order Prediction (SOP)。在 SOP 中,正样本与 NSP 中相同,负样本交换两句话的顺序

代码语言:javascript
复制
Positive example
Input = [CLS] the man went to [MASK] store [SEP]
		he bought a gallon [MASK] milk [SEP]
Label = IsNext

Negative example
Input = [CLS]he bought a gallon [MASK] milk [SEP]
		the man went to [MASK] store [SEP]
Label = NotNext

总结

总体来说,ALBERT 确实在很大程度上减少到了模型参数,加快了训练,虽然对于推理时间并没有改进,虽然 xxlarge 版本的参数还是非常大。

参考资料

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-06-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 【论文阅读】ALBERT: A lite BERT for self-supervised learning of language representations
    • 前言
      • Overview
        • 模型架构
          • Factorized embedding parameterization
          • Cross-layer parameter sharing
          • Inter-sentence coherence loss
        • 总结
          • 参考资料
          相关产品与服务
          NLP 服务
          NLP 服务(Natural Language Process,NLP)深度整合了腾讯内部的 NLP 技术,提供多项智能文本处理和文本生成能力,包括词法分析、相似词召回、词相似度、句子相似度、文本润色、句子纠错、文本补全、句子生成等。满足各行业的文本智能需求。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档