深入理解深度学习——BERT派生模型:ALBERT(A Lite BERT)

这篇具有很好参考价值的文章主要介绍了深入理解深度学习——BERT派生模型:ALBERT(A Lite BERT)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

分类目录:《深入理解深度学习》总目录


预训练语言模型的一个趋势是使用更大的模型配合更多的数据,以达到“大力出奇迹”的效果。随着模型规模的持续增大,单块GPU已经无法容纳整个预训练语言模型。为了解决这个问题,谷歌提出了ALBERT,该模型与BERT几乎没有区别,但其所占用的显存空间可以减少至BERT的十分之一乃至更少,方便了预训练语言模型的训练与部署。为了不大幅降低模型的性能,相比BERT,ALBERT有如下几点改进:

  • Embedding层低秩分解。
  • 跨层参数共享。
  • 使用SOP(Sentence Order Prediction)训练方法代替NSP训练方法

Embedding层低秩分解是为了固定Embedding层的参数规模,使其不随模型的增大而增大。跨层参数共享则让模型只记住一个Transformer Block的参数,就可以还原整个模型,大大减少了参数存储的空间,是ALBERT效果如此突出的最重要原因。NSP训练方法已经被诸多模型证明没有效果,故ALBERT采用了SOP训练方法,并用实验证明其有效。

算法细节

Embedding层低秩分解

设Embedding层的输出向量维度为 E E E,隐层向量(Transformer Block的输入/输出向量)维度为 H H H,模型词表大小为 V V V。在BERT中,一般默认 E E E H H H一致,即Embedding层的输出直接作为Transformer Block层的输入。Embedding层只是一个静态映射,词的向量化过程不涉及上下文信息,因此Embedding层的输出维度 E E E没有必要随着 H H H的增大而增大,保持在一定规模即可,以免造成参数冗余。具体而言,ALBERT在固定 E E E之后,引入了一个变换矩阵,该矩阵的作用就是将维度为E的Embedding层输出向量变换为维度为 H H H的向量,以便输入至Transformer Block模块。在数学上,这个变换可以视为如下因式分解操作:
V × H = V × E × H V\times H=V\times E\times H V×H=V×E×H

从参数量的角度看,参数规模从BERT的 O ( V × H ) O(V\times H) O(V×H)下降到ALBERT的 O ( V × E + E × H ) O(V\times E+E\times H) O(V×E+E×H)。以BERT为例,词表的大小 V V V为30000,隐层向量维数 H H H为768,光是Embedding层就需要2304万个参数,而ALBERT固定Embedding层输出维数 E E E为128,可以计算得到ALBERT的Embedding层只需要约394万个参数,只有BERT的六分之一。若BERT继续横向扩大, H H H变为2048乃至4096,则ALBERT节省参数空间的特性将更明显,可以达到更大的压缩比。

跨层参数共享

ALBERT采用了Transformer Block层参数共享的方法来减少模型的存储参数量。为了寻找最佳的参数共享方案,ALBERT做了大量实验,分别探究了以下几种情况下的模型性能:

  • 所有层的所有参数均共享。
  • 只共享Multi-Head Attention层参数。
  • 只共享Feed Forward层参数。
  • 每M层为一组,组内共享所有参数。

实验结果如下图所示,ALBERT-base在只共享Multi-Head Attention层参数时可以取得最好的效果,几乎没有任何负面影响,甚至在某些任务上还能有增益。可惜的是,Multi-Head Attention层参数并不是ALBERT-base的主要参数部分,即参数存储空间压缩力度不够。所有层的参数都共享和只共享Feed Forward层参数,均有性能上可控范围内的损失,但是压缩力度很强。对于每 M M M层一组的共享方法,实验结果表明, M M M越小,性能越好(当 M M M为1时为不共享),但是参数压缩力度也越小。
深入理解深度学习——BERT派生模型:ALBERT(A Lite BERT)
最终,ALBERT选择了“性价比”最高的共享所有层参数的方案,牺牲了一定的性能,换来了极大的参数存储空间压缩比。

SOP训练方法

SOP与NSP一样,也是一种以句对分类标签为训练目标的训练方法,其与NSP的差别在于负样本的选取。SOP挑选正样本的方式与NSP一样,均为连续的两个句子,但与NSP随机挑选毫无语义关系的句子作为负样本不同,SOP将正样本的两个句子交换位置,作为负样本。为了证明SOP训练方法的有效性,ALBERT也做了一组对比实验,分别探究了只使用MLM训练方法、使用“MLM+NSP”训练方法和使用“MLM+SOP”训练方法的性能对比,如下图所示。实验结果表明,在二分类任务中,额外使用SOP训练方法得到的模型在NSP任务上表现较好(78.9%的准确率),而额外使用NSP训练方法得到的模型在SOP任务上表现得一般(52.0%的准确率)。在各项任务的平均准确率上,使用NSP与不使用NSP训练方法的模型基本一致,而使用SOP训练的模型会略胜一筹。
深入理解深度学习——BERT派生模型:ALBERT(A Lite BERT)
综上所述,ALBERT对Embedding层和Transformer Block层分别使用了低秩分解和参数共享的方法,大大减少了参数存储空间,使得一个超大模型可以顺利地在单块GPU上训练与部署。值得一提的是,ALBERT减少的是参数的存储空间,并没有减少模型在训练及推理过程中的计算量。在训练过程中,由于需要梯度更新的参数大大减少,训练速度有所加快,但是在下游任务达到同样表现时,ALBERT的计算量远超参数更大的BERT,导致其推理速度更慢。虽然ALBERT没有减少整体的运算量,但是在模型与训练数据规模与日俱增的“军备”竞赛中,参数共享是一个非常值得重视的工作。未来,配合蒸馏等方法,其模型参数压缩比和性能会更好。

