资讯详情

Transformer-based模型的综述:AMMUS : A Survey of Transformer-based Pretrained Models in NLP

论文地址: https://arxiv.org/abs/2108.05542

1 导言

  • 预训练的来源
    • 起初,基于规则的学习被机器学习所取代
    • 早期机器学习需要特色工程和专业知识
    • 类似于硬件和词嵌入的发展CNN、RNN出现了深度学习模型
      • 问题:除了嵌入词外,还需要从头开始训练模型标记实例多,成本高
      • 然后我们希望尽可能少地标记少量的训练步骤
    • 灵感来源于迁移学习(允许重用在源任务中学到的知识,以便在目标任务中很好地实施):
      • 使用大规模标记数据集ImageNet[20],[21])训练大型CNN模型。在所有任务中学习这些模型通用的图像表示法。大型的预先训练的CNN包括几个模型特定于任务层适应下游任务,然后在目标数据集上执行微调。因为提前训练CNN该模型为下游模型提供了良好的服务背景知识,他们在许多CV任务都取得了巨大的成功。
    • CNN和RNN长期依赖问题---->Transformer:更好的并行化和长程建模
      • T-PTLM(Transformer-based Pretrain Training Language Model)也支持迁移学习,因为这些模型可以通过微调或即时调整目标数据集来适应下游任务

2 自监督学习 SELF-SUPERVISED LEARNING (SSL)

  • 自我监督学习是一种新的学习范式,因为它可以使用未标记关于语言、图像或语音的数据universal knowledge在人工智能中注入预训练模型(AI)研究界得到了广泛的关注

2.1 为什么SSL

  • 监督学习的问题使其陷入瓶颈(bottleneck)
    • 严重依赖人工标记的例子,生成成本高,耗时长
    • 缺乏泛化能力,存在虚假相关性(spurious correlations)
    • 许多领域,如医疗和法律,缺乏数据,限制了人工智能模型在这些领域的应用
    • 无法从大量可免费获得的未标记数据中学习

2.2 什么是SSL

  • 定义
    • 自监督学习(Self-Supervised Learning,SSL)是一种新的学习范式,它是基于训练前任务提供的伪监督,帮助模型学习普通知识
    • ??=??1,??1,…,???,???培训损失为:
      • LSSL=λ1LPT?1 … λmLPT?m, 其中λ,LPT?i分别分为权值和损失函数
  • 使用SSL预训练大量未标记的数据有助于模型获得基本常识或背景知识。没有这些常识或背景知识,模型需要更多的标记实例来获得良好的性能
  • 与无监督学习相比
    1. 需要监督
    2. 目的:无监督是识别隐藏模式SSL学习是有意义的表现
  • 对比监督学习
    1. 自动生成标签
    2. 目的:监督学习是提供特定领域的知识,SSL提供一般知识
  • SSL的目的:
    • 学习语言的一般表达为下游任务提供背景知识
    • 学习大量免费未标记的文本数据,提高泛化能力

2.3 SSL的类型

  • Generative SSL 生成式
    • 通过输入解码编码来学习
    • 使用自回归(autogressive)、自编码(autoencoder)或混合(hybrid)语言模型
      • 自回归语言模型的依据前一个token预测下一个token
      • GPT-1[1]是第一个基于自回归语言模型的PTLM。语言模型自动编码基于未屏蔽token(双向上下文)预测被屏蔽token。例如,MLM包括两个步骤。第一步是使用双向上下文的掩码token进行编码,第二步是基于编码的掩码token表示对原始token进行解码(预测)。像Bert[2]、Roberta[4]和Albert[7]使用此类模型MLM提前训练。
      • 混合语言模型结合了自回归语言模型和自动编码语言模型的优点。XLNet[3]替换语言建模(permutation language modelling,PLM)这是混合语言模型的一个例子。
  • Contrastive SSL 对比式
    • 模型在比较中学习。BERT中的NSP和Albert语序预测是对比句法预测的两个例子。NSP确定给定的句子是否是连续句,SOP(sentence order prediction)是否交换句子涉及识别给定句子。
  • Adversarial SSL 对抗式
    • 通过识别输入句子的模型标记是否被替换、打乱或随机替换。ELECTRA[5]替换令牌检测(Replaced token detction,RTD)、混洗令牌检测(shuffled token detection,STD)[55]和随机令牌替换(random token substitution,RTS)[56]是对抗性SSL的示例。有关SSL和类型的详细信息,请参阅关于SSL的综述[49]。

3 T-TPLM核心概念

3.1 预训练

  • 在大量未标记文本上进行预训练,然后在小的特定于任务的数据集上进行微调,已经成为现代自然语言处理中的一种标准方法。
  • 优势:
    • 利用大量未标记的文本学习通用语言表示
    • 提供良好的初始化,避免了从头开始训练下游模型(特定于任务的层除外):只需添加一到两个特定的层,就可以使预先训练的模型适应下游任务。
    • 在小数据集的情况下也可以帮助模型更好地执行,从而减少了对大量已标记实例的需求。
    • 由于预训练提供了良好的初始化,它避免了对小数据集的过拟合,因此预训练可以被视为正则化的一种形式

