본문 바로가기
NLP

BART (2019) 논문 리뷰

by 아르카눔 2024. 11. 4.

 

BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translation, and Comprehension라는 이름이다. 가장 유명한 Encoder-Decoder 모델 중 하나다. (링크)

 

해당 논문의 저자는 Mike Lewis, Yinhan Liu, Naman Goyal, Marjan Ghazvininejad, Abdelrahman Mohamed, Omer Levy, Ves Stoyanov, Luke Zettlemoyer다.

 

 

 

Abstract

BART는 Denoising autoencoder로 pre-training sequence-to-sequence 모델이다. 임의의 noising function으로 텍스트는 corrupting하고 이를 재구축 (reconstruct)하여 학습한다. 표준적인 Transformer 구조를 사용한 BERT (bidirectional encoder)와 GPT (left-to-right decoder, 왼쪽에서 오른쪽으로 향하는 단방향 디코더) 구조를 일반화한다. 원본 문장의 shuffle이나 in-filling이라는 새로운 방법의 noising 방법을 사용한다. GLUE와 SQuAD 벤치마크에 대해서 RoBERTa와 비교한다.

 

 

 

 

2. Model

 

표준적인 sequence-to-sequence Transformer 구조를 따르되 GPT에서 사용한 GeLU로 activation function을 대체했다. 오리지널 Transformer는 ReLU를 사용했다. 파라미터는 $N(0, 0.02)$로 weight initialization을 수행한다. Encoder와 decoder는 각각 6개의 layers를 쌓았다. Figure 1에 BART의 구조가 나와있다. 

 

 

 

2.1. Pre-training BART

 

 

Pre-train을 위한 각각의 데이터 전처리 방법은 위 Figure 2에 그림으로 나와있으며 자세한 설명은 아래와 같다.

 

Token Masking

BERT에서처럼 랜덤하게 토큰을 뽑아서 [MASK]로 대체한다. MASK된 토큰을 예측한다. 

 

Token Deletion

임의의 토큰을 삭제한다. 토큰 마스킹과의 차이점은 모델이 어떤 포지션들이 missing inputs인지를 판별한다는 점이다.

 

Text Infilling

Poisson distribution ($\lambda $ = 3)에서 span lengths를 뽑는다. 각각의 span은 single [MASK]로 대체된다. 

그리고 모델로 하여금 정확히 같은 span 길이에 맞게 토큰을 예측하도록 만든다. 

 

Sentence Permutation

하나의 document에 있는 문장들을 full stops를 기준으로 나눈 다음 랜덤한 순서로 섞는다.

 

Document Rotation

Sentence permutation과 다르다. 임의의 토큰을 고른다음 그 토큰을 문서의 시작지점으로 만든다. 

이 방법은 모델이 문서의 시작을 식별할 수 있게 하기 위한 목적이다.

 

3. Fine-tuning BART

 

 

3.1. Sequence Classification Tasks

Encoder와 decoder에 같은 input을 넣어준다.

BERT와 유사하지만 end를 표기하는 토큰을 추가해서 decoder에서 encoder에서 들어가는 input과 decoder에 들어가는 input을 구별하게 한다. Figure 3a의 <s> 토큰이다. 

 

3.2. Token Classification Tasks

Encoder와 decoder에 complete document라는 동일한 input을 넣어준다.

 

3.3. Sequence Generation Tasks

Encoder에만 input sequence를 넣어주고 decoder는 autoregressivley generation을 수행한다.

 

3.4. Machine Translation

Word embedding을 대체할 작은 encder 를 추가한다.

맨 처음 단계에서는 BART의 대부분의 파라미터를 freeze하고 추가적인 encoder인 source encoder만을 학습한다.

두 번째 단계에서는 모든 파라미터를 작은 수의 iterations로 학습한다.

 

 

4. Comparing Pre-training Objectives

Language Model

GPT에서 사용한 next token prediction이다. 

 

Permuated Language Model

XLNet에서 사용한 방법으로 1/6의 토큰을 샘플링한다. 그리고 이를 random order autoregressivley로 생성한다.

 

Masked Language Model

BERT와 똑간이 15%의 토큰을 [MASK]로 변경하고 예측한다.

 

Multitask Masked Language Model

UniLM에서와 같은 방법이다. 1/6 left-to-right, 1/6 right-to-left, 1/3 unmasekd, 1/3 with the first 50% of tokens unmasked, 그리고 나머지는 left-to-mask를 취한다.

 

Masked Seq-to-Seq

MASS 모델에서 영감을 받았으며 토큰의 50%를 해당하는 span을 마스킹한다. 마스킹된 토큰을 예측한다.

 

Tasks

SQuAD, MNLI, ELI5, XSum, ConvAI2, CNN/DM

 

ELI5는 Long-form abstrative question-answering 데이터다.

XSum은 뉴스 요약 데이터다.

ConvAI2는 대화 응답 생성 데이터다.

CNN/DM은 뉴스 요약 데이터다.

 

Results

 

 

BART의 경우 대체로 Text Infilling을 사용한 방법이 좋은 성능을 보인다.

 

 

 

 

 

 

 

RoBERTa와 엎치락 뒤치락 하는 성능을 보여준다.

 

끝으로 BART의 요약 성능을 나타내는 테이블 7으로 마무리한다.

 

 

 

 

 

 

References:

https://seokdonge.tistory.com/12

 

 

'NLP' 카테고리의 다른 글

T5 (2019) 논문 리뷰  (0) 2024.11.08
RoBERTa (2019) 논문 리뷰  (0) 2024.11.07
LLM 개인용 유료 구독 가격 비용 정리  (0) 2024.08.02
GPT (2018) 논문 리뷰  (0) 2024.07.22
BERT (2018) 논문 리뷰  (0) 2024.06.25