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 detection,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]结果表明,当训练数据有限或测试分布与训练数据差异较大时,NLI和STSb微调模型的性能受到限制
  • SSL的方法
    • IS-Bert[192]使用互信息最大化策略来学习高质量的句子嵌入和CNN,而不是在Bert模型的顶部进行均值汇集
    • Mirror-Bert[158]通过使用基于对比学习的目标来训练Bert,以推动肯定句对具有相似的表征。这里通过在输入空间进行随机掩蔽或在特征空间应用丢弃来获得肯定句
    • TSDAE[193]涉及从编码器使用损坏语句生成的语句嵌入重建原始语句
    • SimCSE[159]是一个基于对比学习的框架,用于进一步训练PTLM使用未标记或已标记数据生成更好的句子嵌入

4.4.5 Tokenization-Free T-PLTMs

  • 子词嵌入和字符嵌入的问题
    • 子词嵌入需要一个固定的词汇表
      • 大小问题:词汇表在Bert和Roberta等模型中中等大小,但在多语言模型中较大。词汇表需要一个词汇表矩阵,其中每个令牌都与输出层中的向量和Softmax矩阵映射。这两个矩阵参数占据了大量的模型参数。例如,这两个矩阵参数约占MT5模型参数的66%[99]
      • 迁移问题:拥有固定的词汇表使得模型在其他领域的适应效率低下,即许多领域特定的词没有得到正确的表示,这影响了模型的适应以及模型的下游性能[47],[66]
    • 子词和字符嵌入都需要显式标记器(tokenizer),该标记器根据空格或标点符号分割输入序列
      • 对于不使用空格或标点符号作为单词分隔符的语言,这会出现问题。例如,汉语和泰语等语言不使用空格作为分隔符,夏威夷语和Twi等语言使用标点符号作为辅音[67]
  • 对于无标记化的模型,不需要特定于语言的标记器,模型对噪声更健壮,并且没有需要大量模型参数的大词汇表
    • CANINE[67]是第一个直接对字符序列进行操作的无标记化T-PTLM。该模型首先对字符序列进行卷积,减小输入序列的长度,然后采用Transformer编码层堆栈。CANINE只接受了与BERT模型相同的任务预训练。与mBERT输出相比,参数减少28%的CANINE在多语言QA上的好2.8分
    • ByT5[68]是T5模型的改进版本,可以在字节级处理输入,而不使用任何固定词汇表。T5使用相同数量的编码器和解码器层,而编码器的深度是ByT5中的解码器的3倍
    • Charformer[69]使用了一种新颖的标记器,该标记器使用梯度自动从字符中学习子单词,从而消除了对固定词汇的要求。Charformer的性能与T5等模型相当,同时优于ByT5等字节级模型。此外,与CANINE不同,基于梯度的子词标记器输出是可解释的

4.4.6 Large Scale T -PTLMs

  • 最开始的T-PTLM参数的尺寸在110m到340m的范围内
  • [26]结果表明,T-PTLM的性能与模型的规模(参数的数量、预训练数据的大小和预训练计算量)密切相关,而与模型的深度或宽度无关
  • [26]可以通过增加模型的大小或在大量大数据上训练模型或为更多训练步骤训练模型来提高模型的性能。必须同时扩展这三个部分才能获得最佳性能
  • 这一观察结果引发了大规模T-PTLM的开发,如GPT-3(175B)[27]、PANGU(200B)[28]、GShard(600B)[29](包含数十亿个参数)和 Switch-Transformers (1.6T)(1.6T)[30](包含数万亿个参数)

4.4.7 Knowledge Enriched T -PTLMs

  • T-PTLM预训练期间,模型通过解决一个或多个具有挑战性的预训练任务来学习预训练文本数据中可用的知识
  • [188],[189],[197]-[204]表明,通过整合外部知识源中的可用知识,这些模型可以得到进一步的改进。与来自外部来源的知识集成的TPTLM被称为知识丰富的T-PTLM。一些流行的外部知识来源有WordNet、一般领域的Wikidata和特定领域的UMLS[205],如Biomedical
  • 知识丰富的T-PTLM的一些例子是一般领域中的CasualBERT[197],KnowBERT[189],SenseBERT[204],Limit-BERT[199],Libert[198],SentiLARE[200],ERNINE[188],E-BERT[186]和临床KB-BERT[201],临床KB-Albert[201],SapBERT[202],SAP-XLMR[202]。
  • CasualBERT使用两个新的因果对预训练任务向BERT模型注入偶然知识
  • Libert使用语言关系分类(LRC)任务以及MLM和NSP进行了从头开始的训练。LRC任务有助于语言知识的灌输。在大多数GLUE任务中,Libert的表现都优于Bert模型
  • SentiLARE引入标签感知MLM向BERT模型注入词性标签和词极性信息。所有的生物医学领域知识丰富模型都是通过整合生物医学本体UMLS中的知识而得到的。