3.1.1 预训练步骤(5个)

  1. 准备语料库
    • 从一个或多个未标记文本源获得的,然后进行清理。
    • BERT[2]模型在英文维基百科和图书语料库上进行了预训练。
    • 进一步的研究[3],[4],[6]表明,在从多个来源获得的更大的文本语料库上对模型进行预训练进一步提高了模型的性能。
    • 此外,Lee et al。[58]结果表明,训练前语料库中存在大量的冗余性,主要表现为 句子近似重复 和 长子串重复,该模型在去重语料库上进行预训练只需要较少的训练步骤就可以达到相似的性能。
  2. 生成词表
    • 大多数基于转换器的预训练语言模型使用诸如WordPiess[59]、Byte Pair Encoding(BPE)[60]、Byte Level BPE(BBPE)[61]和SentencePiess[62]这样的标记器来生成词汇表。
    • 通常,词汇由所有独特的字符和常用的子词和单词组成。通过在预训练语料库上应用任一标记器来生成词汇表。不同的T-PTLM使用不同的标记器,并生成不同大小的词汇表。
    • 例如,Bert使用大小约为30K的WordPiess词汇表,Roberta使用大小约为50K的BBPE词汇表,XLM[63]使用大小为95K的BPE词汇表,mBERT[2]大小为110K的WordPiess词汇表,XLM-R[64],以及mBART[65]使用大小为250K的SentencePiess词汇表。
    • XLM、XLM-R、mBERT和mBART等多语言模型中的大词汇量是有意义的,因为它们必须表示多语言。然而,预训练模型的大小随着词汇大小的增加而增加。
    • 在基于字符的T-PTLM(如CharacterBERT[66])和无标记化的T-PTLM(如Canine[67]、ByT5[68]和Charformer[69])的情况下,该步骤是可选的。
  3. 设计预训练任务
    • 在预训练过程中,模型基于一个或多个预训练任务,通过最小化损失来学习语言表示
    • 预训练任务的要求
      1. 要具有足够的挑战性,使模型能够学习单词、短语、句子或文档级别的语义。例如,最近的研究工作[4]、[7]对NSP任务的效率提出了质疑,并导致了新的预训练任务来学习句子层面的语义,如句子顺序预测[7]和句子结构预测[70]
      2. 提供更多的训练信号,使模型在较少的预训练语料库的情况下学习更多的语言信息。例如,与MLM相比,RTD提供了更多的训练信号,因为RTD是在所有输入token上定义的,而MLM只在token的子集上定义[5]。
      3. 接近下游任务。例如,spanBERT[71]中的跨度边界预训练任务接近于跨度提取任务,PEGAUSUS[9]中的空位语句生成接近于摘要任务。最近的研究工作产生了更好的MLM版本,如交换语言建模[56],它避免了使用特殊的掩码标记,从而减少了预训练和微调之间的差异
  4. 选择预训练方法
    • 仅使用SSL从头开始培训新模型的成本非常高,并且会消耗大量的预培训时间。
    • 可以使用KIPT[72]、[73]等预训练方法,它们同时使用SSL和KD来预先训练模型,而不是仅使用SSL从零开始训练。
    • 在将一般模型调整到特定领域的情况下,可以使用预训练方法,如使用新词汇的连续预训练[74]-[77]或适应和提取[78]。为了用有限的领域特定语料库预先训练特定领域的模型,可以使用同时利用通用语料库和领域内语料库的预训练[79]。
  5. 选择预训练动态(pretraining dynamics)
    • BERT模型是在小批量静态masking的句子对上进行预训练的。[4]结果表明,精心设计的预训练选项,如动态掩蔽、大批量、更多的预训练步骤和长输入序列,进一步提高了模型的性能。此外,当使用可能导致优化困难的大批量时,建议a)在早期的预训练步骤中线性提高学习率(类似warm up策略),b)在不同的层使用不同的学习率,这也有助于加快收敛

3.1.2 预训练语料库

  • 分为四类,不同类别有不同的特征
    • general: 噪音更少,有专业人士撰写
    • social media:噪音最多,一般公众口语化的文字
    • domain special:许多特定的领域,如生物医学和金融,包含了许多在一般领域中没有使用的特定领域的词。一般说来,一般领域模型在领域特定任务中的性能是有限的[45]。因此,我们必须根据目标领域来选择预训练语料库,才能达到较好的效果。
    • language based:单语、多语、平行
  • BERT模型是使用维基百科和图书语料库中的文本进行预训练的,总容量为16 GB[2]。进一步的研究工作表明,使用较大的预训练数据集可以提高模型的性能[3]、[4]。这引发了更大数据集的开发,特别是从常见的爬虫。例如,C4数据包含大约750 GB的文本数据[6],而CC-100语料库包含大约2.5TB的文本数据[64]。多语言T-PTLM(如mBERT[2]、IndT5[87]、IndoBART[88]和XLMR[64])仅使用多语言数据集进行预训练。一些模型,如XLM[63]、XLM-E[89]、infoXLM[90]和MT6[91]都使用多语言和并行数据集进行了预先训练。表1和表2给出了各种预训练语料库的摘要。

3.2 预训练方法的类型

3.2.1  Pretraining from Scratch (PTS) 从头开始预训练

  • Bert、Roberta、Electra和T5对大量未标记文本进行了从头开始的预训练
  • 通常,任何基于Transformer的预训练语言模型都由嵌入层、转换器编码器或(与)转换器解码器层组成。所有这些层参数都是随机初始化的,然后在预训练期间通过最小化一个或多个预训练任务的损失来学习。例如,使用MLM和NSP从头开始训练BERT模型。从头开始的预训练计算成本很高,并且需要大量的GPU或TPU。

3.2.2 Continual Pretraining (CPT) 持续预训练

  • 使用现有的语言模型参数来初始化参数,然后通过进一步的预训练使其适应目标领域(参见图4)。
    • 举例:BioBERT[45]、AleaseBERT[32]、Tod-Bert[40]、HateBERT[81]、infoXLM[90]和XNLG[106]。例如,infoXLM是从XLM-R[64]中初始化的,并且在单语和并行数据上进行进一步的预训练;ALeaseBERT是从一般的Albert中初始化的,并且进一步在lease agreements上进行预训练;XLM[63]参数被用于在XNLG中对编码层和解码层进行初始化。
    • CPT通常用于开发特定领域的T-PTLM,如社交媒体[81]、[111]、[112]、生物医学[45]、法律[32]、新闻[34]、计算机网络[41]等。
  • CPT的主要优点是避免从头开始训练模型,并利用现有的语言模型参数。由于CPT从现有的模型参数出发,与PFS相比,它的代价更低,需要的训练时间和计算资源更少。
  • 然而,当目标领域由许多领域特定的单词组成时,缺乏目标领域特定的词汇是CPT的一个缺点。
    • 例如,BioBERT[45]是从一般的BERT初始化的,并且进一步在生物医学文本上进行预训练。虽然语言模型适用于生物医学领域,但在一般领域文本中学习的词汇并不包括许多特定于领域的单词。结果,特定领域的单词被分成多个子词,这阻碍了模型学习,并降低了其在下游任务中的性能。同样,mBERT支持100多种语言,其词汇表(110K)中特定于一种语言的标记数量较少。
    • 一种可能的解决方案是使用目标领域或特定语言的词汇进行CPT[75]-[77]。在目标域或语言文本上生成新的词汇表。在连续的预训练过程中,嵌入层被随机初始化,所有其他层参数被现有的语言模型参数初始化。
      • 例如,Rubert[74]、PortueseBERT[75]、SlavicBERT[76]等模型是从mBERT初始化的,但进一步使用特定于语言的词汇进行预训练。同样,PPT5[77]是从T5模型初始化的,但进一步用语言特定的词汇进行预训练。然而,通过不断地对新词汇进行预训练得到的模型的性能略逊于从零开始训练的模型的性能,但与PTS模型的性能相当。由于CPT的计算成本较低,在资源受限的情况下,使用新词汇的CPT可能比PTS更可取。
      • 最近,[78]提出了一种通过词汇量扩展和知识提炼使通用模型适应特定领域的改编和抽取方法。与现有的自适应方法不同的是,自适应和抽取方法不仅使一般模型适应特定领域,而且减小了模型的规模。
  • 对于CPT,不需要使用现有模型所使用的同一组预训练任务。例如,Bert-Sentix[83]模型是从Bert初始化的,并使用四个情感感知预训练任务进一步预训练产品评论。类似地,TOD-BERT[40]是从BERT初始化的,并使用MLM和反应对比损失(response contrastive loss, RCL)进一步在对话语料库文本上进行预训练。

