Paper review/Natural Language Processing

Bigbird: Transformers for Longer Sequences (NeurIPS'20)

언킴 2022. 5. 22. 16:15
반응형

Contents

     

     

     

    RNN, LSTM, GRU 이후 Transformers가 제안되고 부터 다양한 분야에서 Transformer 기반 모델이 사용되었으며, 특히 자연어 처리(Natural Language Processing, NLP) 분야에서 많이 사용되고 있다. 이번 글에서는 Transformers의 문제를 개선한 모델인 Bigbird를 제안한 논문을 리뷰하고자 한다. [Transformers], [Bigbird]

     

    Introduction

    BERT (Bidirectional Encoder Representations from Transformers), GPT (Generative Pre-trained Transformers) 등과 같이 Transformer-based model(이하 Transformers)은 NLP 분야에서 널리 사용되는 기법 중 하나이다. Transformers는 Self-attention을 도입해 RNN, LSTM 등의 기존 Sequence 모델이 가지고 있는 장기 의존성(Long-term Dependency) 문제를 제거하고, 입력 문장을 병렬로 처리해 대용량 학습이 가능하도록 하였다. 

     

    Self-attention은 target token과 neighbor token 간의 inner-product를 통해 계산된다. 따라서, Sequence의 길이가 길어지면 길어질수록 요구되는 연산이 많아지기 때문에 일반적으로 512 token으로 입력 문장의 길이를 제한하고 있다. 따라서, 문서 요약, 문서 분류, Q&A 등과 같이 입력 문장의 길이가 512 token 보다 훨씬 긴 경우 성능이 저하된다는 문제가 존재한다. 

     

    Bigbird는 다음과 같은 아이디어를 기반으로 기존 모델의 성능을 개선하였다. 

    • A set of $g$ global tokens attending on all parts of the sequence.
    • All tokens attending to a set of $w$ local neighboring tokens.
    • All tokens attending to a set of $r$ random tokens.

     

    실험 결과 transformers의 시간 복잡도 $O(n^2)$을 $O(n)$으로 감소시킴으로써, 512 token보다 8배 긴 문장을 입력 받을 수 있게 된 것 뿐만 아니라 기존 Fully Self-attention의 성능까지 달성하였다. 게다가 문서 요약, Q&A 등과 같이 입력 문장의 길이가 긴 분야에서는 SOTA를 달성하였다.

     

     

    Relate Work

    Bigbird가 나오기 이전에 Transformer의 문제점을 해결하기 위해 두 가지 방향으로 관련 연구들이 진행되었다. 

    1. 입력 문장의 길이는 512 token으로 사용하고, sliding window 방식을 통해 입력 문장을 여러 block으로 받는다. 
      • 대표적인 모델은 SpanBERT, ORQA, REALM, RAG이다.
    2. 입력 문장의 길이를 늘리기 위해 fully Self-attention가 아닌 다른 방식을 통해 성능을 개선한다.
      • 대표적인 모델은 Reformer, BlockBERT, Longformer이다. 

    연구에서는 Random Attention, Window Attention, Global Attention 결합한 Sparse Attention Mechanism 적용한 Bigbird 제안하였다. 이를 통해 기존 모델들이 입력으로 사용하는 512 token보다 8 4096 token 다룰 있게 되었다.

     

    Bigbird Architecture

    Bigbird는 Multi-head attention과 feed forward network로 구성되어 있는 Transformer 구조를 기반으로 학습된다. 다만 Self-attention 부분에서 Fully Self-attention이 아닌 generalized attention mechanism을 사용한다는 것이 차이점이다. Bigbird가 사용하는 generalized attention mechanism은 먼저 input sequence $X = (x_1, x_2, ..., x_n) \in \mathbb{R}^{n \times d}$를 입력으로 받으며, 이때 $X$는 $d$ 차원으로 Embedding된 입력 문장을 의미한다. 이때 generalized attention mechanism는 노드(Vertex) 집합 $[n] = \{1, ..., n\} $와 inner-product를 표현하는 엣지(Edge) 집합으로 구성된 유향 그래프(directed graph) $D$로 표현할 수 있다. $N(i)$를 노드 $i$의 out-neighbor로 정의하면, generalized attention mechaism 의 $i^{\text{th}}$ output vector는 다음과 같다. 

    \[ \text{ATTN}_D(\boldsymbol{X})_i = \boldsymbol{x}_i + \sum^{H}_{h=1} \sigma ( Q_h(\boldsymbol{x}_i) K_h (\boldsymbol{X}_{N(i)})^T) \cdot V_h (\boldsymbol{X}_{N(i)}) \]

    $Q_h, K_h, V_h$는 각각 Query, Key, Value Vector를 의미한다. $\sigma$는 Scoring Function으로 본 논문에서는 Softmax 혹은 Hardmax를 사용한다. $H$는 Self-attention을 수행할 때 head의 수를 의미한다. 예를 들어 인접 행렬 $A \in [0, 1]^{n \times n}$이 있을 때 $Q(\boldsymbol{x}_i)$와 $K(\boldsymbol{x}_j)$가 attend 한다면 1, 아닌 경우 0으로 표기할 수 있다. 만약 BERT와 같이 Full Self-attention을 사용하는 모델인 경우에는 모두 1로 채워진 인접 행렬로 표현할 수 있을 것이다. 이처럼 Self-attetion을 Fully-connected Graph로 표현할 수 있기 때문에 Graph Sparsification Theorem을 적용하여 complexity를 줄일 수 있다. 

     

    이와 같은 방법을 적용하여 Random Graph로 Complete Graph를 근사하였으나 기존 BERT의 성능에는 미치지 못하였다. 본 연구에서는 성능을 개선하기 위해 많은 실험을 수행하였으며, 결과적으로 두 가지 방법의 Global token을 적용하였을 때 가장 우수한 성능을 발휘하는 것을 확인하였으며 방법은 다음과 같다. 

    • Bigbird-ITC: entire sequence에 존재하는 일부 token을 global token으로 지정하고, 이를 모든 token에 대해서 attention을 계산한다.
    • Bigbird-ETC: sequence에 [CLS] token과 같은 global token을 추가한다. 

    최종적으로 결정된 BigBird의 Attention Mechanism은 아래의 그림의 (d)와 같다. 

     

    본 논문에서는 input sequence의 길이가 긴 경우 Bigbird의 성능이 우수한지 확인하기 위해 Q&A tasks와 Document summarization를 통해 성능을 비교하였으며, 비교한 결과는 다음과 같다. 

    Q&A Tasks
    Summarization Tasks

     

    WikiHop은 Accuarcy 평가지표를 사용하고, HotpotQA, NaturalQ, TriviaQA는 F1-score 평가지표를 사용하였다. Summarization Task에서는 ROUGE 평가지표를 사용해 요약이 잘 되었는지 확인하였다. Q&A Task에서는 대부분의 경우 Bigbird의 성능이 좋은 것을 확인할 수 있다. Summarization Task에서는 모든 경우에 Bigbird가 우수한 것을 확인할 수 있다.