• 저자 :M. Lewis, Y. Liu, N. Goyal, M. Ghazvininejad, A. Mohamed, O. Levy, V. Stoyanov, L. Zettlemoyer
1. Introduction
Masked Language Model(MLM)을 통한 denoising autoencoder로 NLP 태스크에서 Self-supervised 방법들이 엄청난 성공을 거두게 되었다. 하지만 이러한 방법은 특정 태스크에 집중하여 적용할 수 있는 분야가 한정되는 단점이 존재한다.
본 논문에서는 Seq2Seq 구조의 denoising autoencoder 모델을 제안하여 적용 가능한 end task의 범위를 넓히고자 하였다. Encoder에서 bidirectional한 정보를 학습하고 decoder에서 원본 텍스트를 생성하는 구조로 구성된다. 이러한 학습을 통해 fine tuning시 text generation 부터 comprehension task 까지 현재 SOTA격인 RoBERTa와 비슷한 성능을 보인다고 제시한다.
2. Model
❒ Architecture
앞서 언급했듯이 BART는 bidirectional encoder와 left-to-right autoregressive decoder로 구성된 Seq2Seq 모델이다.(Base model : 6 Layers / Large model : 12 Layers)
기존 GPT와의 차이점으로는 GPT는 activation function이 ReLU가 사용됐지만, BART에서는 GELUs 가 활용되었고 모델 초기화 파라미터를 모델 N(0, 0.02)으로 설정했다. 그 외의 구조는 Transformer NMT Base 모델 구조와 동일하게 encoder, decoder 간의 cross-attention이 매 encoder layer에서 일어난다.
또한 BERT는 최종 word-prediction을 위해 추가로 feed-forward layer가 필요했지만, BART는 그렇지 않다는 점에서 차이가 존재하고, 같은 수의 레이어일 때, BERT보다 약 10% 많은 파라미터 수를 갖는다.
❒ Pre-training
• Pre training 을 위한 5가지 noise 성능 비교
1) Token Masking: BERT처럼 랜덤 토큰을 masking하고 이를 복구하는 방식
2) Token Deletion: 랜덤 토큰을 삭제하고 이를 복구하는 방식. 토큰 복구뿐만 아니라 삭제된 위치까지 찾도록 학습
3) Text Infilling: 포아송 분포를 따르는 길이의 text span을 생성해서 이를 하나의 mask 토큰으로 masking.
(SpanBERT 에 영감을 받았으나, [MASK] token의 SBO를 맞추는 것이 아닌 token의 숫자를 예측한다는 점이 다름)
4) Sentence Permutation: 여러개의 Document를 문장 단위로 나눠서 섞는 방법
5) Document Rotation: 하나의 token을 뽑은 후, 그 token을 시작점으로 회전함 → 문서의 start point를 찾도록 학습
3. Fine Tuning
❒ Sequence Classification Tasks
동일한 토큰이 encoder와 decoder의 input으로 적용되고 decoder에서의 마지막 hidden state가 classifier layer를 거쳐 Classification이 수행된다(아래 첫번째 그림). BERT의 첫번째 CLS 토큰을 활용하여 Classification을 수행하는 것과 비슷하지만(아래 두번째 그림), BART의 경우 모든 문맥정보의 attention을 반영한 최종 hidden state값을 활용할 수 있다.
(Token Classification Task의 경우 최종 hidden state가 아닌, 각 토큰별 hidden state값을 classification에 활용)
❒ Sequence Generation Tasks
BART는 auto regressive 디코더를 통해 직접적인 fine-tuning이 가능하다. 대표적인 sequence generation task인 abstract QA, summarization와 같은 경우, encoder의 입력으로 input sequence가 들어가고 decoder에서 출력이 생성된다.
❒ Machine Translation Tasks
기계 번역 태스크에서는 encoder 부분에서의 약간의 변형이 있다. Embedding layer를 랜덤하게 Initialized parameter 기반의 encoder로 대체되며 이 encoder layer가 다른 외국어를 원래의 언어로 de-noise할 수 있는 입력으로 만들도록 학습된다. 이 새로운 encoder는 두단계로 학습하는데 두 방법 모두 cross-entropy loss로 backpropagate 한다. 처음에는 대부분의 BART 파라미터는 freeze 시키고 인코더와 BART의 position embedding, encoder의 첫번째 레이어 self-attention input projection matrix만 학습시키며, 두번째 단계에서는 모든 파라미터를 원래대로 학습시킨다.
4. Results
BART를 활용한 기타 SOTA 모델들과의 성능비교 부분을 특히 중요한 부분에 대해서 간략하게 정리했다. BART는 RoBERTa와 동일한 160GB의 학습데이터를 사용하여 Pre training을 거쳤으며, 언어이해 태스크에서 RoBERTa와 비슷한 수준의 성능을 보였다. NLU task인 기계독해 SQuAD v1.0, v2.0 모두 유사한 F1 score를 보였다. 또한, BERT나 RoBERTa에서는 적용에 제한이 되는 NLG Tasks에서도 SOTA 모델과 유사한 성능을 보였다. 언어 생성 태스크인 XSum 요약 태스크에서는 선행 연구 최고 성능인 31.27 Rouge-L 점수보다 5.98점 높은 37.25 Rouge-L 점수를 획득하였다.