3.2.3 Simultaneous Pretraining (SPT) 同步预训练

  • 领域特定的T-PTLM可以通过PTS从头开始训练或通过CPT持续的预训练来开发。这两种预训练方法都需要大量领域特定的未标记文本来预训练模型。然而,特定于领域的文本在许多领域中的可用性是有限的。此外,除英语以外的其他语言的特定领域文本仅有少量可用。例如,在生物医学领域,MIMIC-III[84]是最大的公开可用的(英文)医疗记录集。然而,很难获得如此大量的日语病历[79]。使用少量领域特定文本的PTS或CPT不适合该模型。同步预训练(SPT)允许模型使用同时具有一般文本和领域特定文本的语料库从头开始进行预训练[79](参见图5)。在这里,对特定于领域的文本进行上采样,以确保模型词汇中有大量的特定于领域的术语,并进行均衡的预训练。[79]结果表明,使用SPT进行预训练的日语临床BERT优于从头开始训练的日语临床BERT。

3.2.4 Task Adaptive Pretraining (TAPT) 任务自适应预训练

  • PTS、CPT和SPT等预训练方法允许模型通过对大量一般或领域特定或组合文本的训练来学习通用或领域特定的语言表示。由于所有这些方法都需要对大量文本进行训练,因此这些方法代价高昂。
  • 任务自适应预训练(TAPT)允许模型通过对少量任务特定的无标签文本[34]进行预训练,学习细粒度的任务特定知识以及领域特定知识[34](参见图6)。由于TAPT只需要少量的文本,与其他预培训方法相比,它的成本较低。其他与任务相关的句子可以使用轻量级方法从大型领域语料库中获得,比如 VAMPIRE[113],它使用简单的词袋语言模型嵌入所有句子。Gururangan等人。[34]结果表明,TAPT是对其他预训练方法的补充,即PTS/CPT,然后TAPT进一步提高了模型的性能。

3.2.5 Knowledge Inherited Pretraining (KIPT) 知识继承预训练

  • 前面讨论的所有预训练方法,如PTS、CPT、SPT和TAPT,都完全依赖于自监督学习来对模型进行预训练。仅使用SSL从头开始预先训练大型模型非常昂贵和耗时。一般说来,人类不仅在自学中学习,而且还从其他有知识的人那里学习。受此启发,[72]提出了知识继承预训练(KIPT),这是一种新的预训练方法,它同时使用自监督学习和知识提取对模型进行预训练(参见图7)。KIPT允许重用现有预训练模型中可用的知识来预训练新模型。
  • 𝐿𝐾𝐼𝑃𝑇=𝜎 ∗𝐿𝑆𝑆𝐿+1−𝜎∗𝐿𝐾𝐷其中𝐿𝐾𝐼𝑃𝑇代表KIPT的整体损失,𝐿𝑆𝑆𝐿和𝐿𝐾𝐷代表自我监督学习和知识提炼的损失。
  • KIPT在重用现有模型中的知识方面类似于KD。但它与KD有两个不同之处:
    • (A)在KD中,学生模型一般比教师模型小,而在KIPT中,学生模型比教师模型大;
    • (B)在KD中,学生模型只从教师模型中学习,而在KIPT中,学生模型除了从教师模型中获取知识外,还使用自监督学习来编码预训练语料库中可用的知识。通过向知识型教师模型学习,并结合自监督学习,该模型学习更多,收敛速度更快,这使得KIPT比只涉及自我监督学习的预训练方法更有效,成本更低。
  • 由于从知识渊博的教师模型获得的额外知识,使用KIPT训练的模型优于仅使用自我监督学习训练的模型[72]。此外,[72]结果表明,KIPT既支持终身学习,也支持知识转移。CPM-2[73]是第一个使用知识继承进行预训练的大规模预训练语言模型。

3.3 预训练任务

Casual Language Modeling (CLM)  / Unidirectional LM  因果语言模型

  • 根据上下文预测下一个单词
  • GPT-1是第一个使用从左到右CLM的模型
  • 𝑥={𝑥1, 𝑥2,…,xx}代表输入序列,CLM的𝐿𝑂𝑆𝑆可表示为:𝐿𝐶𝐿𝑀𝑥=−1𝑥𝑖=1𝑥𝑙𝑜𝑔⁡(𝑃(𝑥𝑖|𝑥<𝑖))

Masked Language Modeling (MLM)

  • CLM的主要缺点:无法同时双向上下文
  • 使用双向上下文来训练标准CLM是不可能的,因为它将允许token看到自己,这使得预测变得微不足道。
  • 将被屏蔽的token向量反馈到Softmax层,以获得词汇表上的概率分布,然后使用交叉熵损失。
  • 第一个使用:BERT
  • 𝐿M𝐿𝑀𝑥=−1𝑀𝑥𝑖∈𝑀𝑥log𝑃𝑥𝑖𝑥\𝑀𝑥, 𝑥\M𝑥为mask之后的𝑥,Mx为掩码token位置的集合

