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
global tokens attending on all parts of the sequence. - All tokens attending to a set of
local neighboring tokens. - All tokens attending to a set of
random tokens.
실험 결과 transformers의 시간 복잡도
Relate Work
Bigbird가 나오기 이전에 Transformer의 문제점을 해결하기 위해 두 가지 방향으로 관련 연구들이 진행되었다.
- 입력 문장의 길이는 512 token으로 사용하고, sliding window 방식을 통해 입력 문장을 여러 block으로 받는다.
- 대표적인 모델은 SpanBERT, ORQA, REALM, RAG이다.
- 입력 문장의 길이를 늘리기 위해 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
이와 같은 방법을 적용하여 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를 통해 성능을 비교하였으며, 비교한 결과는 다음과 같다.



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