4.4.8 Long-Sequence T -PTLMs

  • Transformer中的自我注意模块通过关注输入序列中的所有令牌来更新每个输入令牌的表示。自注意模块的二次时间复杂度限制了T-PTLM在长输入序列中的应用
  • 为了克服这一缺点:稀疏自我注意和线性化自我注意等自我注意变体,以降低其复杂度,并因此将T-PTLM扩展到长输入序列[206]
  • 稀疏自我注意:Longform[207],ETC[208],BigBird[209]和Reformer[210],通过包含稀疏偏向来降低复杂性,稀疏偏向减少了每个查询关注的查询-关键字对的数量
  • 线性化自我注意:Performer[211]。将注意力与核特征映射解缠,然后以相反的顺序计算注意力来降低复杂度

4.4.9 Efficient T-PTLMs

  • T-PTLM预训练成本很高:大量数据,长时间训练
  • 更好的模型架构:使用更少的预训练数据[212]和更少的预训练成本[213]就有可能获得类似或更好的性能
    • DeBERTa[212]利用 解缠注意机制 和 增强的掩码解码器 改进了BERT模型
      • 解缠注意机制:对单词内容和位置信息都使用独立的向量进行编码,根据内容和相对位置计算注意力权重
      • 在预训练期间,使用增强的掩码解码器来预测掩码令牌,而不是Softmax层
      • 这两个新的变化提高了预训练效率,DeBERTa模型在对78 GB数据进行预训练时的性能优于在160 GB数据上进行预训练的Roberta模型
    • ConvBERT[213]改进了由自我注意和基于SPAN的动态卷积模块组成的混合注意块的BERT模型
      • 自我注意模块对全局相关性进行建模,而基于SPAN的动态卷积模块对局部相关性进行建模
      • ConvBERT的作者观察到,需要一些注意力头来仅对局部依赖进行建模,因此他们用基于SPAN的动态卷积模块替换了这些注意力头
      • ConvBERT具有更好的模型架构,其性能优于Electra Base,其预培训成本不到ELECTRA基础的1/4

5 DOWNSTREAM ADAPTATION METHODS

  • 预训练模型在下游任务种使用的三种方法:
    1. feature-based
    2. fine-tuning
    3. prompt-based tuning

5.1 feature-based

  • 在CNN或RNN等传统的深度学习模型中,使用Word2VEC[10]或Glove[11]等嵌入模型生成的单词嵌入被用作单词特征
  • 在基于特征的方法中,使用基于BERT[2]的模型来生成上下文词向量,然后将它们用作输入特征,类似于Word2VEC或Glove嵌入到特定于任务的下游模型中
  • 基于BERT的上下文词嵌入要好得多
    • 它们与word2vec和Glove嵌入不同
    • 克服了OOV词的问题
    • 由于深层模型架构,在词向量中编码了更多的信息
  • 词向量可以从最后一层(或使用任何池化策略从多个层)[2]获取。基于特征的方法的优势在于,上下文词向量可以在任何手工制作的最先进的任务特定架构中使用。然而,基于特征的方法需要从头开始训练下游模型(嵌入除外),这需要大量的标记实例

5.2 Fine-tuning

  • 预训练得到的是一般知识,下游任务需要领域特定知识:要使模型在下游任务中表现良好,其权重应接近目标任务的理想设置
  • 微调通过领域特定Loss调整权重[2]
  • 此外,微调增强了模型性能,因为它会将不同标注的点彼此分开聚类,从而在聚类区域之间有很大的间隔[215]
  • 微调会更新包括嵌入层在内的所有变压器层,但与较低层相比,较高层的变化更大[215]-[218]
  • Bert、Roberta和Electra没有跨任务遵循统一的输入输出格式,微调需要加入额外的层;T5等输入输出格式统一,则不需要
  • 由于微调涉及对整个模型权重的调整,因此适配器或基于修剪的微调等方法有助于以参数高效的方式对模型进行微调

5.2.1 Vanilla Fine-Tuning 普通微调

  • 使用任务特定的Loss
  • 普通微调的主要缺点是,具有较大参数的PTLM容易在较小的任务特定数据集上过拟合。此外,在数据集较小的情况下,模型权重不能很好地适应最终任务,从而限制了算法的性能
  • Intermediate Fine-Tuning或Multi-task Fine-Tuning微调克服了普通微调中的问题

5.2.2 Intermediate Fine-Tuning (IFT) 中等微调

  • 对具有大量标注实例的中间数据集进行模型微调
  • 在基于适配器的设置中产生性能提升,类似于之前发现的全模型微调。IFT可以是域自适应的或任务自适应的