Replaced Token Detection (RTD)

  • 可以利用双向信息
  • MLM的两个问题
    • 训练的信号很少,只能学习15%的被mask的token
    • mask标记只出现在训练的过程中,这导致了训练和微调阶段的差异
  • RTD使用使用MLM目标训练的生成器模型的输出令牌来破坏句子。RTD是token级的二进制分类任务,涉及将每个令牌分类为替换或不替换。
  • 两步:
    • 使用MLM训练生成器模型
    • 从生成器模型初始化鉴别器模型,并用RTD目标进行训练
  • 𝐿𝑅𝑇𝐷𝑥=−1𝑥𝑖=1𝑥𝑙𝑜𝑔⁡(𝑃(𝑑|𝑥𝑖)), 𝑥为用MLM生成模型破坏后的版本,𝑑∈0,1 标志是否被替换

Shuffled Token Detection (STD)

  • 辨别token是否被shuffled
  • 优点:样本效率高、可以避免预训练和微调阶段的差异
  • 使用STD的连续预训练RoBERTa提高了它在许多GLUE任务中的表现,STD允许模型学习更连贯的句子表示。
  • 以15%的概率洗牌
  • 𝐿𝑆𝑇𝐷𝑥=−1𝑥𝑖=1𝑥𝑙𝑜𝑔⁡(𝑃(𝑑|𝑥𝑖))

Random Token Substitution (RTS)

  • RTD需要单独的生成器来破坏输入序列,计算上很昂贵
  • 识别15%被随机替代的词,不需要额外的生成器破坏输入序列
  • RoBERTa使用RTS和STD表现一致,但是时间更短
  • 𝐿RTS𝑥=−1𝑥𝑖=1𝑥𝑙𝑜𝑔⁡(𝑃(𝑑|𝑥𝑖))

Swapped Language Modeling (SLM)

  • MLM模型:mask标记只出现在训练的过程中,这导致了训练和微调阶段的差异
  • 以15%的概率随机替换token
  • 与MLM相同:预测损坏的令牌与;不同:SLM用随机令牌替换令牌。
  • 与RTS相同使用随机令牌进行破坏方面相似,不同:RTS涉及输入序列中的每个token,样本效率高,SLM样本效率低,仅涉及15%的输入token
  • 𝐿M𝐿𝑀𝑥=−1R𝑥𝑖∈𝑀𝑥log𝑃𝑥𝑖𝑥\𝑅𝑥

Translation Language Modeling (TLM)  /  cross-lingual MLM (XMLM)

  • MLM的拓展版本,使用跨语言的预训练
  • 第一个使用:XLM
  • 由于掩蔽标记的预测涉及两个句子的上下文,TLM帮助模型学习跨语言映射。
  • (𝑥,𝑦)为平行语料中的句子:𝐿𝑇𝐿𝑀(𝑥,𝑦)=−1𝑀𝑥𝑖∈𝑀𝑥𝑙𝑜𝑔𝑃𝑥𝑖𝑥\𝑀𝑥,𝑦𝑖𝑦\𝑀𝑦− −1𝑀𝑦𝑖∈𝑀𝑦𝑙𝑜𝑔𝑃𝑥𝑖𝑥\𝑀𝑥,𝑦𝑖𝑦\𝑀𝑦

Alternate Language Modeling (ALM)

  • 训练跨语言模型
  • 预测平行语句生成的语码转换语句(code-switched sentences, 随机用从y中翻过来的x的一些短语进行替换)中的掩蔽标记,可更好地学习语言之间的关系
  • 与MLM的设置相同
  • Yang等人[104]结果表明,使用ALM对跨语言模型进行预训练的效果优于XLM,这表明ALM是一种比TLM更好的跨语言模型预训练方法
  • 𝐿𝐴𝐿𝑀z(𝑥,𝑦)=−1𝑀𝑖∈𝑀𝑙𝑜𝑔𝑃𝑧𝑖|𝑧\M, 𝑧(𝑥,𝑦), 为从(𝑥,𝑦)中生成的mask version

Sentence Boundary Objective (SBO)

  • 基于跨度边界令牌和位置嵌入来预测被掩蔽的令牌
  • 与MLM的不同
    1. SBO只mask连续范围的token,而MLM随机
    2. SBO的预测涉及跨度边界token和位置嵌入,MLM只有位置嵌入
    3. 比MLM更难,因为需要预测一整个范围,eg.SBO预测“an American football”, MLM通过“an ______ football”预测American
  • SBO有助于模型在下游任务中更好地执行,如实体提取、共指关系解析和涉及基于SPAN的提取的问题解答。
  • 𝐿𝑆𝐵𝑂𝑥=−1𝑆𝑖∈𝑆𝑙𝑜𝑔⁡𝑃(𝑥𝑖/𝑦𝑖)
    • 𝑦𝑖=𝑓(𝑥𝑠−1, 𝑥𝑒+1, 𝑝𝑠−𝑒+1),𝑓()为两层的前馈神经网络
    • 𝑆代表被掩码的连续token的位置, 𝑠,𝑒是连续范围的起始和结束,𝑝为位置嵌入

Next Sentence Prediction (NSP)

  • 句子级,使模型学习句子级的关系
  • 两个句子(x,y)判断是否连续,[CLS]令牌向量被赋予Sigmoid层以获得概率。对于训练,生成句子对的方式是50%的实例是连续的,其余的不是连续的。
  • 下游任务:问答、NLI和STS
  • 𝐿𝑁𝑆𝑃𝑥,𝑦=−𝑙𝑜𝑔𝑃(𝑑|𝑥,𝑦),𝑑∈0,1

Sentence Order Prediction (SOP)

  • As topic prediction is easier, the effectiveness of NSP is questioned
  • 第一个使用:ALBERT
  • 它涉及到识别给定的句子是否互换(50%交换)
  • 𝐿SOP𝑥,𝑦=−𝑙𝑜𝑔𝑃(𝑑|𝑥,𝑦),𝑑∈0,1

