이 논문은 BART라는 denoising auto-encoder를 기반으로 한 seq-to-seq 모델 사전학습 기법을 제안했다.
BART는 두 가지 과정을 통해 학습된다.
(1) 임의의 노이징 함수로 입력 텍스트를 손상시킨다.
(2) 손상되기 전의 원본 텍스트를 복원하는 모델을 학습하는 것이다.
이 모델은 표준 Transformer 기반의 신경기계번역 아키텍처를 사용하며 구조는 단순하지만
위와 같은 여러 사전하습 방식들을 일반화했다.
논문의 연구진은 여러 노이징 방법을 실험했으며 원래 문장들의 순서를 무작위로 섞는 방식과 텍스트 일부 구간을 단일 마스크 토큰으로 대체하는 새로운 인필링(in-filling)방식을 함께 사용했을 때 가장 좋은 성능을 보였다.
BART는 특히 text generation 작업에서 파인튜닝할 경우 매우 효과적이며 comprehension task에도 잘 작동하는 것을 볼 수 있다.
GLUE 및 SQuAD 벤치마크에서는 RoBERTa와 비슷한 학습 자원 하에 동등한 성능을 달성하였고 요약, 질의응답, 대화 생성 등의 다양한 추상적 텍스트 생성(abstractive)과제에서는 최대 ROUGE 6점의 성능 향상을 보이며 새로운 SOTA를 달성했다.
또한 back-translation 시스템과 비교해 기존 target 언어만 사전학습한 조건에서도 BLUE 점수가 1.1만큼 상승했으며 BART 프ㄹㅔ임워크 안에서 다양한 사전학습 기법을 재현하는 ablation 실험을 통해 어떤 요소가 최종 과제 성능에 큰 영향을 주는지도 분석했다.
self-supvervised learning 방식은 NLP 과제에서 매우 뛰어난 성과를 보여주고 있다.
특히 가장 성공적인 접근법은 masked languaged model의 변형들로 이는 문장의 일부 단어를 무작위로 가린 후 이를 복원하는 denosing auto-encoder형태로 학습된다.
BART는 Bidirectional Transformer와 Auto-regressive Transformer를 결합한 모델로 seq-to-seq 구조의 디노이징 오토인코더를 기반으로 하며 광범위한 nlp 과제에 적용 가능하다.
사전 학습은 두 단계로 구성된다.
이 모델은 단순하지만 강력한 Transformer 기반 신경기계번역 구조를 따른다.
위에서 말한 것과 같이 양방향 인코더 BERT 와 좌에서 우로 생성하는 디코더 GPT, 최신 사전학습들(Figure1참고)

(a) BERT : 문장의 일부 단어들을 무작위로 마스킹하고 이를 복원하는 방식으로 학습된다. Bidirectional Encoder가 전체 문맥을 이용해 마스크된 B, D를 복원하도록 학습한다. 하지만 각 마스크 위치를 독립적으로 예측하므로, 문장 생성을 위한 디코딩에는 적합하지 않다.
(b) GPT : GPT는 텍스트를 왼쪽에서 오른쪽으로(auto-regressively) 예측하는 방식으로 학습된다. 입력 시 <'s'> 토큰 뒤에 단어들을 한 글자씩 순차적으로 예측한다.
ex) <'s'> → A → B → C → D → E
Autoregressive Decoder만 사용되며 각 시점은 이전 단어들만을 참고할 수 있다.
Unidirectional 정보만 활용되므로 Bidrectional context 학습은 어려울 수 있다.
(c) BART : BERT의 인코더 + GPT의 디코더를 겷합한 구조로 노이즈가 섞인 입력을 복원하는 방식으로 학습된다. 입력 ex) A_B_E (문장의 일부 span이 마스크된 손상된 문장)
또한 BART는 파인튜닝에 대한 새로운 관점도 제시한다. Machine Translation 작업을 위한 새로운 방식도 제안했는데
마지막으로 다양한 최근 학습 목적(objective)을 BART 프레임워크 내에서 ablation 분석을 통해 재현함으로써 데이터 양, 최적화 설정 등의 요소들이 실제로 성능에 얼마나 영향을 주는지 면밀히 분석했다. 이 실험을 통해 학습 objective 자체뿐만 아니라 외부 요인도 매우 중요하다는 점을 확인했다. 그 결과 VART는 실험한 모든 과제에서 가장 일관된 강력한 성능을 보였다.
계속 언급하지만 BART는 디노이징 오토인코더(denosing autoencoder)로 손상된 문서를 원래의 문서(original document)로 복원하는 작업을 수행한다.
이 모델은 seq2seq 구조로 구현되며
사전학습 단계에서는 원래 문서를 기준으로 negative log-likelihood를 최소화하는 방향으로 학습한다.
BART는 표준 seq2seq Transformer 아키텍쳐를 기반으로 한다.
다만 GPT의 구조를 참고하여 다음과 같은 두 가지 주요 변경사항이 적용되었다.
모델 크기 구성
전반적으로 BERT와 매우 유사하지만
디코더의 각 레이너는 인코더의 마지막 은닉 상태에 대해 cross-attention을 수행한다.
이는 일반적인 Transformer 기반 seq2seq 구조에서 사용하는 방식과 동일하다. BERT는 디코더가 없기 때문에 이 구조가 존재하지 않는다.
BERT는 단어 예측 전에 별도의 FFN을 추가로 사용하지만 BART는 이 구성 요소를 생략한다.
같은 크기의 BERT 모델과 비교했을때 BART가 약 10% 더 많은 파라미터 수를 가지고 있다
BART는 입력 문서에 노이즈를 가한 후 이를 복원하는 방식의 손실함수(reconstruction loss)를 학습합니다.
이 손실은 디코더의 출력과 원본 문서 간의 cross-entropy로 정의 된다.
기존의 디노이징 오토인코더들과 달리 이전 방식들이 특정한 노이즈 유형에 맞춰 설계된 반면 BART는 어떤 종류의 문서 손상(document corruption)이든 적용할 수 있다는 유연성을 가진다.
극단적으로 입력 문서의 모든 정보가 사라지는 경우에는 일반적인 LM과 동일하게 동작을 한다.