Domain adaptive intermediate fine-tuning (DAIFT) 域自适应中等微调

  • 源数据集和目标数据集属于相同的域,但任务不同
  • 同一域源数据集上的DAIFT为模型赋予了更多的领域知识,从而提高了模型在同一域目标任务上的性能
  • McCreery等人[225]在医疗问答对数据集上微调了BERT和XLNet等模型,以增强医疗问题相似度数据集的性能。源(医学问题-答案对)数据集和目标(医学问题相似度)数据集来自相同的领域,即都是医学领域,但来自不同的任务。这些模型(BERT和XLNet)在一般领域文本语料库上进行了预训练。DAIFT 在医学领域数据集将医学知识注入到BERT和XLNet中,这两种语言都是在通用领域文本语料库上预先训练的。McCreery[225]结果表明,目标任务中的训练实例数越,改进越明显

Task adaptive intermediate fine-tuning (TAIFT)

  • 在具有大量标记实例的相同或相关任务数据集上微调模型,源和目标数据集来自相同或相关任务,但不同领域
  • 在相同或相关任务源数据集上的TAIFT为模型赋予了更多特定于任务的知识,从而提高了模型在目标数据集上的性能
  • 例如,Cengiz[226]结果表明,在一般领域NLI数据集上的TAIFT提高了医学NLI数据集上的域内模型性能
  • [228]在临床STS数据集上,TAIFT在普通STS数据集上取得了更好的性能
  • Yoon等人[229]结果表明,在一般领域小队数据集上的TAIFT提高了生物医学问答数据集的性能
  • Jeong等人[230]在常规NLI数据集上,使用TAIFT改进了BioBERT模型在生物医学QA中的性能
  • Pang[214]在一般的NLI数据集上,使用TAIFT的BERT的GLUE分数提高了1.4。作者还表明,当目标标记实例的数量较少时,改进效果更大。在NLI数据集上的TAIFT赋予了模型语句级的推理能力,从而提高了模型在其他任务中的性能

  • 然而,IFT并不保证总是有更好的性能[214]、[219]、[231],也就是说,IFT有时会对下游任务的可转移性产生负面影响。Pruksachatkun[219]对预训练的Roberta模型进行了一项大规模研究,该模型包含110个中等目标任务组合,以调查IFT何时以及为什么是有益的。作者发现,需要高水平推理和推理能力(high-level inference and reasoning abilities)的IFT往往效果最好,即涉及常识推理的NLI和QA任务通常是有用的IFT

5.2.3 Multi-task Fine-T uning (MTFT)

  • 使模型学习跨任务有用的知识
  • 在辅助任务的帮助下提高目标任务的性能,或者提高所有任务的性能
  • 优势
    1. 允许模型通过同时从多个数据集中学习来获得更多知识,从而减少了在特定目标任务中对大量标记实例的需求
    2. 通过避免过度适应特定目标任务来提供正则化效果[221]
  • 分类a) Vanilla MTFT b) Iterative MTFT and c) Hybrid

Vanilla MTFT  普通MTFT

  • 同时对多个数据集进行模型调整
  • 例如,刘[221]使用普通MTFT改进了BERT模型在GLUE任务中的性能。在这里,嵌入层和transformer层在任务之间共享,而每个任务都有一个特定于任务的层。
  • 然而,不能保证普通MTFT总是提高跨任务的模型性能[222]。例如,Mulyar[222]通过使用与NER、STS和RTE任务相关的多个数据集微调ClinicalBERT,开发了MTClinicalBERT。MTClinicalBERT取得了与任务特定的ClinicalBERT模型相当的成绩,但性能较差。可能的原因是某些任务可能会负向转移知识,从而降低模型的性能。使用迭代MTFT可以避免普通MTFT中的缺点,迭代MTFT允许选择最佳任务集或MTFT,然后进行普通微调。

Iterative MTFT 迭代MTFT

  • 选择用于微调模型的最佳任务集
  • 有必要选择最好的相关数据集集合,因为所有任务上的普通MTFT有时可能会降低模型的性能[222]
  • 迭代MTFT类似于机器学习中的传统特征选择。迭代MTFT有助于选择最佳数据集来微调模型,而特征选择有助于选择最佳特征集
  • Mahanjan[223]应用迭代MTFT选择最优的相关数据集,并在临床STS数据集上取得SOTA结果。

Hybrid

  • 迭代MTFT允许选择最佳的相关数据集集合,但由于它涉及多次迭代,因此代价高昂
  • 此外,每次迭代都涉及在多个数据集上训练模型,然后在目标数据集上对其进行微调
  • 我们可以在多个相关数据集上微调模型,然后以较小的学习率在目标数据集上微调模型,而不是迭代地应用MTFT[224]。我们把这称为混合MTFT,因为它涉及到普通MTFT和普通微调