Sequence-to-Sequence LM (Seq2SeqLM)

  • MLM的扩展,预训练transform based的模型:T5 [6], mT5 [99] and MASS [114]
  • 在Seq2SeqLM中,上下文包括输入掩码序列中的所有单词和预测目标序列中的左侧单词。利用掩码序列作为编码器的输入,解码器从左到右顺序预测掩码字。
  • 𝐿𝑆𝑒𝑞2𝑆𝑒𝑞𝐿𝑀𝑥=−1𝑙𝑠𝑠=𝑖𝑗𝑙𝑜𝑔𝑃(𝑥𝑠|𝑥,𝑥𝑖:𝑠−1),𝑥为x的掩码版本(n-gram跨度maked的𝑥),𝑙𝑠为n-gram的长度

Denoising Auto Encoder (DAE)

  • 从损坏文本中重建原始文本
  • 文本可能在令牌(例如,令牌删除和令牌掩蔽)、短语(例如,令牌填充)、句子(例如,句子排列)或文档级(例如,文档轮换)被破坏
  • 与Seq2SeqLM相同:也可以用来训练encoder-decoder-based模型,差别:DAE通过为模型学习提供更多训练信号来提高样本效率。DAE提供更多训练信号,因为它涉及重建整个原始文本,而Seq2SeqLM仅涉及重建掩码标记。
  • BART[8]使用双向编码器对损坏的输入序列进行编码,并使用从左到右解码器重新创建原始文本。BART的作者对各种损坏策略进行了实验,最后利用句子置换和文本填充对该模型进行了训练。
  • 𝐿DAE𝑥=−1|𝑥|𝑖=1|𝑥|𝑙𝑜𝑔𝑃(𝑥𝑖|𝑥,𝑥<𝑖)

3.4 Embeddings

  • 包括Transformer在内的深度学习模型需要数字输入,输入文本应该映射到一系列密集的低维向量(在自然语言处理中通常称为嵌入)
  • 字符和sub_words嵌入优于字嵌入
    1. 词汇表更小
    2. 可以表示所有单词,可解决OOV问题
    3. 可以表示细粒度信息(fine-grained information)
  • 除了使用嵌入表示输入数据外,还需要附加信息,如位置、语言等。分类:
    • 主嵌入(输入数据)
    • 辅助嵌入(向模型提供附加信息)

3.4.1 main Embeddings

  • 以密集的低维向量表示输入数据
  • 主要为词序列,但在领域特定模型中,如BERT-EHR [117], MedBERT [118],BEHRT [119] ,输入为医学代码(medical codes),在电子健康记录(electronic health records (EHRs))的医学文本上预训练

text embeddings

  • 字符嵌入(CharacterBERT [66],AlphaBERT [120])、sub_word嵌入、字符和sub_word结合的嵌入(CharBERT [121])
  •  像BERT、RoBERTa、XLNet、T5和BART这样的模型使用sub_word嵌入,但在这些模型中用于生成词汇表的tokenizer是不同的

Character Embeddings

  • 将每一个字符映射到低维向量
  • 字符嵌入的词汇表包括所有字符,如字母、符号、标点符号和数字
  • 一旦词汇表最终确定,词汇表中每个字符的嵌入将随机初始化,然后在模型预训练期间学习
  • 两种使用字符嵌入的方法
    1. 从字符嵌入生成字符级单词表示,然后应用一系列Transformer层对上下文信息进行编码
      1. CharacterBERT[66]使用基于CharCNN和highway层的字符编码器从字符嵌入中生成细粒度单词表示[122]
    2. 上下文字符串嵌入。没有显式单词的概念,输入文本被建模为一系列字符
      1. AlphaBERT[120],Transformer层直接应用于字符嵌入
      2. CharBERT[121],Transformer层在字符嵌入上应用BiGRU之后应用。BiGRU在字符级别处理输入,并生成上下文化的字符嵌入[124]

Sub-Word Embeddings

  • 子词嵌入的词汇包括字符、频繁出现的子词和单词
  • WordPiece[59]、字节对编码(BPE)[60]、字节级BPE(bBPE)[61]、Unigram[125]和SentencePiece[62]
  • 除了Unigram之外,像WordPiece、BPE、bBPE这样的标记器通过从只包含字符的基本词汇表开始生成词汇表,并迭代地增加词汇表,直到达到预定义的大小
    • BPE根据频繁选择要包含在词汇表中的新符号对
    • WordPiece则根据语言模型概率选择要包含在词汇表中的新符号对
    • bBPE与BPE相同,只是它将每个字符表示为一个字节
    • Unigram从一个较大的词汇表开始,然后通过迭代切割字符(与BPE和WordPiece中的情况完全相反)来获得预定义大小的词汇表
    • 像WordPiece和BPE这样的标记化程序在输入文本中假设空格作为单词分隔符,但并非在所有情况下都是如此。为了克服这一点,SentencePiece标记器将空格视为字符,然后使用BPE或Unigram生成词汇表
  • 词汇的大小必须仔细选择
    • 太小的词汇量会导致较长的输入序列,因为更多的单词会被分割成许多子单词,这会阻碍模型学习并增加训练前的时间
    • 太大的词汇表表示使用单个标记的单词更多,但会增加模型的整体大小[126]
    • 但是,对于mBERT、XLM和XLM-R等多语言模型,需要有大量词汇表来容纳更多语言
  • 一旦词汇表被生成,词汇表中的每个标记都会被分配一个随机初始化的嵌入,然后在模型预训练期间学习

Hybrid Embeddings

  • CharBERT[121]同时使用字符和子单词嵌入,使用基于双通道CNN的交互模块来模拟字符和子单词嵌入之间的交互

Code Embeddings

  • 医学领域,每个概念(疾病、药物、症状等)都使用本体中的标准代码表示。
  • 患者就诊期间的所有信息都使用EHR中的医疗代码表示。生物医学领域中的预训练语言模型,如BERTEHR[117]、MedBERT[118]和BEHRT[119]期望一系列医学代码作为输入。
  • 这些医疗代码的嵌入在模型预训练期间随机初始化和学习。

