Transformers 에서 사용하는 self-attention은 통상적으로 512 토큰으로 입력 문장의 길이를 제안하고 있다. self-attention은 inner-product를 통해 계산이 되기 때문에 시퀀스의 길이가 길어지면 길어질수록 요구되는 연산량은 많아진다.
Big Bird는 generalized attention mechanism을 통해 연산량을 줄였다. generalized attention mechanism은 d차원으로 된 n개의 시퀀스가 주어지고, 노드(vertex)의 모든 집합과 inner-product를 표현하는 엣지(Edge) 집합으로 구성된 directed graph로 표현 할 수 있다.
위 그림에서와 같이 Big Bird는 self-attention을 Fully-connected Graph로 표현 했을 때 Random Graph를 Complete Graph로 근사하였으며, 우수한 성능 발휘하기 위해 [CLS] token과 같은 global token을 추가하였다.
Random graph는 크기를 늘렸을 때 self-attention보다 shortest path가 기하급수적으로 증가하지 않는 장점이 있다.
random attention : query와 r개의 random keys간의 attention
window attention : query 양옆 w개의 keys와의 attention
global attention : query와 g개의 global token과의 attention
이러한 계산량을 줄이는 방법으로 기존 token에 비해 8배 긴 token을 다룰 수 있게 하였다