5.2.4 Parameter Efficient Fine-Tuning

  • 微调允许模型权重通过最小化特定于任务的损失来适应下游任务,即,微调复制整个模型权重并进行小的改变。由于微调涉及更新整个模型权重,因此需要为每个任务训练单独的模型,这不是参数高效的。适配器[234]和基于修剪的微调[166]有助于以参数高效的方式微调模型

Adapters 适配器

  • 一种特殊的可训练层模块,由两个前馈层组成,两个前馈层之间有一个非线性层和一个跳跃连接。适配器模块将输入向量投影到一个小向量,然后使用两个前馈层和非线性层将其投影回原始维度
  • 设x为原始向量维,y为小向量维,则适配器模块中的参数总数为2xy+x+y,通过设置x<<y,可以进一步减少适配器模块中的参数数量。较小的向量维度(y)提供了性能和参数效率之间的折衷。在层归一化之前,适配器被添加到Transformer层中的每个子层。在微调过程中,只有适配器的参数、各变换器层的归一化和特定于任务的层的参数才会更新,而预训练的模型中的其余参数保持不变
  • Houlsby[234],基于适配器的微调具有很高的参数效率,并且使用仅涉及3%的特定任务参数的基于适配器的微调可以达到完全微调模型的性能
  • Poth[220]显示使用适配器的中间微调提高了目标任务中的模型性能
  • Stickland和Murray[235]提出了一种在多任务设置中训练适配器的方法。然而,该方法存在如下问题
    • a)要求同时访问多个数据集
    • b)难以平衡各种任务,因为该模型可能过拟合低资源任务,而不拟合高资源任务
  • Pfeiffer[236]提出了一种新的基于适配器的两阶段学习方法AdapterFusion,该方法克服了顺序学习和多任务学习中利用多任务知识的问题,性能优于在单任务和多任务设置中训练的基于适配器的模型的完全微调

Pruning-based fine-tuning 基于剪枝的微调

  • 即在预训练的模型中,并不是所有的参数都是重要的,并且可以在不太大影响模型性能的情况下删除其中的一些参数
  • 研究[164]、[165]、[237]表明,一些注意力头部是可以修剪的
  • [166]提出了在预先训练的语言模型中删除编码层的不同策略。作者指出,通过在预训练后降低编码层,可以减小预训练模型的规模,并且可以对所得到的剪枝后的BERT模型进行微调,以获得具有竞争力的性能。实验结果表明,在保持BERT、Roberta和XLNet模型98%的原始性能的同时,可以将其剪枝高达40%

5.3 Prompt-based Tuning 基于提示的调优

  • 预训练和微调过程中目标的不一致会影响模型的下游性能
  • Prompt-based Tuning 可以改善模型的下游性能,特别是在few-shot和zero-shot的情况下,它将调优过程描述为一个空位填充过程,这与LM的目标很接近。这里,提示可以是封闭式或前置式,并且可以手动或自动生成[239]。封闭式提示适用于模型预训练的MLM目标,而前置式提示适用于使用随意建模目标进行预训练的模型
  • Prompt-based Tuning 最初基于手动创建的提示。例如,LAMA[240]探测器(probe)执行手动创建的关闭样式提示,而GPT-3[27]模型使用手动创建的前缀样式提示进行调整。因为手动创建提示是一个制定时间表的过程,并且这些提示也可能是次优的[241]。为了克服这些缺点,系统会自动创建提示。自动生成的提示可以是离散的,也可以是连续的。离散提示只是一个字符串,即包括在输入文本中的单词序列,以引导T-PTLM更好地模拟下游任务。生成离散提示的一些流行方法是提示挖掘[241]、提示生成[242]、提示释义[241]、[243]和基于梯度的搜索[244]、[245]
  • 提示挖掘[241]涉及收集大量具有主语𝑥和客体𝑦的句子,然后使用中间词或依存路径生成新的提示。提示生成[242]涉及使用如T5的T-PTLM生成提示。提示释义使用诸如回译[241]或来自同义词库[243]的等效短语等方法从种子提示生成新的提示。基于梯度的搜索生成触发令牌,该触发令牌可以与输入序列组合以创建提示[244]、[245]
  • 连续提示在T-PTLM的嵌入空间中执行提示,即向输入序列添加任务特定向量序列。提示向量不必是自然语言单词的嵌入。与模板参数由T-PTLM参数确定的离散提示不同,在连续提示中,模板的参数与T-PTLM参数无关。一些流行的连续提示生成方法有Pretuning[246]、P-Tuning[247]和Prompt-Tuning[248]。进一步,Lester[248]结果表明,即时集成的效果优于传统的模型集成。在这里,提示集成意味着为同一任务生成多个提示