3.4.2 Auxiliary Embeddings

  • 提供附加信息,每种辅助嵌入都有其目的
  • 在辅助嵌入中,位置和段嵌入是常用的,而其他嵌入则用于特定的预训练语言模型

Position Embeddings

  • CNN和RNN潜在地学习了位置信息,因此不需要位置嵌入
    • 在CNN中,卷积运算是在固定大小的窗口级别而不是字符或字级别执行的,因此它也会自动学习顺序
    • RNN输入有顺序
  • 位置嵌入可以是绝对[2]、[4]、[5]、[117]或相对[3]
  • BERT、RoBERTa、ELECTRA绝对位置嵌入与模型的其他参数一起学习;BERT-EHR[117]和BEHRT[119]绝对位置嵌入是预先确定的,用于处理患者序列长度的不平衡

Segment Embeddings

  • 在句子对任务的情况下,该模型同时接受两个输入句子。使用段嵌入来区分两个输入句子的标记
  • 对于输入句子中的不同标记,位置嵌入是不同的,但是对于每个输入句子中的所有标记,段嵌入是相同的

Language Embeddings

  • 语言嵌入用于明确告知模型输入句子的语言
  • 跨语言预训练语言模型,如XLM[63]、Unicoder[103]和XNLG[106]
  • XLM等模型
    1. 100种语言的单语文本数据的MLM和
    2. 使用并行数据的TLM进行预训练
  • 在涉及一种语言的句子的MLM中,语言嵌入对于输入句子中的所有标记都是相同的
  • 在TLM涉及两种不同语言的一对句子的情况下,对于一个句子中的所有标记,语言嵌入将是相同的,但不同于另一个
  • XLM-R[64]模型中没有使用语言嵌入,以使模型能够更好地处理代码替换

Entity Type Embeddings

  • OAG-BERT[42]、SciBERT[43]等学术语言模型。在学术文本语料库上预训练的
  • 与SciBERT不同的是,OAG-BERT只对学术文本进行预训练,并在学术文本中添加关于各种实体的信息,如论文、出版地点、作者隶属关系、研究领域和作者
  • 在预训练期间,通过实体类型嵌入向模型提供有关各种实体的信息

Age and Gender Embeddings

  • BEHRT[119]和BERT-EHR[117]等医学预训练模型中,输入是一个患者就诊序列,其中每个患者就诊都表示为一个医疗代码序列
  • 除了模型代码外,提供诸如年龄和性别等附加信息也很有用。例如,每个患者的就诊时间不同。向模型提供年龄信息允许它利用时间信息
  • 年龄和性别信息通过年龄和性别嵌入显式地提供给这些模型

Semantic Group Embeddings

  • UmlsBERT[127]是一个知识丰富的医学语言模型。通过使用新的多标签MLM预训练任务对UMLS数据进行连续预训练[46]获得。
  • UMLS是100多个医学本体的集合。在UMLS中,每个医学概念在持续的预训练期间被分配一个唯一的称为概念唯一标识符、语义类型、同义词、相关概念等
  • 语义类型信息通过语义组嵌入显式提供,因此语言模型可以
    1. 更好地学习稀有词的表示
    2. 更好地建模相同语义类型的词之间的关联

4 taxonomy

  • 从四个不同的角度对TPTLM进行分类,即预训练语料库(第4.1节)、模型体系结构(第4.2节)、SSL类型(第4.3节)和扩展(第4.4节)

4.1 pretraining corpus-based 基于预训练语料库

4.1.1 general  通用语料库

  •  GPT-1 [1]:Books corpus
  •  BERT [2], UnilM [115]: English Wikipedia and Books corpus
  • XLNet[3], RoBERTa [4], ELECTRA [5], T5 [6], BART [8]: multiple sources

4.1.2 social media-based

  • 由于社交媒体文本本质上是高度非正式的,存在大量不规则语法、俚语和非标准缩写形式的噪音,4.1.1的模型在社交媒体数据集上的性能有限
  • 从头开始的训练(Bertweet[129])或持续的预训练[34]、[81]、[83]、[111]、[112]、[130]开发的社交媒体特定的T-PTLM。只有当预训练语料库由大量推文组成时,从头开始的训练才是有效的。否则不如持续训练
  • 使用四种新的情感感知预训练任务对用户评论进行持续预训练而获得的

4.1.3 language based

  • 单语或多语

Multi-lingual T-PTLMs

  • MBERT是第一个多语种T-PTLM(104种语言的维基百科)
  • 最近的研究工作表明,通过对大量文本进行训练可以提高模型的性能。因此,XLMR[64]针对CC-100进行了预训练,与维基百科相比,CC-100包含大量文本,特别是针对低资源语言。
  • 受“神经语言模型的比例法则”[26]的启发,更大的模型,如XLM-RXL[131]和XLM-RXXL[131],在CC-100上进行了预训练,并取得了更好的结果。
  • MBERT、XLM-R及其变体仅针对非并行数据进行预训练。
  • 然而,同时在并行数据和非并行数据上预训练模型允许模型以更好的方式学习跨语言表示。Muril[97]、MT6[91]、InfoXLM[90]、XLM[63]和Unicoder[103]等模型都针对并行和非并行数据进行了预训练。
  • 多语种自然语言处理研究社区还开发了许多基于编解码器体系结构的生成式T-PTLM,如MT5[99]、MT6[91]、mBART[65]和IndoBART[88]。

Monolingual T-PTLMs

  • BanglaBERT [132]、 ParsBERT[133]
  • 多语种语料库训练的缺点:
    • Curse of Multilinguality[64]
      • 多语言模型不能平等地表示所有语言。因为低资源语言在预训练语料库中的代表性不足,以及模型的容量有限
      • 在一定限制之后添加更多语言会降低模型性能
    • Embedding barrier[132]
      • 在模型词汇表中有足够表征的高资源语言中的多语言模型的性能与其单语模型不相上下[134]
      • 在模型词汇表中没有足够表示的语言的情况下,单语言模型和多语言模型的性能差异是显著的
        • 由于预训练语料库的高度失衡,多语言模型词汇中低资源语言的表示非常有限,这被称为嵌入障碍[90]
        • 例如,在流行的多语言模型中,阿拉伯语[135]在mBERT中为5K(总共为110K),在XLM中为14K(总共为250K)。对于像孟加拉语这样不与任何高资源语言共享词汇或脚本的语言来说,这个问题更为严重。在多语言模型中,孟加拉语词汇的百分比不到1%[132]。
        • 由于词汇中的表示非常有限,低资源语言中的单词被标记化为许多子词,这增加了输入序列长度,阻碍了模型学习,并使训练成本高昂