参考文献:
[1] Lecun Y, Bengio Y, Hinton G. Deep learning[J]. Nature, 2015
[2] Aston Zhang, Zack C. Lipton, Mu Li, Alex J. Smola. Dive Into Deep Learning[J]. arXiv preprint arXiv:2106.11342, 2021.
[3] 车万翔, 崔一鸣, 郭江. 自然语言处理:基于预训练模型的方法[M]. 电子工业出版社, 2021.
[4] 邵浩, 刘一烽. 预训练语言模型[M]. 电子工业出版社, 2021.
[5] 何晗. 自然语言处理入门[M]. 人民邮电出版社, 2019
[6] Sudharsan Ravichandiran. BERT基础教程:Transformer大模型实战[M]. 人民邮电出版社, 2023
[7] 吴茂贵, 王红星. 深入浅出Embedding:原理解析与应用实战[M]. 机械工业出版社, 2021.文章来源地址https://www.toymoban.com/news/detail-498351.html

到了这里,关于深入理解深度学习——BERT派生模型:ALBERT(A Lite BERT)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 深入理解深度学习——BERT(Bidirectional Encoder Representations from Transformers):BERT的结构

    分类目录:《深入理解深度学习》总目录 相关文章: · BERT(Bidirectional Encoder Representations from Transformers):基础知识 · BERT(Bidirectional Encoder Representations from Transformers):BERT的结构 · BERT(Bidirectional Encoder Representations from Transformers):MLM(Masked Language Model) · BERT(Bidirect

    2024年02月11日
    浏览(52)
  • 深入理解深度学习——BERT(Bidirectional Encoder Representations from Transformers):基础知识

    分类目录:《深入理解深度学习》总目录 相关文章: · BERT(Bidirectional Encoder Representations from Transformers):基础知识 · BERT(Bidirectional Encoder Representations from Transformers):BERT的结构 · BERT(Bidirectional Encoder Representations from Transformers):MLM(Masked Language Model) · BERT(Bidirect

    2024年02月11日
    浏览(52)
  • 【深度学习】预训练语言模型-BERT

            BERT 是一种预训练语言模型(pre-trained language model, PLM),其全称是Bidirectional Encoder Representations from Transformers。下面从语言模型和预训练开始展开对预训练语言模型BERT的介绍。 1-1 语言模型         语言模型 :对于任意的词序列,它能够计算出这个序列是一句

    2023年04月08日
    浏览(69)
  • 【深度学习应用】基于Bert模型的中文语义相似度匹配算法[离线模式]

    配置文件夹 文件获取方法:  访问官网:https://huggingface.co/bert-base-chinese/tree/main 下载以下文件 

    2024年01月16日
    浏览(55)
  • 七篇深入理解机器学习和深度学习的读物推荐

    在这篇文章中将介绍7篇机器学习和深度学习的论文或者图书出版物,这些内容都论文极大地影响了我对该领域的理解,如果你想深入了解机器学习的内容,哪么推荐阅读。 在自然语言处理和序列建模领域,Vaswani等人的一篇论文《Attention Is All You Need》彻底改变了这一领域。这

    2024年02月07日
    浏览(40)
  • 深入理解深度学习——正则化(Regularization):Dropout

    分类目录:《深入理解深度学习》总目录 Dropout供了正则化一大类模型的方法,计算方便且功能强大。在第一种近似下,Dropout可以被认为是集成大量深层神经网络的实用Bagging方法。Bagging涉及训练多个模型,并在每个测试样本上评估多个模型。当每个模型都是一个很大的神经

    2024年02月09日
    浏览(38)
  • 深入理解深度学习——正则化(Regularization):数据集增强

    分类目录:《深入理解深度学习》总目录 让机器学习模型泛化得更好的最好办法是使用更多的数据进行训练。当然,在实践中,我们拥有的数据量是很有限的。解决这个问题的一种方法是创建假数据并添加到训练集中。对于一些机器学习任务,创建新的假数据相当简单。对分

    2024年02月16日
    浏览(34)
  • 深入理解深度学习——Transformer:编码器(Encoder)部分

    分类目录:《深入理解深度学习》总目录 相关文章: ·注意力机制(AttentionMechanism):基础知识 ·注意力机制(AttentionMechanism):注意力汇聚与Nadaraya-Watson核回归 ·注意力机制(AttentionMechanism):注意力评分函数(AttentionScoringFunction) ·注意力机制(AttentionMechanism):Bahda

    2024年02月08日
    浏览(62)
  • 深入理解深度学习——Transformer:解码器(Decoder)部分

    分类目录:《深入理解深度学习》总目录 相关文章: ·注意力机制(Attention Mechanism):基础知识 ·注意力机制(Attention Mechanism):注意力汇聚与Nadaraya-Watson核回归 ·注意力机制(Attention Mechanism):注意力评分函数(Attention Scoring Function) ·注意力机制(Attention Mechanism):

    2024年02月10日
    浏览(50)
  • 深入理解深度学习——正则化(Regularization):参数绑定和参数共享

    分类目录:《深入理解深度学习》总目录 目前为止,我们讨论对参数添加约束或惩罚时,一直是相对于固定的区域或点。例如, L 2 L^2 L 2 正则化(或权重衰减)对参数偏离零的固定值进行惩罚。然而,有时我们可能需要其他的方式来表达我们对模型参数适当值的先验知识。

    2024年02月07日
    浏览(68)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包