NLP这两年:15个预训练模型对比分析与分析
作者头像
  • 张珂珂
  • 2019-10-01 13:43:50 8

前言

本文将探讨一系列预训练语言模型的发展历程及核心机制,特别是从word2vec到BERT的发展路径。近年来,各大科技公司如Google、Facebook、微软、百度和OpenAI等都在不断迭代模型预训练方法,使得模型性能不断提升。本文将重点介绍ELMo以来的15个代表性预训练语言模型,从不同角度对比和分析这些模型的特点和应用领域。

Q1:从不同维度对比各预训练语言模型

本文从四个主要维度对比预训练语言模型:特征抽取机制、预训练目标、BERT系列模型的改进方向和特征表示能力。

特征抽取机制

  • RNNs:如ELMo、ULMFiT、SiATL。
  • Transformer:如GPT1.0、GPT2.0、BERT系列模型。
  • Transformer-XL:如XLNet。

预训练目标

  • 自编码:如BERT系列模型。
  • 自回归:如ELMo、ULMFiT、SiATL、GPT1.0、GPT2.0和XLNet。

BERT系列模型的改进方向

  • 引入常识:如ERNIE系列。
  • 引入多任务学习机制:如MTDNN、ERNIE2.0。
  • 基于生成任务的改进:如MASS、UNILM。
  • 不同的掩码策略:如WWM、ERNIE系列、SpanBERT。
  • 精细化调参:如RoBERTa。

特征表示能力

  • 单向特征表示:如ELMo、ULMFiT、SiATL、GPT1.0、GPT2.0。
  • 双向特征表示:如BERT系列模型和XLNet。

Q2:基于深度学习的NLP特征抽取机制有哪些?各有哪些优缺点?

处理长距离依赖能力

  • Transformer-XL > Transformer > RNNs > CNNs
  • MLP:不考虑序列信息,无法处理变长序列。
  • CNNs:考虑序列信息,但不能处理长距离依赖。
  • RNNs:适合处理序列信息,但不能处理长距离依赖。
  • Transformer/Transformer-XL:通过self-attention机制处理长距离依赖,无位置偏差。

前馈/循环网络 vs. 串行/并行计算

  • MLP/CNNs/Transformer:前馈/并行。
  • RNNs/Transformer-XL:循环/串行。

计算复杂度

  • CNNs:计算复杂度较高。
  • RNNs:计算复杂度较高。
  • Self Attention:计算复杂度较低,可并行计算。

Q3:自回归和自编码语言模型各有什么优缺点?

自回归语言模型

  • 优点:适合处理自然生成任务。
  • 缺点:只能按顺序拆解文本,无法进行双向特征表征。

自编码语言模型

  • 优点:通过引入噪声[MASK]获取上下文相关的双向特征表示。
  • 缺点:引入独立性假设,预训练过程和生成过程不一致。

Q4:单向模型的内核机制是怎样的?有哪些缺陷?

ELMo (Allen Institute)

  • 要点:引入双向语言模型,通过保存预训练好的2层biLSTM进行特征集成或微调。
  • 缺陷:本质上是自回归模型,只能获取单向特征表示,不能同时获取上下文表示。
  • 改进:不能用biLSTM构建双向语言模型,因为会出现标签泄露问题。

ULMFiT (fast.ai) / SiATL

  • 要点:三阶段训练,包括LM预训练、微调特定任务LM和微调特定分类任务。
  • 缺陷:如果预训练数据和目标任务数据类别不同,逐层冻结可能会导致效果不佳。

GPT1.0 / GPT2.0 (OpenAI)

  • 要点:采用Transformer进行特征抽取,首次应用于预训练语言模型。
  • 缺陷:仍然是单向自回归模型,无法获取上下文相关的特征表示。

Q5:Transformer的内部机制

Multi-Head Attention和Scaled Dot-Product Attention

  • 特点:通过attention mask动态编码变长序列,处理长距离依赖、无位置偏差、可并行计算。
  • 为什么使用缩放点积?:避免点积模型的值过大导致softmax函数的梯度较小。
  • 为什么使用双线性点积模型?:引入非对称性,增强模型鲁棒性。
  • 点积模型的优点:计算效率高,适用于高维度数据。

Position-wise Feed-Forward Networks

  • 特点:将每个位置的Multi-Head Attention结果映射到更大的维度空间,引入非线性变换,再恢复到原始维度。