4.1.4 领域特定模型

  • 金融[31]、法律[32]、[33]、新闻[34]、编程[35]-[39]、对话[40]、网络[41]、学术[42]-[44]和生物医学[45]-[48]
  • 通用领域模型仅仅通过微调是不能获得足够的特定领域知识的
  • 特定领域模型的最初趋势是使用持续的预训练,用在通用语料库训练的模型进行参数的初始化,然后在领域特定语料库进行训练
    • BioBERT[45]是第一个。之后:AleaseBERT[32],RoBERTaNews[34],GraphCodeBERT[38],CoText[39],CodeGPTAdapted[35],NetBERT[41],MathBERT[44],Tod-Bert[40],ClinicalBERT[46]和BluBERT[48]
  • 使用持续的预训练来开发特定领域的模型的主要优点是模型收敛更快、成本相对较低。然而,由于这些模型使用在一般领域文本中学习的相同词汇表,因此词汇表中缺少许多特定于领域的单词。
  • 拥有特定于领域的词汇表的好处是,即使词汇表中缺少单词,该单词也会被分割成有意义的记号。例如,单词actyeltransfer ase被Bert模型分割成[“ace”、“ty”、“lt”、“ran”、“sf”、“era”、“e“],而具有特定领域词汇表的SciBERT则将同一单词分割成意义标记[“acetyl”(乙酰), “trans-ferase”(转移酶)]PubMedBERT[47] FinBERT[31] LegalBERT[33] CodeBERT[36] PLBART[37] CodeGPT[35] SciBERT[43]和OAG-Bert[42]等模型都是从头开始训练的

4.2 Architecture

4.2.1 Encoder-based

  • 由嵌入层和堆叠起来的encoder层组成,BERT-base:12,BERT-LARGE:24
  • 来自最后一个编码层的输出被视为输入序列的最终上下文表示。通常,基于编码器的模型,如BERT[2] XLNet[3] Roberta[4] Electra[5] Albert[7]和XLM-E[89]用于NLU(Natural Language Understanding)任务

4.2.2 Decoder-based

  • 基于解码器的T-PTLM由一个嵌入层和一组解码层组成
  • Transformer解码器层仅由masked多头关注层和前馈网络层组成。去掉了执行编解码器交叉注意的多头注意模块。通常,NLG任务中使用基于解码器的模型,如GPT-1[1]、GPT-2[61]和GPT-3[27]

4.2.3 Encoder-Decoder based

  • 基于编解码器的T-PTLM更适合于机器翻译、文本摘要等序列到序列建模任务。
  • MASS[114]是第一个,最近又提出了T5[6]、MT5[99]、MT6[91]、BART[8]、mBART[65]、PLBART[37]、PEGAUSUS[9]和Palm[156]。MASS和BART等模型在损坏的文本上使用双向编码器,并使用从左到右的自动回归解码器来重建原始文本。

4.3 SSL

  • 构建T-PTLM的关键因素之一

