NLP 预训练模型综述

文章目录

  • Representation Types and Architectures
  • Pre-training Task Types
  • Extentions of PTMs
  • Adapting PTMs to Downstream Tasks
  • Future Direction

转载来源:https://zhuanlan.zhihu.com/p/139015428
作者:徐阿衡

Pre-trained Models for Natural Language Processing: A Survey 花了一上午看完的综述,强烈推荐每个 NLPer 都读一读,很长一段时间内都能当做工具书来用(下一个 break-through 来临前)。

这篇作为笔记就记录下一些个人认为的重点,方便日后查阅。(不解释基础概念 / 模型,适合熟悉 PTMs 的人阅读)

先来说说为啥要用预训练模型:

  1. 在大语料下预训练的模型可以学习到 universal language representations,来帮助下游任务
  2. PTMs 提供了一个更好的初始化模型,可以提高目标任务的效果和加速收敛
  3. PTMs 可以看做是一种正则,防止模型在小数据集上的过拟合

既然 PTMs 有这么大优势,那当然是,用它!用它!用它!

这篇综述从四个方面(Representation Types、Architectures、Pre-training Task Types、Extensions)对现有 PTMs (Pre-trained Models) 进行了系统分类,一幅图来概括全文精华:

NLP 预训练模型综述_第1张图片NLP 预训练模型综述_第2张图片

Representation Types and Architectures

NLP 预训练模型综述_第3张图片
第一代的 PTMs 是预训练的 word embeddings,像 skip-gram, glove,可以捕捉一定的语义信息,但是它是 context-free(上下文无关)的,不能捕捉上下文 higher-level 的一些特征,像概念、多义性、句法特征、语义角色、指代等。

二代的 PTMs 则是预训练的 contextual encoders,融入了上下文信息,像 CoVe, ELMo, GPT, BERT。现代的 PTMs 通常在更大的语料库上训练,采用更加强大 / 深的网络结构(如 Transformer),以及新的预训练任务。

论文把 contextual encoders 分为了 Sequence Models 和 Graph-based models 两大类:

NLP 预训练模型综述_第4张图片
有代表性的 PTMs 及其架构:

NLP 预训练模型综述_第5张图片

Pre-training Task Types

NLP 预训练模型综述_第6张图片
预训练任务分为三类:

  1. Supervised learning (SL)
  2. Unsupervised learning (UL)
  3. Self-Supervised learning (SSL) 这一类在传统意义上也是 UL 的一种,不过这里把它们区分了开来,UL 指不用人类标注的有监督的标签,而 SSL 指标签可以自动从训练数据中产生,如 MLM 任务,SSL 的学习过程其实和 SL 一样

一张表总结预训练任务及其对应的损失函数:

NLP 预训练模型综述_第7张图片
LM(Language Modeling) 是 NLP 中最常见的无监督任务,通常特指自回归或单向语言建模,BiLM 虽然结合了两个方向的语言模型,但只是两个方向的简单拼接,并不是真正意义上的双向语言模型。MLM(Masked Language Modeling) 可以克服传统单向语言模型的缺陷,结合双向的信息,但是 [MASK] 的引入使得预训练和 fine-tune 之间出现 gap,PLM(Permuted Language Modeling) 则克服了这个问题,实现了双向语言模型和自回归模型的统一。

DAE(Denoising Autoencoder) 接受部分损坏的输入,并以恢复原始输入为目标。与 MLM 不同,DAE 会给输入额外加一些噪声。

CTL(Contrastive Learning) 的原理是在对比中学习,其假设是一些 observed pairs of text 在语义上比随机采样的文本更为接近。CTL 比 LM 计算复杂度更低。

一些补充:

文中 MLM 部分除了普通的 Seq2Seq MLM,还总结了一些 Enhanced MLM (E-MLM):

  • RoBERTa: dynamic masking
  • UniLM: unidirectional, bidirectional, seq2seq prediction
  • XLM: translation language modeling (TLM)
  • Span-BERT: random contiguous words masking, span boundary objective
  • StructBERT: span order recovery task
  • External knowledge….

DAE 中一些破坏文本的方法:

  • Token Masking
  • Token Deletion: 模型需要预测删除的位置
  • Text Infilling:像 SpanBERT,模型预测 mask 的 span 有几个单词
  • Sentence Permutation:把文档分为句子然后随机打乱
  • Document Rotation:选择一个单词然后 rotate 文档,模型预测文档的真实起始位置

CTL 的一些任务:

  • Deep InfoMax (DIM):比较难解释,上图

NLP 预训练模型综述_第8张图片

  • Replaced Token Detection (RTD):e.g., CBOW-NS 中的负样本选择可以看做是简单的 RTD, ELECTRA 利用生成器来选择替代序列中的某些 token, WKLM 替换某些实体为同一实体类型下的其他实体
  • Next Sentence Prediction (NSP):两个输入句子是否为训练数据中的连续片段
  • Sentence Order Prediction (SOP):两个连续片段作为正样本,而相同的两个连续片段互换顺序作为负样本。ALBERT 首次提出,NSP 同时做了 topic prediction 和 coherence prediction,而 topic prediction 太简单了模型会倾向用主题信息来做最后预测,而 SOP 更加聚焦在 coherence prediction 上