6 EVALUATION

  • 预训练期间获得的知识:句法知识、语义知识、事实知识和常识知识
  • 评估方式
    • 内在:探测T-PLTM中编码的知识。揭示了T-PTLM在预训练过程中所获得的知识,有助于我们设计更好的预训练任务,使模型在预训练阶段学习到更多的知识
    • 外在:评价T-PTLM在实际下游任务中的效率

6.1  Intrinsic Evaluation

  • 使用探针探索模型知识
  • LAMA[240]、XLAMA[252]、XFACTR[257]、MickeyProbe[160]、Negated LAMA[253]、Misprimed LAMA[253]、WDLMPro[254]或WNLaMPro[256]
  • LAMA是第一批用于在零激发设置下评估PLTM中的事实知识和常识知识的探测器之一
  • LAMA由一个事实语料库组成,其中的事实可以是关系三元组,也可以是从类里收集的问答对。事实被转换为填空式问题,并且基于空记符的预测对模型进行评估,即,𝑎𝑟𝑔𝑚𝑎𝑥 𝑥∈𝑊   𝑃𝑥𝑇𝑒𝑚𝑝    W表示模型词汇,Temp表示填空模板。LAMA基于这样的假设,即具有大量事实知识的模型正确地预测空白标记,即,与模型词汇中的其他标记相比,基本事实标记被预测的概率最高。被否定的LAMA和被错误启动的LAMA探测表明,语言模型不能考虑模板中被否定或被错误启动的单词。例如,无论模板是否被否定,该模型都预测相同的标记。Poerner等人。(2020)[186]引入了LAMA-UHN,它是LAMA探测基准中难以猜测的三元组的集合
  • LAMA探测的主要缺点
    1. 仅限于单个标记实体
    2. 限制对模型词汇表中标记的预测,这阻碍了对具有不同词汇的模型的评估
    3. 它仅探测英语语言模型;d)LAMA中的许多三元组很容易猜测[186]
  • XLAMA将LAMA探测器扩展到多语言(53种语言),还包括多令牌实体。此外,在LAMA中,模型必须预测整个模型词汇表,而在XLAMA中,模型必须预测特定于每个关系类型的固定候选集合,即,𝑎𝑟𝑔𝑚𝑎𝑥 𝑥∈𝐶   𝑃(𝑥⁄𝑇𝑒𝑚𝑝),其中C表示特定于关系类型的一组候选实体。XLAMA的作者将这种类型的查询称为类型化查询(TQ),将LAMA中的查询称为非类型化查询(UnTQ)。与XLAMA类似,X-FACTR也是23种语言的多语言探测器。此外,X-FACTR的作者开发了几种解码算法来预测多令牌实体。MickeyProbe[160]是一个零命中常识探测器,它使用基于伪Likelikhood的句子级别排序[259]。这里,该模型必须对一组具有相似单词和句法特征的陈述句进行排序。多语言模型在检索知识方面的性能因语言而异,即与低资源语言[160]、[252]、[257]相比,高资源语言的检索性能更高。此外,多语言模型表现出语言偏差,即查询语言影响模型预测[252]。可以通过对CoD切换数据的预训练[257]或使用多语言对比损失函数[160]的进一步预训练来改进检索知识的模型性能
  • 像LAMA、XLAMA和X-FACTR这样的探测器侧重于评估实体之间的关系。与这些探测器不同,WDLMPro和WNLaMPro专注于理解预先训练的模型如何理解单词。WNLamPro使用填充式模板,而WDLMPro通过匹配单词及其定义来评估模型。WDLMPro探测器基于这样的假设,即只有当模型理解某个单词时,该模型才能正确地将该单词与其定义匹配。WDLMPro由同义词组组成,每个同义组由一个词组成,它的分类姊妹词来自WordNet,沿着它们的定义