4.3.1 Generative SSL

  • 生成性SSL中的不同场景
    1. 基于当前令牌(CLM)预测下一个令牌
    2. 预测掩蔽令牌(MLM及其变体,如TLM、Seq2SeqLM
    3. 从损坏的文本(DAE)重建原始文本
  • GPT-1[1]、GPT-2[61]、GPT-3[27](基于CLM)、Roberta[4]、XLM[63]、XLM-R[64](基于MLM及其变体,如TLM)
  • BART[8]、mBART[65](基于DAE)和MASS[114]、T5[6]、MT5[99](基于Seq2Seq)

4.3.2 Contrastive SSL

  • 在NLP中,没有只使用对比SSL进行预训练的T-PTLM。在持续的预训练中使用对比SSL来进一步改进模型,即学习句子级语义
  • CERT[157]使用对比SSL通过注入更多语句级语义来改进BERT模型。CERT在许多GLUE任务中的表现都优于BERT
  • Mirror-Bert[158]和SimCSE[159]使用对比SSL来允许BERT模型生成高质量的句子嵌入
  • [160]结果表明,多语种对比性预训练提高了Mickey Probe中多语种T-PTLM的成绩

4.3.3 Adversarial SSL

  • 对抗性SSL通过区分损坏的token来帮助模型学习。在这里,损坏的令牌可以被替换或打乱
  • 对抗性SSL可以用于从头开始训练模型,也可以用于连续的预训练
  • Electra[5]和XLM-E[89]这样的模型是使用对抗性SSL预训练的
  • ELECTRA使用替换令牌检测(RTD)进行预训练,而XLM-E使用多语言替换令牌检测(MRTD)和翻译替换令牌检测(TRTD)进行预训练
  • [55]采用基于混洗令牌检测(STD)的对抗性SSL对Roberta模型进行进一步改进

4.3.4 Hybrid SSL

  • 一些T-PTLM使用多种类型的SSL进行预训练
  • BERT模型-生成性(MLM)和对比SSL(NSP),Albert-生成性(MLM)和对比SSL(SOP),infoXLM-生成性(MLM,TLM)和对比SSL(XLCo),XLCo代表跨语言对比训练任务。Cline[161]使用生成性(MLM)、对比性和对抗性SSL(RTD)进一步预训练Roberta模型。

4.4 Extensions

4.4.1 compact T-PTLMs  压缩T-PTLM

  • 问题:PLTM的大尺寸和高延迟使得PLTM在资源有限且需要快速推理的实际应用中的部署变得困难

Pruning 剪枝

  • 过参数化:模型的一些成分,如权重、注意力头和层,在预训练或者预训练后可以去除,而不对模型表现产生较大影响
  • 修剪的灵感来自生物学观察,“新生儿体内数千万亿个突触在十年后会减少到500万亿个”[162]
  • T-PTLM由多个注意头进行训练。Michel等人[164]和V oita等人[165]表明,大多数注意头是多余的,可以在推理过程中移除
  • Fan等人[167]表明,编码器层可以在预训练期间丢弃,从而允许在推理期间丢弃层
  • 相比之下,Sajjad等人[166]在预先训练的模型上应用了层降法,这与Fan等人[167]不同,消除了从头开始的训练

Knowledge Distillation 知识蒸馏

  • 知识蒸馏是一种模型压缩方法,允许使用来自大型教师模型的知识来训练紧凑的学生模型。在知识蒸馏过程中,学生通过再现其行为来学习教师模型的泛化能力,因此学生模型的性能与教师模型是一致的
  • Bucila等人[168]介绍了知识蒸馏,随后Ba和Caruna[169]以及Hinton等人[170]对其进行了推广。Ba和Caruna[169]的方法使用教师和学生模型对数之间的L2损失来训练学生模型
  • Hinton等人[170]的方法使用教师和学生softmax logits之间的交叉熵(软损失)以及学生预测和实际标签之间的交叉熵损失(硬损失)
  • 使用知识蒸馏训练的一些流行模型有DistilBERT[171]、Tiny BERT[172]、BERT-PKD[173]、MobileBERT[174]和MiniLM[175]

Quantization 量化

  • 通过使用更少的位来表示权重来压缩模型。T-PTLMS参数使用32位或16位来表示。量化的T-PTLM使用8位[176]或更少的[177]-[179]来表示权重
  • 流行的量化BERT模型有Q8BERT[176]、Q-BERT[177]和TernaryBERT[178]
  • 为了减少超低(1或2)比特模型的性能下降,研究人员提出了混合比特量化[177]、[179]、知识提取与量化相结合[178]以及乘积量化(PQ)[180]等方法
  • 有些硬件不支持混合比特量化,而PQ需要额外的群集操作。总体而言,量化通过使用较少的位来压缩模型,但由于量化是特定于硬件的,我们需要专门的硬件来使用量化模型

Parameter Sharing

  • AlBERT[7]模型的一个精简版本通过跨层参数共享和因式嵌入参数化实现了参数缩减
    • 分解嵌入参数化将大词汇表矩阵分成两个小矩阵,这允许在不显著增加词汇表矩阵参数的情况下增加隐藏向量的大小
    • 跨层参数共享可防止参数随着模型深度的增加而增长
  • 使用这两种参数约简技术,与Bert-Large模型相比,Albert模型的参数减少了18倍,训练速度提高了1.7倍
  • Universal Transformers[181]也探讨了跨层参数共享

4.4.2 Character-based T -PTLMs

  • 词嵌入的问题:OOV
  • 子词嵌入基于这样的想法,即只有不常见和拼写错误的词应该使用子词来表示,而频繁使用的词应该原样表示
  • sub-word embedding的问题
    1. 不能在单词表示中编码细粒度的字符级别信息
    2. 对噪声的脆性,即,即使是简单的打字错误也可能改变单词的表示,这阻碍了模型学习
  • 克服这些缺点:基于字符的T-PTLM,如CharacterBERT[66]、CharBERT[121]和AlphaBERT[120]
  • CharacterBERT使用CharCNN+highway层从字符嵌入生成单词表示,然后应用Transformer编码层。CharCNN+highway层的使用灵感来自Elmo[122]
  • 与只使用字符嵌入的CharacterBERT不同,CharBERT同时使用字符和子词嵌入
    • 字符级单词嵌入是使用双向GRU从字符嵌入生成的,类似于上下文字符串嵌入[123]。然后在每个Transformer编码层使用双通道CNN对字符和子词嵌入通道之间的交互进行建模。
    • 由于在每一层都加入了额外的字符嵌入通道和交互模块,模型的大小增加了5M个参数
    • CharBERT或CharRoBERTa比Bert或Roberta模型具有更强的抗噪能力和更好的性能
  • 与CharacterBERT和CharBERT不同,生物医学领域中的AlphaBERT直接在字符级操作。在AlphaBERT中,Transformer编码层在添加到位置嵌入之后直接应用于字符嵌入

4.4.3 Green T -PTLMs

  • 先从训练通用模型,再通过持续预训练转移到领域特定模型的方法不“绿色”
  • 最近,研究人员专注于开发成本较低的方法,以使通用模型适应特定领域或从知识库中注入知识
  • 使用较便宜的方法(如GreenBioBERT[184]、exBERT[185]和E-BERT[186])开发的模型被称为绿色模型,因为它们是以环境友好的方式开发的。
    • GreenBioBERT[184]使用word2vec开发的特定于域的单词嵌入来扩展通用BERT模型的词汇表,这些单词嵌入进一步与WordPiess嵌入保持一致,实现了与BioBERT相当的性能,而BioBERT使用8个V100 NVIDIA图形处理器进行10天的持续预训练
    • ExBERT[185]是使用特定于域的WordPiess嵌入和一个扩展模块扩展通用ERT。在持续的预训练期间,由于额外的WordPiess嵌入和扩展模块参数仅在保持其他参数不变的情况下更新,因此该过程的成本较低
    • E-BERT在对齐后用Wikipedia2Vec实体向量[187]扩展BERT模型词汇表。在LAMA基准上,E-bert[186]不需要任何进一步的预训练,其性能优于ERNINE[188]和KnowBERT[189]等模型(这两个模型都需要进一步的预训练以从知识库注入信息)

4.4.4 Sentence-based T -PTLMs

  • 从像BERT这样的T-PLTM通过应用任何汇集策略获得句子嵌入无效[190]
  • 有监督方法
    • SBERT[190]是最早之一。在NLI和STSb数据集上使用Siamese网络对BERT模型进行了微调,对句子对分类任务NLI和STSb进行微调,学习句子级语义,从而生成高质量的句子向量
    • DvBERT[191]基于多视图学习[196],通过在两个句子中添加词级交互特征来扩展SBERT
  • 有监督问题:
    • 因为有监督的方法需要标注的数据集,这限制了这些模型在标注的数据恐慌领域中的应用
    • 此外,Zhang et al.。[192]结果表明,当训练数据有限或

标签: et电子变压器pq5050电子变压器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台