Extentions of PTMs

NLP 预训练模型综述_第9张图片
一些补充:

Knowledge-Enriched,外部知识的融入具体来说大概有下面几类:

  • Linguistic

    • LIBERT 通过额外的 linguistic constraint task 来融入语言学知识
    • SentiLR 引入 token 级别的情感极性,改造 MLM 为 label-aware MLM
    • KnowBERT
  • Semantic

    • SenseBERT 不仅预测 masked token,还预测 token 在 WordNet 对应的 supersenses
  • Commonsense

    • ConceptNet, ATOMIC, 用来提高 GPT-2 在故事生成上的效果
  • Factual

    • ERNIE(THU), KnowBERT, K-BERT, KEPLER
  • Domain-specific

    • K-BERT
  • KG-conditioned language models

    • KGLM, LRLM

模型压缩的几种方法,很好理解

  • Model Pruning:CompressingBERT

  • Weight Quantization: Q-BERT, Q8BERT

  • Parameter Sharing: ALBERT

  • Knowledge Distillation

    • Distillation from soft target probablilites: DistilBERT
    • Distillation from other knowledge: TinyBERT, MobileBERT, MiniLM
    • Distillation to other structures: from transformer to RNN / CNN
  • Model Replacing

    • BERT-of-Theseus
  • Others

    • FastBERT,动态减少计算步骤

NLP 预训练模型综述_第10张图片

Adapting PTMs to Downstream Tasks

迁移学习需要考虑的问题:

  1. 选择合适的预训练任务、模型框架和语料
  2. 选择合适的 layer
    Embedding only; Top layer; All layers (更灵活的方式是像 ELMo 一样自动选择最好的层)
  3. 选择迁移方式(to tune or not to tune)
    Feature extraction: pre-trained parameters are frozen
    Fine-tuning: pre-trained parameters are unfrozen and fine-tuned

NLP 预训练模型综述_第11张图片

Fine-tuning strategies:

  • Two-stage fine-tuning

    • 第一阶段,在一个中间任务 / 语料上进行迁移,第二阶段,迁移到目标任务
    • Story ending predic- tion by transferable bert: TransBERT
    • How to fine-tune BERT for text classification?
    • Sentence encoders on STILTs: Supplementary training on intermediate labeled-data tasks
    • Convolutional sequence to sequence learning
  • Multi-task fine-tuning

    • 多任务和预训练互为补充
    • Multi-task deep neural networks for natural language understanding
  • Fine-tuning with extra adaptation modules

    • 原始参数固定,在 PTMs 里接入一些 fine-tunable adaptation modules
    • BERT and PALs: Projected attention layers for efficient adaptation in multi-task learning
    • Parameter-efficient transfer learning for NLP
  • Others

    • Improving BERT fine-tuning via self-ensemble and self-distillation
    • Universal language model fine-tuning for text classification: gradual unfreezing
    • An embarrassingly simple approach for transfer learning from pretrained language models: sequential unfreezing

Future Direction

  • Upper Bound of PTMs

    • PTMs 并没有发展到其上限。目前大多数的 PTMs 都可以通过使用更多的步长以及更大的数据集来提升性能,因此一个实际的方向是在现有的软 / 硬件基础上,去设计更高效的模型结构、自监督预训练任务、优化器和训练技巧,如 ELECTRA
  • Architecture of PTMs

    • Transformer 的主要局限在于其计算复杂度(输入长度的平方)。GPU 显存大小的限制使得多数 PTMs 无法处理超过 512 个 token 的序列长度。打破这一限制需要改进 Transformer 的结构设计,如 Transformer-XL。设计深层神经网络结构是很有挑战性的任务,或许使用如神经结构搜索 (NAS) 这类自动化的方案
  • Task-oriented Pre-training and Model Compression

    • 在实践中,不同的目标任务需要 PTMs 的不同功能。PTMs 和下游任务的差异通常在于模型架构与数据分发。更大的差异可能会使得 PTMs 的使用收益更小,比如 text generation 和 text matching 的任务就有很大差异
    • 大型 PTMs 应用到实际场景时面临的低容量设备和低延迟应用的要求:为下游任务精心设计特定的模型结构与预训练任务,或者直接从现有的 PTMs 中提取部分与任务有关的知识
    • 使用模型蒸馏技术对现有的 PTMs 进行教育,来完成目标任务
  • Knowledge Transfer Beyond Fine-tuning

    • 提高 Fine-tuning 的参数利用效率。之前 fine-tune 中的参数效率很低,要为每个下游任务 fine-tune 各自的参数。一个改进方案是之前提到过的固定 PTMs 的原始参数,并为特定任务添加小的 fine-tunable adaptation modules,这样就可以使用共享的 PTM 来支持多个下游任务
    • 更灵活的从 PTMs 中挖掘知识,如 feature extraction, knowledge distillation, data augmentation, using PTMs as external knowledge
  • Interpretability and Reliability of PTMs

    • 可解释性:PTMs 的深层非线性结构 / Transformer 类结构 / 语言的复杂性使得解释 PTM 变得更加困难
    • 可靠性:PTMs 在对抗性样本中显得非常脆弱。Adversarial defenses 也是一个非常有前景的方向

你可能感兴趣的:(NLP 预训练模型综述)