6.2 Extrinsic Evaluation

  • 外部评估有助于评估模型在下游任务中的性能。为了最大限度地发挥模型的作用,模型应该在广泛的任务范围内表现良好,而不是仅仅在一两个任务上表现良好
  • 基准测试提供了评估模型跨任务的泛化能力的标准方法。基准通常由一组数据集、一个排行榜和一个指标[260]组成。选择数据集的方式是具有挑战性的,并代表不同的任务。排行榜是一个在线存储库,有助于对模型进行比较和排名。为了让模型在基准测试中获得好的分数,它应该共享知识,即跨任务的参数,每个任务都有一个或两个特定的层[260]。基准测试使用单个度量来评估跨任务的模型的整体性能。如果没有基准,就很难以标准的方式评估模型,也很难跟踪预先训练的语言模型的开发进度。表9和表10中给出了各种外部标记的摘要
  • GLUE[260]和SuperGLUE[261]基准是评价预训练语言模型自然语言理解能力的常用基准。GLUE基准测试由9个任务组成,其中既包括单句任务,也包括句子对任务。随着模型开发的快速进展,模型在GLUE基准中取得了良好的性能,因此没有多少进一步改进的空间[261]
  • 为了拥有更具挑战性的基准测试,Superglue基准测试引入了更具挑战性的任务,如QA、词义消歧(WSD)和指代消解,同时保留了GLUE基准测试中的两项困难任务
  • 受到GLUE和SUGLUE基准在普通英语领域的成功的启发,已经引入了GENIE[262]、GEM[263]、GLGE[264]等基准来评估普通英语领域的NLG模型。为了评估跨语言模型,引入了XGLUE[267]和Xtreme[270]基准。Xtreme基准测试只包括XNLU任务,而XGLUE基准测试包括XNLU和XNLG任务。此外,XGLUE基准包括与搜索、广告和新闻场景相关的各种数据集,这使得它更具挑战性和实用性。最近,由于现有的Xtreme基准测试的改进空间较小,Ruder等人将Xtreme基准测试结果提高了近13个点。[271]Xtreme扩展到Xtreme-R,包括10个具有挑战性的NLU任务。此外,Xtreme只覆盖了40种语言,而Xtreme-R覆盖了50种语言
  • 为了评估基于社交媒体的T-PTLM,我们有TweetEval[111]和UMSAB[112]这样的基准。TweetEval只包括来自英语的数据集,而UMSAB包括包括英语在内的八种语言的数据集。在这两个基准测试中,所有任务都被定义为推文分类。除了评估跨语言模型的XGLUE和Xtreme之外,我们还为俄语(RussianSuperGLUE[272])、印度语(IndicGLUE[98])、汉语(CLUE[273])、印尼语(IndoNLU[92]、IndoNLG[88]、IndoLEM[136])、法语(FASH[140])、阿拉伯语(ArLUE[135])、波兰语(Klej[Klej])等每种语言分别提供基准。此外,我们还有用于CodeSwitching的GLUECoS[269]和Lince[268]、用于生物医学领域的BLUE[48]、BURB[47]和ChineseBLUE[266]、用于代码智能领域的CodeXGLUE[35]和用于评估Dialog模型的DialogGLUE[265]等基准。此外,我们还提供了FewCLUE[275]、FLEX[276]和FewGLUE[277]等基准测试,以评估在 few shot设置下的T-PTLM

7 USEFUL LIBRARIES

  • 我们总结了使用基于Transformer的PTLM的流行程序库。像Transformers[278]和Fairseq[279]这样的库对于模型训练和评估很有用。一些库,如SimpleTransformers、HappyTransformer、AdaptNLP,它们构建在Transformers库的顶部,只需几行代码就可以使模型训练和评估变得更容易。FastSeq[280]、DeepSpeed[281]、FastT5、OnnxT5和LightSeq[282]等库对于提高模型的推理速度非常有用。ECCO、BertViz[283]和exBERT[284]是用于探索Transformer模型各层的可视化分析工具,而Transformers-Interpret和Captum则帮助解释模型决策

8 DISCUSSIONS AND FUTURE DIRECTIONS

8.1 Better Pretraining Methods

  • 仅使用SSL对模型进行预训练是非常昂贵的,特别是对于具有数十亿或万亿个参数的大型模型
  • 新的预训练方法,如知识继承预训练(KIPT),同时涉及SSL和知识精馏[72]。SSL允许模型学习预训练语料库中可用的知识,KD允许模型学习已在现有预训练模型中编码的知识。由于模型在通过KD进行预训练期间获得的附加知识,a)模型收敛更快,因此减少了预训练时间b)与仅使用SSL进行预训练的模型相比,模型在下游任务中执行得更好[72]。研究界必须更多地专注于开发更好的预培训方法,如KIPT,使模型能够获得更多知识,并减少预训练时间

8.2 Sample Efficient Pretraining Tasks

  • 如果预训练任务最大限度地利用了每个训练实例,即,它应该在训练实例中的所有令牌上定义,则该预训练任务是样本有效的。样本高效的预训练任务使预训练的计算效率更高[5]。MLM中,最常用的预训练任务的样本效率较低,因为它只涉及令牌的子集,即掩蔽令牌,占总令牌的15%[2],[5]。像RTD[5]、RTS[56]和STD[55]这样的预培训任务可以被认为是开发样本效率高的预培训任务的早期尝试。在每个训练实例中的所有令牌上定义所有这三个预训练任务,即,它们涉及识别每个令牌是否被替换[5]、随机替换[56]或洗牌[55]。我们可以期待更多的样本高效的预训练任务,这使得预训练的计算效率更高。

