0. Abstract
본 논문은 sequence-to-sequence 모델을 사전학습하기 위한 denoising autoencoder인 BART를 소개한다. BART는 임의의 noising 함수를 사용해 텍스트를 손상시키고 모델이 원본 텍스트를 재구성하도록 학습되었다. BART는 표준 Transformer 기반 신경망 기계 번역 아키텍처를 사용하는데, 이는 간단함에도 불구하고 BERT(양방향 인코더 사용), GPT(좌우 디코더 사용) 및 기타 여러 최신 사전 학습 방식을 일반화한 것으로 볼 수 있다. 본 논문에서는 원래 문장의 순서를 무작위로 섞고 텍스트 범위를 단일 마스크 토큰으로 대체하는 새로운 infilling scheme를 사용해 여러 noise 처리 방법을 평가하여 최상의 성능을 찾았다. BART는 텍스트 생성을 위해 finetuning될 때 특히 효과적이지만 이해 작업에도 잘 작동한다.
1. Introduction
Self-supervised method는 NLP task 전반에 놀라운 성과를 거두었는데 가장 성공적인 접근 방법은 masked language model의 변형으로, 단어 일부를 랜덤으로 masking한 텍스트를 재구성하도록 훈련된 denoising autoencoder이다. 그러나 이 방법은 일반적으로 특정 유형의 최종 작업(예: 스팸 예측, 생성)에 초점을 맞춰 적용성이 제한된다.
본 논문에서는 Bidirectional과 Auto-Regressive Transformers를 결합한 모델인 BART를 제안한다. BART는 광범위한 task에 적용 가능한 sequence-to-sequence model로 구축된 denoising autoencoder이다.
사전학습은 2단계로 이루어진다.
(1) 텍스트가 임의의 noising function에 의해 손상되고
(2) sequence-to-sequence model이 원본 텍스트를 재구성하도록 배운다.
BART는 표준 Transformer 기반 신경망 기계 번역 아키텍처를 사용하는데, 이는 간단함에도 불구하고 BERT(양방향 인코더 사용), GPT(좌우 디코더 사용) 및 기타 여러 최신 사전 학습 방식을 일반화한 것으로 볼 수 있다(Figure 1 참조).
이 셋업의 주요 장점은 noising flexibility이다. 길이를 변경하는 것을 포함해 임의의 transformations을 원본 텍스트에 적용할 수 있다. 본 논문은 여러 noising approach를 평가해 원래 문장의 순서를 무작위로 섞고 임의의 길이의 텍스트 범위를 단일 마스크 토큰으로 대체하는 새로운 in-filling scheme를 사용해 최고의 성능을 찾는다. 이 접근 방식은 모델이 전체 문장의 길이에 대해 더 많이 추론하고 입력에 대한 더 긴 범위 변환을 수행하도록 강제하여 BERT에서 원래 단어 마스킹 및 다음 문장 예측 목표를 일반화한다.
BART는 텍스트 생성을 위해서 미세 조정될 때 특히 효과적이지만 이해 작업에도 잘 작동한다. GLUE 및 SQuAD에서 비슷한 교육 리소스와 함께 RoBERTa의 성능과 비슷하며 다양한 추상 대화, 질의 응답 및 요약 작업에서 새로운 최첨단 결과를 달성한다.
BART는 또한 미세 조정에 대한 새로운 사고 방식을 열어준다. BART 모델이 몇 개의 additional transformer layer 위에 쌓이는 기계 번역을 위한 새로운 방식을 제시한다. 이러한 layer는 BART를 통해 propagation 됨으로써 외국어를 noise가 있는 영어로 본질적으로 번역하도록 훈련되므로 BART를 pretrained target-side language model로 사용한다.
2. Model
BART는 손상된 document를 파생된 원본 document에 매핑하는 denoising autoencoder다. 손상된 텍스트에 대한 bidirectional encoder와 왼쪽에서 오른쪽으로의 autoregressive decoder를 갖춘 sequence-to-sequence model로 구현된다. 사전 학습을 위해, 본 논문에서는 원본 문서의 negative log liklihood를 최적화한다.
2.1 Architecture
BART는 standard sequence-to-sequence Transformer architecture를 사용하지만 GPT와 같이 ReLU activation function을 GeLU로 수정하고, 매개변수를 N(0, 0.02)로부터 초기화한다. base model의 경우 encoder와 decoder에 6개 layer를 사용하고 large model의 경우 각각 12개의 layer를 사용한다.
이 architecture는 다음과 같은 차이점을 제외하고 BERT에서 사용되는 architecture와 밀접한 관련이 있다.
(1) decoder의 각 layer는 encoder의 마지막 hidden layer에 대한 cross-attention을 추가로 수행한다.
(2) BERT는 단어 예측 전에 추가적인 feedforward network를 사용하지만 BART에는 없다.
전체적으로 BART는 동일한 크기의 BERT 모델보다 약 10% 더 많은 매개변수를 포함한다.
2.2 Pre-training BART
BART는 document를 손상시킨 다음 decoder 출력과 원본 document 간 cross entropy인 reconstruction loss를 최적화하여 훈련한다. 기존의 denoising autoencoder와 달리, BART는 모든 유형의 document corruption을 적용할 수 있다. 소스에 대한 모든 정보가 손실될 경우, BART는 언어 모델과 동일해진다.
본 논문에서 사용한 noising approach은 Figure 2에 나와 있다.
Token Masking
BERT에서와 같이, random token이 샘플링되어 [MASK]로 대체된다.
Token Deletion
Random token이 input으로부터 삭제된다. Token Masking과 달리 모델은 어떤 위치에 input이 없는지 결정해야 한다.
Text Infilling
여러 text span들이 샘플링되고, span 길이는 poisson distribution($ \lambda =3 $)에서 추출된다.각 span은 단일 [MASK] 토큰으로 대체된다. 길이가 0인 span은 [MASK] 토큰 삽입에 해당된다. Text Infilling은 모델에 span에서 누락된 토큰의 수를 예측하는 방법을 알려준다.
Sentence Permutation
document는 마침표를 기준으로 문장으로 나뉘고, 이러한 문장들은 무작위 순서로 섞인다.
Document Rotation
토큰은 무작위로 균일하게 선택되고 document는 해당 토큰으로 시작되도록 회전된다. 이 작업은 모델이 문서의 시작을 식별하도록 훈련한다.
3. Fine-tuning BART
BART에서 생성된 표현은 downstream applications에 대해 여러 방법으로 사용될 수 있다.
3.1 Sequence Classification Tasks
sequence classification task의 경우 동일한 input이 encoder와 decoder에 입력되고 final decoder token의 hidden state가 새로운 multi-class linear classifier에 입력된다. 이 접근 방식은 BERT의 CLS 토큰과 관련이 있지만, decoder의 토큰 표현이 전체 입력의 decoder states에 참여할 수 있도록 additional 토큰을 끝에 추가한다(Figure 3a).
3.2 Token Classification Tasks
token classification task의 경우, 전체 document를 encoder와 decoder에 공급하고, decoder의 최상위 hidden state를 각 단어의 표현으로 사용한다. 이 표현은 토큰을 분류하는데 사용된다.
3.3 Sequence Generation Tasks
BART에는 autoregressive decoder가 있기 때문에, 추상적인 질문&답변과 요약같은 sequence 생성 작업에 대해 직접적으로 fine-tunning 할 수 있다. 이 작업 모두 정보는 input에서 복사되지만 조작되며, 이는 denoising pre-training objective와 밀접한 관련이 있다. 여기서 encoder input은 input sequence고, decoder는 output을 autoregressively하게 생성한다.
3.4 Machine Translation
또한 BART를 사용해 영어로 번역하기 위한 machine translation decoder를 개선하는 방법을 탐구한다. 이전 연구에서는 pretrained encoder를 통합해 모델을 개선할 수 있음을 보여주었지만, decoder에서 pretrained language model을 사용해 얻는 이점은 제한적이었다. 우리는 여기에 bitext로 학습된 새로운 encoder parametes 셋을 추가해 전체 BART 모델(encoder, decoder 모두)을 기계 번역을 위한 단일 pretrained decoder로 사용할 수 있음을 보여준다.(Figure 3b)
더 정확히 말해, 우리는 BART의 encoder embedding layer를 새로운 랜덤 초기화된 encoder로 대체한다. 이 모델은 end-to-end로 학습되어, 새로운 encoder는 BART가 외국어를 BART가 영어로 de-noise할 수 있는 input으로 매핑하도록 학습한다. 새 encoder는 원래의 BART 모델로부터 분리된 어휘를 사용할 수 있다.
우리는 source encoder로 2 단계로 훈련하는데, 두 경우 모두 BART 모델의 output에서 cross entropy loss를 역전파한다.
첫 번째 단계에서 BART parameter 대부분을 freeze하고 무작위로 초기화된 source encoder, BART positional embedding과 BART encoder 첫 번째 층의 self attention input projection matrix만 업데이트한다.
두 번째 단계에서는 모든 model parameter를 적은 수의 반복으로 훈련한다.
4. Comparing Pre-training Objectives
본 논문에서는 base model(6개의 encoder와 6개의 decoder layer, 768의 hidden size)를 사용해 다양한 옵션을 비교한다.
4.1 Comparison Objectives
많은 사전 학습 목표가 제안되었지만, 해당 목표 간 공정한 비교는 수행하기 어려웠다. 적어도 부분적으로는 학습 데이터, 학습 리소스, 모델 간의 구조적 차이, 미세 조절 절차의 차이 때문이다. 본 논문에서는 pre-training objective와 관련 없는 차이를 최대한 제어하는 것을 목표로 한다. 그러나 성능 개선을 위해 learning rate와 layer normalisation의 사용에 작은 변경을 가한다. 또한 책과 위키피디아 데이터를 좝해 1M steps로 학습한 BERT의 공개된 숫자와 구현을 비교한다.
Language Model
GPT와 유사하게, left-to-right Transformer language model을 학습한다. 이 모델은 cross-attention이 없는 BART decoder와 동일하다.
Permuted Language Model
XLNet을 기반으로 토큰의 1/6을 샘플링하고 이를 무작위 순서로 autoregressively하게 생성한다. 다른 모델과의 일관성을 위해 XLNet의 segment 간 상대적인 positional embedding이나 attention을 구현하지 않는다.
Masked Language Model
BERT에 따라 토큰의 15%를 [MASK] 로 대체하고 원래 토큰을 독립적으로 예측하도록 모델을 훈련한다.
Multitask Masked Language Model
UniLM에서와 같이, 추가적인 self-attention mask가 있는 Masked Language Model을 훈련한다. self attention mask는 다음 비율로 무작위로 선택된다. : 1/6 left-to-right, 1/6 right-to-left, 1/3 un-masked, and 1/3 with the first 50% of tokens unmasked and a left-to-right mask for the remainder.
Masked Seq-to-Seq
MASS에서 영감을 받아, 토큰의 50%를 포함하는 범위를 mask하고 masked token을 예측하기 위해 sequence-to-sequence 모델을 학습한다.
본 논문에서는 2가지를 실험한다.
(1) task를 source input이 encoder에 target이 decoder의 output이 되는 standard sequence-to-sequence 문제로 다루는 것
(2) source를 decoder에서 target에 접두사로서 추가하고, loss는 targe에 대해서만 계산
전자는 BART 모델에서 더 잘 작동하고 후자는 다른 모델에서 더 잘 작동한다는 것을 발견했다. fine-tuning model의 성능과 BART 모델을 직접적으로 비교하기 위해, Table 1에 perplexity를 보고한다.
4.2 Tasks
SQuAD
위키피디아 문단에 대한 추출적 질의 응답 과제이다. 답변은 주어진 document context에서 추출된 text span이다. BERT와 유사하게, 우리는 연결된 질문과 컨텍스트를 BART의 encoder에 대한 입력으로 사용하고, 추가로 이것을 decoder에 전달한다. 이 모델에는 각 토큰의 시작 및 종료 인덱스를 예측하는 분류기가 포함되어 있다.
MNLI
한 문장이 다른 문장을 수반하는지 예측하는 이중 텍스트 분류 작업이다. finetuned model은 두 문장을 EOS 토큰을 첨부해 연결하고 BART encoder와 decoder에 모두 전달한다. BERT와 달리 EOS 토큰의 표현은 문장 관계를 분류하는데 사용된다.
ELI5
장문 추상 질문 답변 데이터 세트이다. 모델은 질문과 지원 문서의 연결에 따라 답변을 생성한다.
XSum
추상적인 요약을 포함한 뉴스 요약 데이터 세트
ConvAI2
맥락과 페르소나에 따라 달라지는 대화 응답 생성 과제
CNN/DM
뉴스 요약 데이터 세트. 요약은 일반적으로 소스 문장과 밀접하게 관련되어 있다.
4.3 Results
Performance of pre-training methods varies signifi- cantly across tasks
pretraining 방법의 효과는 task에 따라 크게 달라진다. 예를 들어, 간단한 언어 모델은 최상의 ELI5 성능을 달성하지만 최악의 SQuAD 결과를 얻는다.
Token masking is crucial
rotating document 또는 permuting sentences에 기반한 pretraining objective들은 isolation에서 성능이 좋지 않다. 성공적인 방법은 Token Deletion이나 masking, 또는 self-attention mask를 사용하는 것이다. Deletion은 생성 작업에서 masking보다 성능이 좋은 것으로 보인다.
Left-to-right pre-training improves generation
Masked Language Model과 Permuted Language Model은 생성 단계에서 다른 모델보다 성능이 떨어지며, pretraining 중에 left-to-right auto-regressive language modelling을 포함하지 않는 유일한 모델이다.
Bidirectional encoders are crucial for SQuAD
이전 연구에서 언급했듯이, left-to-right decoder가 SQuAD에서 성능이 좋지 않은 이유는 미래 맥락이 분류 결정에 중요하기 때문이다. 그러나 BART는 Bidirectional layer의 수가 절반으로 줄어서 비슷한 성능을 달성한다.
Pure language models perform best on ELI5
ELI5 데이터 셋은 다른 작업보다 훨씬 더 높은 복잡도를 가진 이상치이며, 다른 모델이 BART보다 성능이 뛰어난 유일한 생성 작업이다. pure language model이 가장 좋은 성능을 보이는데, 이는 output이 input에 의해 loosely하게 제한될 때 BART가 덜 효과적임을 시사한다.
BART achieves the most consistently strong performance.
ELI5를 제외하고, text infilling을 사용하는 BART 모델은 모든 작업에서 좋은 성과를 거둔다.
5. Conclusions
본 논문에서는 손상된 document를 원본에 매핑하는 방법을 학습하는 pretraining approach인 BART를 소개했다. BART는 dircriminative task에서 RoBERTa와 유사한 성능을 달성하는 동시에 다양한 text generation task에서 새로운 최신 결과를 달성했다. 향후 작업에서는 pretraining을 위해 문서를 손상시키는 새로운 방법을 모색하고 특정 최종 작업에 맞게 조정해야 한다.