이 변형 기법들을 조합해서 동시에 적용할 수도 있다.
The representations produced by BART can be used in several ways for downstream applications
시퀀스 분류 과제에서는 같은 입력 문장을 인코더와 디코더에 동시에 입력한다. 그리고 디코더의 마지막 토큰에 해당하는 은닉 상태를 새로운 multi-class linear classifier의 입력으로 사용한다.
이 방식은 BERT의 [CLS] 토큰 방식과 유사하지만 BART에서는 이 특수 토큰을 입력의 맨 끝에 추가한다.
→ 이렇게 하면 디코더에서 이 토큰이 전체 입력 문장에 attend 할 수 있다.
토큰 분류 과제(ex : SQuAD에서 정답 구간의 시작/끝 위치 분류)에서는 전체 문서를 인코더와 디코더에 넣고 디코더의 top hidden state를 각 단어에 대한 표현으로 사용한다. 이 표현을 기반으로 각 토큰에 대해 분류 작업을 수행한다.
BART는 autoregressive decoder를 갖고 있으므로 요약이나 추상적 질문 생성 같은 시퀀스 생성 과제에 직접 파인튜닝 할 수 있다.
이러한 과제에서 일반적으로 입력에서 정보를 복사하되 변형해서 출력하기 때문에 BART의 디노이징 사전학습 목표와 매우 유사한 성질을 가진다.

이 그림은 BART를 classfication과 Machine Translation task에 어떻게 파인튜닝하는지를 시각적으로 보여주는 자료이다.
BART를 분류 작업에 사용할땐 같은 입력 문장(ex : A B C D E)을 인코더와 디코더에 모두 넣는다.
디코더는 전체 시퀀스를 고려할 수 있으므로 마지막 토큰의 은닉 벡터를 분류기 입력으로 사용한다. 이는 BERT의 [CLS] 토큰 방식과 유사한 효과를 갖는다.
BART를 영어 타깃 기계번역 모델로 활용하는 구조이다.
전체 BART 모델을 타깃 언어(영어)의 사전학습 디코더처럼 사용
새로운 소스 인코더만 훈련해도 BART 디코더가 잘 작동함
BART는 기존 방식보다 훨씬 더 다양한 형태의 노이즈 기법을 사전학습에 활용할 수 있다.
이 절에서는 base 모델(인코더 6층, 디코더 6층, hidden size 768)을 기준으로 다양한 사전학습 objective를 비교한다.
사용한 학습데이터, 리소스, 모델 구조, 파인튜닝 방식이 서로 달랐기 때문에 공정하게 비교하기 어려웠다.
이를 해결하기 위해 이 논문은 최근 제안된 대표적인 idscriminative/generative 사전학습 방식들을 직접 다시 구현했고 가능한 objective 외의 변수는 동일하게 유지하려고 했다.
표준 Seq2Seq 학습 :
인코더에 source, 디코더에 target 입력
prefix 방식을 사용하는 디코더 only 학습
디코더 입력에 source + target을 함께 넣고 loss는 target 부분에만 적용
BART 모델은 1. 표준 Seq2Se1 방식이 더 잘 작용했고 다른 모델들은 2. prefix 방식이 더 잘 작동했다.
평가방식은 각 모델이 fine-tuning 시 목표인 인간 언어 텍스트를 얼마나 잘 모델링하는지 직접 비교하기위해 perplexity를 table에서 보자

Table 1: Comparison of pre-training objectives.
모든 모델은 동일한 크기이며, 책과 위키피디아 데이터를 조합한 코퍼스에서 100만 스텝 동안 학습되었습니다.위쪽 두 블록(기존 방식들)의 항목들은 이전 연구에서 제안된 사전학습 objective를 기반으로 하며,같은 코드 베이스와 동일한 파인튜닝 절차로 다시 학습시켰습니다.아래쪽 두 블록(BART의 노이즈 기법)의 항목들도
같은 환경에서 학습 및 파인튜닝되었으며,사전학습 목적 외의 요소들은 가능한 한 통제하고평가 대상인 사전학습 objective 자체에만 집중할 수 있도록 간소화되었습니다
결과적으로 과제마다 성능 차이는 있지만,Text Infilling 기반의 BART 모델들이 가장 일관되고 강력한 성능을 보여주었습니다.
Table 1에서 나타난 결과로부터 몇가지 경향성을 확인할 수 있다.
사전학습 방식의 성능을 과제별로 크게 다름
Token 마스킹은 핵심 요소
좌→우 사전학습은 생성 과제에 유리
SQuAD 성능에는 양방향 인코더가 중요
사전학습 objective 외의 요소도 성능에 영향
ELI5 과제에서는 순수 언어모델이 가장 뛰어남
BART는 가장 일관되게 강력한 성능을 보임