8.3 Efficient Models

  • 由于较大的模型大小,预训练T-PLM非常昂贵,而且还需要大量未标记的文本数据。然而,由于二氧化碳排放的原因,长时间的预训练对环境并不友好,而且在生物医学等所有领域都不可能获得大量的无标签文本数据。最近,DeBERTa[212]等对Bert模型进行了新的改进的模型取得了比Roberta模型更好的性能,尽管它只使用了78 GB的数据进行了预训练,这只是用于预训练Roberta模型的数据的一半。同样,ConvBERT[213]采用了一种新的混合注意模块,其性能优于Electra模型,仅使用其四分之一的预训练成本。迫切需要DeBERTa和ConvBERT这样的高效模型来减少预训练数据量和预训练成本

8.4 Better Position Encoding Mechanisms

  • 自我注意机制是排列不变的,没有位置偏差。可以使用绝对或相对位置嵌入来提供位置偏差。此外,绝对位置嵌入可以预先确定或学习。然而,这两种方法都有缺点[288]。绝对位置嵌入存在泛化问题,但很容易实现。与绝对位置不同,相对位置嵌入对序列长度变化具有鲁棒性,但实现困难且性能较差。非常需要更新颖的位置编码机制,如CAPE[288],它结合了绝对位置嵌入和相对位置嵌入的优点

8.5 Improving existing T -PTLMs

  • 像Bert和Roberta这样的T-PTLM在许多NLP任务中都取得了很好的效果。最近的研究工作表明,通过基于对抗性[55]或对比性预训练任务[157]、[160]的持续预训练来注入句子级语义,可以进一步改进这些模型。例如,熊猫等人。[55]结果表明,使用混洗标记检测目标的持续预训练通过允许Roberta模型学习更连贯的句子表征,提高了该模型在胶水任务中的性能。类似地,使用对比预训目标的持续预训提高了T-PTLM在胶水任务中的性能[157]和T-PTLM在Mickey Probe中的多语种T-PTLM[160]。要将其扩展到其他单语和特定领域的T-PTLM,还需要进一步的研究

8.6 Beyond Vanilla Fine-tuning

  • 微调是使预先训练的模型适应下游任务的最常用方法。然而,普通微调的主要缺点是它会对预先训练的模型中的所有层进行更改,因此它需要为每个任务维护单独的副本,这使得部署成本很高。提出了像适配器[234]和基于剪枝的调整[166]这样的方法来以参数高效的方式使预先训练的模型适应于下游任务。例如,适配器是添加到每个转换器层的小任务特定层,在下游任务适配期间,只更新适配器层参数,同时保持转换器层参数不变。此外,Poth et al.。[220]显示适配器对于中间微调也很有用。最近,基于提示的调整方法(离散的-[27]、[242]、[244]和连续的-[246]、[248])以更好的参数效率吸引了研究界。例如,像前缀调整[246]这样的基于提示的调整方法仅需要0.1%的特定于任务的参数,而基于适配器的微调涉及3%的特定于任务的参数[234]。

8.7 Benchmarks

  • 在最后四层中,引入了许多基准来评估一般的[260]-[264]以及特定领域的[35]、[47]、[48]、[111]、[265]、[266]的预训练模型的进展。除英语外,还引入了基准来评估其他单语模式[88]、[92]、[135]、[136]、[140]、[147]、[151]、[152]、[272]-[274]以及多语模式[112]、[267]、[270]的进展情况。然而,现有的基准不足以涵盖所有情况。例如,没有基准来评估a)紧凑预训练模型的进展b)预训练模型的稳健性c)专用于社交媒体的PTLM以及专用于学术等其他领域的PTLM。最近,像Explainboard[289]这样的排行榜被引入,它们不仅像现有基准一样使用单一的度量来评估进展,而且还通过分析模型的优缺点来更深入地挖掘。这种排行榜也应该推广到其他领域。此外,像FewGLUE[277]、Flex[276]和FewCLUE[275]这样评估少量学习技术的基准测试也应该扩展到其他语言和领域

8.8 Compact Models

  • 基于Transformer的PTLM几乎在每一项NLP任务中都取得了最先进的结果。然而,这些型号都很大,需要更多的存储空间。由于这些模型有许多层,输入必须通过这些层才能获得模型预测,因此延迟很高[162]。由于现实世界的应用程序是资源受限的,并且需要较少的延迟,因此探索了剪枝、量化、知识提取、参数共享和因式分解等模型压缩方法,以开发用于一般领域应用程序的英文紧凑模型[162],[290]。为了开发适用于其他语言以及其他领域的紧凑模型,迫切需要探索这些模型压缩方法