Positional Encoding

  • 特点:通过公式表达,不可学习,编码范围不受限。
  • 目的:使模型能够学习到相对位置信息,固定间距的位置编码具有相同的欧式空间距离。

Q6:BERT为什么如此有效?

  • 引入Masked Language Model (MLM):获取上下文相关的双向特征表示。
  • 引入Next Sentence Prediction (NSP):处理句子匹配任务。
  • 引入强大的特征抽取机制Transformer:通过多头注意力机制处理长距离依赖,引入层归一化和残差连接加速训练。

Q7:BERT存在哪些优缺点?

  • 优点:可以获取上下文相关的双向特征表示。
  • 缺点:生成任务表现不佳,预训练过程和生成过程不一致,无法处理文档级别的任务。

Q8:BERT擅长处理哪些下游NLP任务?

  • 句子和段落级别的任务:如句子匹配、关系抽取、情感分析等。
  • 不适合文档级别的任务:如文档分类等。

Q9:BERT基于“字输入”还是“词输入”好?

  • 基于“词输入”:可以减少OOV问题,但需要更多的训练数据。
  • 基于“字输入”:适合中文任务,不需要复杂的分词过程。

Q10:BERT为什么不适用于自然语言生成任务?

  • 原因:预训练过程和生成过程不一致,导致生成任务效果不佳。
  • 解决方案:可以将BERT或GPT用于Seq2Seq任务,但需要结合训练编码器和解码器。

Q11:针对BERT原生模型,后续的BERT系列模型是如何改进生成任务的?

MASS (微软)

  • 特点:通过Seq2Seq框架统一BERT和LM模型,优化了生成任务。

UNILM (微软)

  • 特点:通过引入不同的注意力掩码机制,优化了生成任务。

Q12:针对BERT原生模型,后续的BERT系列模型是如何引入知识的?

ERNIE 1.0 (百度)

  • 特点:引入预先识别的实体,通过三种掩码策略预测。

ERNIE (THU)

  • 特点:将文本中的实体对齐到知识图谱,通过知识嵌入优化模型。

Q13:针对BERT原生模型,后续的BERT系列模型是如何引入多任务学习机制的?

MTDNN (微软)

  • 特点:在下游任务中引入多任务学习机制,共享知识,提高泛化能力。

ERNIE 2.0 (百度)

  • 特点:在预训练阶段引入多任务学习,通过增量学习方式持续更新预训练模型。

Q14:针对BERT原生模型,后续的BERT系列模型是如何改进掩码策略的?

  • BERT WWM:按照整个单词维度进行掩码。
  • ERNIE等系列:引入外部知识,按照实体维度进行掩码。
  • SpanBERT:通过随机掩码策略,提高模型鲁棒性。

Q15:针对BERT原生模型,后续的BERT系列模型是如何进行精细化调参的?

RoBERTa (Facebook)

  • 特点:丢弃NSP任务,动态改变掩码策略,优化学习率,延长训练序列长度。

Q16:XLNet提出的背景是什么?

  • 背景:传统自回归模型(如ELMo、GPT)无法处理双向上下文,而自编码模型(如BERT)存在独立性假设问题。

Q17:XLNet为何如此有效?

Permutation Language Model (PLM)

  • 特点:通过随机拆解顺序,学习双向上下文,解决了没有目标位置信息的问题。

Two-Stream Self-Attention

  • 特点:引入Query流和Content流,解决预测目标位置信息的问题。

Q18:Transformer-XL如何实现对长文本建模?

  • 特点:采用相对位置编码,缓存前一个segment的表示,处理上下文碎片问题,提高推断速度。

预训练语言模型的未来

未来的预训练语言模型将更加注重以下几个方向: - 改进语言模型目标:突破现有模型的上限。 - 利用大数据和大算力:将数据和算力发挥到极致。 - 提高推断速度:开发轻量级模型,达到顶级效果。 - 引入更多知识信息:精细调参,有价值的掩码策略。 - 统一生成任务框架:如基于XLNet的编码和解码框架,提高解码速度。

    本文来源:图灵汇
责任编辑: : 张珂珂
声明:本文系图灵汇原创稿件,版权属图灵汇所有,未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:图灵汇",违者将依法追究责任。
    分享
分析模型对比训练NLP
    下一篇