论文阅读笔记(9)——《A Practical Survey on Faster and Lighter Transformers》

  • 1 Abstract
  • 2 Introduction
    • recurrent neural networks (RNNs)
    • long short-term memory (LSTM) network
    • sequence to sequence framework
    • inter-attention
    • relative effective context length (RECL)
    • Transformer
  • 3 Transformer
    • A. Encoder
    • B. Decoder
    • C. Self-Attention
    • D. Complexity
  • 4 General Approaches
    • 1 Gradient Checkpointing
    • 2 Micro-Batching
    • 3 Reversible Layers
    • 4 Parameter Sharing
    • 5 Pruning
    • 6 Knowledge Distillation
    • 7 Mixed-Precision
    • 8 Mixture of Experts
    • 9 Sample-Efficient Objective
    • 10 Architecture Search
    • 11 Conditional Computing
  • 5 Specific Approaches
    • 1 Recurrence
    • 2 Sparse Attention
    • 3 Locality-Sensitive Hashing
    • 4 Low-Rank Factorization
    • 5 Kernel Attention
  • 6 General Discussion
    • A. Shortcomings
    • B. Future Research Directions
    • C. Broader Impact

1 Abstract

Recurrent neural networks 是处理序列的有效模型。然而,由于其固有的顺序性,它们无法学习长期的依赖关系。为解决这个问题,Vaswani等人引入了 Transformer 模型,这是一种完全基于 attention mechanism 的模型,它能够将输入序列的任意两个位置联系起来,因此可以对任意长依赖关系进行建模。
Transformer模型在众多序列建模任务中改进了最先进的模型。然而,它的有效性是以牺牲相对于序列长度的二次计算和内存复杂度为代价的,这阻碍了它的采用。幸运的是,深度学习社区一直致力于提高模型的效率,产生了大量的解决方案,如参数共享、剪枝、混合精度和知识蒸馏。
最近,研究人员通过设计低复杂性的替代方案,然而由于解的范围很广,决定在实践中应用哪种方法来满足容量、计算量和内存之间的平衡已经成为一项挑战。本文通过调查使Transformer更快、更轻的流行方法来解决这个问题,并提供了对这些方法的优点、局限性和潜在假设的全面解释。

2 Introduction

recurrent neural networks (RNNs)

基于参数共享的思想处理变长序列
论文阅读笔记(9)——《A Practical Survey on Faster and Lighter Transformers》_第1张图片

long short-term memory (LSTM) network

RNN会出现梯度消失或爆炸,无法学习长期依赖。LSTM可以用穿越时间的路径来绕过梯度问题。
Cho等人后来用更简单的门控循环单元(GRU)改进了LSTM。

sequence to sequence framework

RNN在每个时间步上输出一个向量。因此,输出序列必须与输入序列具有相同的长度。为解决上述限制,提出Seq2Seq框架。
第一个网络(编码器)处理整个输入序列并返回其最后一个隐藏表示 h ( n ) h^{(n)} h(n),有效地将输入编码为名为context的固定大小向量。然后上下文作为第二个网络(解码器)的初始状态,后者生成输出序列。
论文阅读笔记(9)——《A Practical Survey on Faster and Lighter Transformers》_第2张图片

inter-attention

badanau等人引入了一种称为 inter-attention 交互注意的对齐机制,以克服序列对序列框架中的内存压缩问题。这种注意机制为每个输出步骤计算输入的不同表示,有效地允许解码器“查看”每个输出步骤的输入的相关部分。
因此,交互注意减轻了编码器将所有关于输入序列的信息编码成固定大小向量的负担。
论文阅读笔记(9)——《A Practical Survey on Faster and Lighter Transformers》_第3张图片

relative effective context length (RECL)

RNN 很难学会远距离位置之间的依赖关系。这种限制的一种量度是Dai等人引入的相对有效上下文长度(RECL)。RECL是最大的上下文长度,可以带来相对于最佳模型的实质性收益;换句话说,与最佳模型相比,增加RECL上的上下文长度所带来的性能增长可以忽略不计。

Transformer

LSTMs 能清晰地模拟最近的位置,但只能模糊地回忆遥远的位置。RNN 不能胜任需要处理非常长的序列的领域,例如 DNA。
为了克服这一限制,Vaswani等人引入了Transformer,这是一种没有循环的 sequence-to-sequence model 构建。相反,Transformer 只依赖于 attention mechanism 注意机制:编码器和解码器之间的 inter-attention 相互注意,以及编码器和解码器内部的 self-attention 自我注意,也称为 intra-attention 内部注意。
self-attention 自我注意的主要优势是它能够将输入序列的任意两个位置联系起来,而不考虑它们的距离,因此允许在广泛的任务中显著提高性能。
Transformer的容量是以相对于序列长度的二次计算和内存复杂度为代价的。

3 Transformer

A. Encoder

Transformer 的编码器定义为由L个相同的层或块组成的函数,每个层由两个子层组成。第一个子层是 self-attention
mechanism 自我注意机制,它允许编码器对每个位置集中注意序列的相关部分,类似于 inter-attention 相互注意。第二个子层是一个简单的 fully connected feed-forward network 全连接的前馈网络,应用于每个位置(位置方向)独立和相同的。前馈网络增加了编码器的表现力,并将自我注意的输出转换到下一层。
灵感来自ResNet,跳跃连接或残余连接应用在每个子层周围,以创建一个直接路径梯度流通过网络。残差连接使深层神经网络的训练更加稳定。
使用Lei Ba等人引入的层归一化技术对剩余连接后的两个子层输出进行归一化。
Normalization 归一化是深度学习中广泛采用的一种技术,可以使训练更快、更稳定。尽管归一化的经验成功背后的基本原理还没有被完全理解,但已有理论认为,主要原因是更平滑的优化景观,以及在较小程度上,内部协方差移动[23]的减少。
主要公式:
X A =  LayerNorm  ( Attention ⁡ ( X ) + X ) X B = LayerNorm ⁡ ( FFN ⁡ ( X A ) + X A ) \begin{array}{l} \boldsymbol{X}_{A}=\text { LayerNorm }(\operatorname{Attention}(\boldsymbol{X})+\boldsymbol{X}) \\ \boldsymbol{X}_{B}=\operatorname{LayerNorm}\left(\operatorname{FFN}\left(\boldsymbol{X}_{A}\right)+\boldsymbol{X}_{A}\right) \end{array} XA= LayerNorm (Attention(X)+X)XB=LayerNorm(FFN(XA)+XA)
 LayerNorm  ( x ) = g ⊙ x − μ σ 2 + ϵ + b \text { LayerNorm }(\boldsymbol{x})=\boldsymbol{g} \odot \frac{\boldsymbol{x}-\mu}{\sqrt{\sigma^{2}+\epsilon}}+\boldsymbol{b}  LayerNorm (x)=gσ2+ϵ xμ+b
μ = 1 d ∑ i = 1 d x i  and  σ 2 = 1 d ∑ i = 1 d ( x i − μ ) 2 \mu=\frac{1}{d} \sum_{i=1}^{d} x_{i} \quad \text { and } \quad \sigma^{2}=\frac{1}{d} \sum_{i=1}^{d}\left(x_{i}-\mu\right)^{2} μ=d1i=1dxi and 

你可能感兴趣的:(自然语言处理,机器学习,论文阅读笔记,算法,神经网络,机器学习,Transformer)