8.9 Robustness to Noise

  • 基于Transformer的PTLM对噪声很脆弱,包括对抗性噪声和自然噪声[291],[292]。这背后的主要原因是使用了子词嵌入。在子词嵌入的情况下,即使是一个很小的打字错误也可能通过将单词拆分成许多子词标记来改变单词的整体表示,这阻碍了模型学习并影响了模型预测[66],[121]。为了提高PTLM对噪声的健壮性,像CharacterBERT[66]这样的模型只使用字符嵌入,而像CharBERT[121]这样的模型使用字符嵌入和子词嵌入。这两种方法都提高了对噪声的鲁棒性。最近,CANINE[67]、ByT5[68]和Charform[69]等无标记化模型被提出,进一步提高了对噪声的鲁棒性。需要更健壮的模型来增加PTLM在实际应用中的使用,特别是在医学等敏感领域

8.10 Novel Adaptation Methods

  • 将通用模型适应特定领域(如生物医学模型)或将多语言模型适应特定语言的常用策略是持续的预训练[45]、[46]、[48]。虽然这种方法通过使模型适应特定的领域或语言而取得了良好的效果,但是缺乏特定于领域或语言的词汇表会影响模型的下游性能。最近研究人员提出了词汇量扩大[184]、词汇量扩大再持续预训练[185]、[293]等方法。这些方法克服了OOV词的问题,但由于词汇表中添加了新词而增加了词汇量。最近,姚等人。[78]提出了通过词汇量扩展和知识提炼使通用模型适应特定领域的改编和抽取方法。与现有的自适应方法不同,该方法不仅使一般模型适用于特定领域,而且减小了模型的规模。对这一课题的进一步研究将产生更新颖的适应方法

8.11 Privacy Issues

  • 基于Transformer的PTLMS在许多NLP任务中取得了令人印象深刻的成果。然而,与这些模型相关的还有一些意想不到的和不想要的风险。例如,这些模型的数据泄漏是主要问题,特别是当模型经过私有数据的预训练时。由于该模型在大量文本数据上进行了预训练,因此可以恢复包括个人可识别信息[294]-[297]的敏感数据。这可以防止公开发布基于私有数据预先训练的模型。最近,Carlini et al.。[295]显示了GPT-2模型生成了一个人的整个邮寄地址,当提示输入此人的姓名时,该地址将包括在培训数据中。最近,像KART[294]这样的框架被引入生物医学领域,它执行各种攻击来评估数据泄露。非常需要开发更复杂的攻击来评估数据泄露,以及防止从预先训练的模型中泄露敏感数据的方法

8.12 Mitigating Bias

  • 基于深度学习的模型越来越多地被用于许多现实世界的应用中,包括特定的领域,如生物医学[298]和法律[299]。然而,这些模型容易学习和放大训练数据中已经存在的偏差。因此,这些模型的决策是有偏见的,即可能偏向于特定的种族、性别或老年人。这种行为是完全不受欢迎的。最近的一些工作集中在识别和减轻偏见上。例如,米诺特等人。[182]提出了一种基于数据增强的方法来减少性别偏见,而梁等人则提出了一种减少性别偏见的方法。[300]提出了一种动态识别双敏感令牌的A-INLP方法。这一领域的进一步研究有助于减轻预先训练模型中的偏差,并帮助它们做出公平的决定

8.13 Mitigating Fine-Tuning Instabilities

  • 微调是使PTLM适应下游任务的最广泛采用的方法。精调虽然取得了较好的性能,但它是不稳定的,即用不同的随机种子对模型进行微调会导致下行性能变化较大。人们认为灾难性的遗忘和数据集的小尺寸可能是微调不稳定性的原因[2]、[301]、[302]。然而,Mosbach等人。[303]表明微调不稳定性不是由这两者中的任何一个引起的,并且进一步表明微调不稳定性可以归因于a)导致梯度消失的优化困难和b)泛化问题。缓解微调不稳定性的可能解决方案是a)中等微调[214]b)混合[301]c)较小的早期历元的学习率以及针对更多历元数量微调模型[303]以及d)使用有监督的对比损失以及交叉熵损失[304]。与此相关的进一步工作将使微调更加稳定

9 conclusion

  • 在这篇综述中,我们对基于变压器的预训练语言模型的最新研究工作进行了全面的综述。本文涵盖了各种预训练方法、预训练任务、嵌入、下游适应方法、内部基准和外部基准,以及用于T-PTLM的有用的库。我们还提出了一种新的分类方法来对各种T-PTLM进行分类。我们讨论了未来的各种研究方向,这些方向将指导研究界进一步改进TPTLM

  • 0
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值