sequence-to-sequence model을 pre-training하기 위한 denoising autoencoder, `BART`를 제안
BART는 두 가지 과정을 통해 학습
임의의 `noising function`을 통해 text를 손상
손상된 text를 통해 original text를 재구성하며 모델을 학습
단순함에도 불구하고 BERT(bidirectional encoder로 인해), GPT(left-to-right decoder) 등 현재의 최신 pre-training 체계를 일반화한것으로 볼 수 있는 표준 `Transformer-based neural machine translation architecture`를 사용
여러 가지 noising approach를 평가하여 최상의 성능을 찾음
original sentences의 순서를 무작위로 shuffling
임의의 length range의 text(0 length 포함)의 일부가 `single mask token`으로 대체되는 `infilling` 방식
BART는 text generation과 comprehension task를 fine-tuning할 때 효과적
GLUE, SQuAD benchmark dataset에서 `RoBERTa`와 비교가능한 training resource를 구성하여 `abstractive dialogue`, `question answering`, `summarization` task에서 최대 6 ROUGE의 성능 향상을 이루어내면 SOTA 달성
오직 targe language pre-training을 통해서 machine traslation의 back-translation system에서 1.1 BLEU 증가
1. Introduction
Self-supervised methods는 넓은 범위의 NLP task에서 성공을 보이고 있으며, 특히 랜덤한 일부를 masking하여 text를 재구성하는 방식으로 훈련되는 denoising autoencoder가 가장 성공적
그러나 이러한 방식들은 `span prediction`, `generation` 등의 특정 end task에만 집중하여 그들의 능력을 제한
`BART`는 `Bidirectional`과 `Auto-Regressive`를 합친 Transformer로 구성된 모델을 pre-training
BART는 매우 광범위한 end task에 적용할 수 있는 sequence-to-sequence 모델로 구축된 `denoising autoencoder`
pre-training은 두 가지 과정으로 구성
임의의 noising function을 통해 text를 손상
손상된 text를 통해 original text를 재구성하며 sequence-to-sequence 모델을 훈련
이 setup의 주요 장점은 original text에 길이 변경 등의 임의의 변환을 적용할 수 있는 `noising flexibility`
BART는 모델이 전체 문장 길이에 대해 더 추론하고, input에 더 긴 범위의 변환을 수행하도록 하여 `BERT`의 MLM과 NSP를 일반화
몇 개의 추가적인 tranformer layer 위에 BART 모델을 쌓아올리는 새로운 machine translation 방법 제시
이러한 layer는 BART의 `propagation`을 통해 외국어를 노이즈가 없는 영어로 번역하도록 훈련
BART를 pre-trained targe-side language model로 사용
WMT Romanian-English benchmark에서 back-translation MT baseline보다 1.1 BLEU의 성능을 향상
2. Model
BART는 손상된 text를 활용하는 `Bidirectional Encoder`와 `left-to-right autoregressive Decoder`를 합친 sequence-to-sequence 모델을 통해 구현
pre-training을 위해 original document의 `negative log likelihood`를 최적화
2.1 Architecture
standard sequence-sequence Transformer architecture를 사용하지만 GPT와 동일하게 ReLU activation function을 `GeLUs`로 변경하며 N(0, 0.02)로 파라미터 초기화
각각 12개의 layer로 구성된 Encoder와 Decoder를 6 layers 쌓음
BERT의 architecture와는 유사하지만, 다음과 같은 차이점이 존재
Decoder의 각 layer는 Encoder의 최종 hidden layer와 `cross-attention`을 추가적으로 수행
BERT는 word prediction 이전에 `feed-forward network`을 사용하지만 BART는 x
총합 BART는 동일한 크기의 BERT보다 대략 10% 더 많은 parameter를 포함
2.2 Pre-training BART
BART는 문서를 손상시킨 다음 Decoder의 output과 original document 사이의 `reconstruction loss(cross-entropy)`를 최적화하면서 학습
특정한 noising 방법에 특화된 기존 denoising autoencoder와 다르게 BART를 사용하면 어떠한 document corruption도 적용이 가능
source에 대한 모든 정보가 손실되는 극단적인 경우 BART는 language model과 동일
`BERT` : Random token이 mask로 대체되어 bidrectoinally encoded을 수행하며, Missing token은 독립적으로 예측되며, generation에 쉽게 사용 불가
`GPT` : Token이 auto-regressively하게 예측되기 때문에 generation에 사용할 수 있지만 leftward context만 고려하여 bidirectional interaction이 불가
`BART`
Encoder의 input은 Decoder의 output과 정렬할 필요가 없으며 임의의 noise transformation 가능
해당 예시에서는 document가 일부 text가 mask symbol로 대체되는 형태로 손상
손상된 문서(left)는 bidirectional model에 의해 encoding되며, original document의 likelihood(right)는 autoregressive decoder에 의해 계산
Fine-tuning을 위해 손상되지 않은 document를 Encoder와 Decoder 모두에 input으로 활용하고 Decoder의 최종 hidden state를 representation으로 이용
Token Masking
BERT와 동일하게 random token이 샘플링되며 [MASK] token으로 대체
Token Deletion
input에서 random token을 삭제
token masking과 다르게 모델은 반드시 missing input의 위치를 결정해야 함
Text Infilling
`Poisson distribution(lambda=3)`을 통해 span length를 정해 text span을 샘플링
샘플링된 text span은 single [MASK] token으로 대체
길이가 0인 범위의 경우 [MASK]을 input에 삽입
`SpanBERT`를 통해 고안된 방법이지만, 해당 방법론에선 `clamped geometric` 분포를 통해 spen length를 정하며, 각 span을 정확하게 같은 개수의 [MASK] token으로 대체
모델은 해당 text span에서 누락된 token의 수를 예측하도록 학습
Sentence Permutation
document는 full stop에 기반하여 sentence로 나눠지며, 이 sentence는 무작위 순서에 따라 shuffled
Document Rotation
token은 무작위로 균등하게 선택되며, document를 해당 token을 시작점에 두고 rotate
모델은 document의 시작점에 해당하는 token을 알아차리기 위해 학습
3. Fine-tuning BART
BART를 통해 생성된 representation은 downstream application에 다양한 방식으로 사용이 가능
3.1 Sequence Classification Tasks
동일한 input이 Encoder와 Decoder에 입력되며, 최종 Decoder token의 최종 hidden state가 새로운 `multi-class linear classifier`에 입력
이는 BERT의 `CLS` token과 관련있지만 이러한 token을 Decoder의 끝에 추가하여 Decoder의 token representation이 전체 input에서 Decoder state를 확인 가능
3.2 Token Classficiation Tasks
`SQuAD`의 answer endpoint classification과 같은 token classification task에서는 Encoder와 Decoder 모두에 완전한 document를 입력
Decoder의 최상단 hidden state를 각 word에 대한 representation으로 사용하여 token을 classify
3.3 Sequence Generation Tasks
BART는 `Autoregressive Decoder`가 있기 때문에 `abstractive qeustion answering`, `summarization`과 같은 generation task에 직접적으로 fine tuning 가능
이러한 task에서의 information은 input에서 복제되지만, denoising pre-training objective를 따라 조작됨
Encoder의 input은 input sequence이며, Decoder는 autoregressive하게 output을 생성
3.4 Machine Translation
Encoder와 Decoder를 모두 포함하는 BART 모델을 `bitext`로 부터 학습한 encoder parameter를 추가하여 single pre-trained Decoder로 사용 가능
BART의 Encoder embedding layer를 새로운 randomly initialized Encoder로 대체
이 모델은 end-to-end 학습을 통해 새로운 Encoder가 외국어(영어가 아닌 언어)를 input에 매핑해 BART가 노이즈를 제거하여 영어로 변환할 수 있도록 학습
새로운 Encoder는 BART 모델과 상관없이 분리된 vocabulary를 사용 가능
Source Encoder를 2가지 단계를 통해 학습하며, 두 가지 단계 모두 BART 모델의 output에 대한 `cross-entropy` loss를 `backpropagating`
BART의 대부분의 파라미터를 freeze하고, randomly initialized source encoder와 BART의 positional embeddings, BART의 Encoder first layer의 self-attention input projection matrix만 업데이트
모든 모델 parameter를 작은 iteration으로 학습
4. Comparing Pre-training Objectives
base-size models(6 Encoder and 6 Decoder layers, with a hidden size of 768)과의 비교
5장에서 진행할 full large scale experiment에서 고려할 task의 representative subset을 통해 평가
4.1 Comparison Objectives
수많은 pre-training objective들에 대해서 training data의 크기, training resources, 모델 간의 architecture의 차이, fine-tuning 절차 등의 차이로 인해 공평한 비교가 힘듬
discriminative와 generation task에서 좋은 성능을 보인 pre-training approach들에 대해 재구현
가능한 pre-training objective와 관련이 없는 차이를 제어하는 것에 초점
하지만 성능 개선을 위해 `learning rate`, `layer normalisation` 등에 대한 미세한 수정(각 objective에 대해 분리하여 tuning)
Books과 Wikipedia data의 조합으로 1M step에 대한 훈련을 수행한 BERT의 방식에 따라 본 논문의 구현들과 비교
`Permuted Language Model` : `XLNet`에 기반하며, token의 1/6을 샘플링하고 무작위 순서로 autoregressive하게 생성하며 다른 모델들과의 일관성을 위해 XLNet의 segment 간 relative positional embedding이나 attention은 구현 x
`Masked Language Model` : `BERT`에 따라 15%의 token을 [MASK] symbol로 대체하고 original token을 독립적으로 예측하게끔 학습
`Multitask masked Language Model` : `UniLM`에 따라 추가적인 self-attention mask(1/6 left-to-right, 1/6 right-to-left, 1/3 unmasked, 1/3 first 50% token unmaksed and a left-to-right mask for the remainder)를 호라용한 Masked Language Model 학습
`Masked Seq-toSeq` : `MASS`에서 영감을 받아 50%의 token을 masking하고 sequence to sequence 모델을 masked token을 예측하게끔 훈련
두 가지 방법을 통해 실험을 진행
task를 standard sequence-to-sequence 문제로 다뤄 source input을 Encoder에 입력하고, target을 Decoder의 output으로 간주 → BART에 효과적
Decoder에서 source를 target의 prefix로 추가하여 sequence의 target 부분만 loss를 계산 → 다른 모델들에 효과적
simple Language Model은 ELI5에서 best performance를 보였지만, SQuAD에서는 worst
Token masking은 필수적
`rotating document` 혹은 `permuting sentence` 등에 기반한 pre-trianing objective들의 성능은 좋지 않음
성공적인 방법들은 `token deletion` 혹은 `token masking`, `self-attention mask`를 사용
Generation task에서는 masking보다 Deletion이 더 나은 성능을 보임
Left-to-right pre-training은 Generation을 개선
left-to-right auto-regressive language modeling을 포함하지 않은 The Masked Language Model과 The Permuted Language Model은 Generation에서 성능이 좋지 못함
Bidirectional Encoder는 SQuAD에 필수적
BERT 논문에서 언급했듯이 `future context`가 classification decision에서 중요하기 때문에 left-to-right decoder만을 사용할 경우 SQuAD에서 좋지 않은 성능을 보임
그러나 BART는 bidirectional layer의 절반의 layer만으로 비슷한 성능을 달성
pre-training objective가 유일한 중요 요소는 아님
Permuted Language Model이 XLNet보다 성능이 좋지 못함
relative-position embedding 혹은 segment-level recurrence를 포함하지 않았기 때문
기본적인 Language Model이 ELI5에서 가장 성능이 좋음
ELI5 dataset은는 다른 task보다 더 높은 perplexity를 가진 outlier로 다른 모델이 BART보다 더 좋은 성능을 보인 유일한 Generation task
기본 Language Model이 가장 성능이 좋았으며 이는 output이 input에 의해 느슨한 제한이 걸릴 경우 BART의 효율성이 떨어진다는 것을 의미
BART가 가장 일관적으로 강력한 성능을 보임
ELI5를 제외하고 text-infilling을 사용한 BART 모델이 모든 task에서 좋은 성능을 보임
5. Large-scale Pre-training Experiments
최근의 연구들(XLNet, RoBERTa 등)은 large batch size와 large corpora를 통해 pre-training을 수행하면 downstream performance가 극적으로 상승하는 것을 보임
BART가 이러한 환경에서 얼마나 잘 작동하는지 확인하, downstream task를 위한 유용한 모델을 만들기 위해 `RoBERTa`와 동일한 scale로 훈련
5.1 Experimental Setup
Encoder와 Decoder 각각 12 layer로 구성하며 hidden size는 1024
RoBERTa와 동일하게 batch size는 8000이며 500,000 step으로 학습
Document는 `GPT-2`와 동일하게 `byte-pair encoding`을 통해 토큰화
4장의 결과를 통해 `text infliing`과 `sentence permutation`을 조합해서 사용
각 document마다 30%의 token을 masking하며 모든 sentence에 대해 permute 수행
비록 sentence permutation이 CNN/DN summarization dataset에서만 효과를 보였지만, larger pre-trained model은 해당 task를 잘 수행할 것이라 가정
모델이 data를 더 잘 학습하기 위해 마지막 10% training step에 대해서 `dropout`을 비활성화
RoBERTa에서 사용한 news, books, stories, web text를 포함한 약 160GB의 동일한 pre-training data를 사용
5.2 Discriminative Tasks
SQuAD와 GLUE task에서 좋은 성능을 보인 방법론들과 BART의 성능을 비교
같은 resource지만 다른 objective로 pre-training한 RoBERTa가 주요한 비교군
💡 여기서 RoBERTa는 Masked Language Modeling을 통해 pre-trained되었고, BART는 denoising autoencoder를 통해 pre-trained 되었기 때문에 pre-training 과정에서의 최적화하는 손실 함수(objective)의 차이가 모델 성능을 비교하는 데 주요한 기여점이 될 수 있다.
전체적으로 BART의 성능은 다른 모델들과 작은 차이만 있을 뿐 비슷한 수준을 유지함
이는 BART의 Generation task에서의 개선이 Classification peformance에 크게 영향을 주지 않음을 의미
💡 BART모델은 향후 언급될 Generation Task와 Translation에서 큰 장점을 가지고 있다. 해당 파트에서는 Generation Task 및 Translation뿐만 아니라 이러한 classification task에서의 성능도 다른 모델에 뒤떨어지지 않는다는 점을 강조한다.
5.3 Generation Tasks
BART는 standard sequence-to-sequence model로써 input에서 output text까지 fine-tuning
fine-tuning 동안 `label smoothed cross entropy loss`를 사용
smoothing parameter는 0.1
generation 동안 beam size를 5로 설정하고 beam search에서 중복된 trigram을 제거하며, validation set에서 `min-len`, `max-len`, `length penalty`를 적용하여 모델을 조정
Summarization
2개의 summarization dataset인 `CNN/DailyMail`와 `Xsum`을 통해 summarization의 성능을 비교
CNN/DailyMail의 summary는 source sentence와 비슷한 경향이 있어 extractive model이 좋은 성능을 보임
BART는 모든 작업에서 좋은 성능을 보임
반대로 XSum의 경우 매우 추상적이며 extractive model의 성능이 좋지 않음
이 경우에도 BART는 기존에 SOTA였던 BERT를 모든 ROUGE metric에서 대략 6.0 point 높은 성능을 기록
Dialogue
모델이 이전 context와 text마다 지정된 persona를 고려하여 대답을 생성해야 하는 `CONVAI2` dataset을 통해 dialogue response generation 성능을 평가
이전에 좋은 성능을 보인 2개의 모델보다도 좋은 성능을 보임
Abstractive QA
모델의 long free-form answer을 생성하는 능력을 평가하기 위해 `ELI5` dataset 사용
이전에 성능이 좋았던 2개의 모델보다도 좋은 성능을 보임
하지만 질문에 대한 답변이 약하게만 명시되어 있어 해당 dataset은 여전히 task를 수행하기 쉽지 않음
5.4 Translation
Sennrich et al.(2016)의 `back-translation data augmentation` 기법을 적용한 WMT16 Romanian-English dataset의 성능 확인
💡 back-translation data augmentation 기법은 NLP 분야에서 많이 활용되는 data augmentatoin 기법 중 하나이다. 먼저, 각 training data에 대해서 다른 언어로 번역을 수행한 후, 번역한 문장을 다시 원래의 언어로 번역하는 과정이다. 이러한 과정을 거치면 최종적으로 각 original text data 당 1개씩의 back-translation이 추가되어 data가 증강된다. 만약 잘 학습된 번역 모델이 있다면 기존 문장의 의미는 잘 보존한 상태로 새로운 문장을 생성할 수 있다.
baseline으로 `Large Transformer` 모델과 비교
6 layer의 transformer encoder를 통해 BART가 노이즈를 제거하여 루마니어를 영어로 변환할 수 있는 representation으로 매핑
앞서 3.4장에서 언급한 randomly initialized encoder에 해당
beam size는 5이며, length penalty alpha 값은 1
back-translation을 적용하지 않은 data에 대해선 BART가 덜 효과적이고 과적합이 발생하기 쉬었으며, 향후 작업에서는 추가적인 정규화 기법이 필요
💡 여기서 Fixed BART와 Tuned BART의 차이점은 fine-tuning 방법에 있다. Fixed BART의 경우 6 lyaer의 transformer encoder를 제외한 다른 파라미터를 모두 freeze하였고, Tuned BART의 경우 Fixed BART이 모든 파라미터를 한 번 더 학습시켰다.
6. Qualitative Analysis
BART는 summarization metric에서 커다란 개선을 이루어 냈으며, BART로 부터 생성된 summary를 확인
모델의 output은 유창하고 문법적으로 오류가 없으며, input에서 그대로 복사한 구절이 적은 매우 추상적인 결과
BART는 RoBERTa와 비교해서 discriminative task에선 유사한 성능을, 여러 text generation task에선 SOTA 달성
향후 작업에서는 document를 손상시키는 새로운 방법을 연구해야하며, 특정 end task에 맞게 조정할 수 있어야함
Comment
💡 BART는 bidirectional encoder만 사용하는 BERT와 left-to-right autoregressive decoder만 사용하는 GPT와는 다르게 두 가지의 encoder와 decoder를 모두 사용하여 pre-training한다. 또한 학습 방식에 차이가 있는데, input sentence에 여러 가지 손상(본 논문에서의 최종 선택은 Text infilling + Sentence shuffling)을 가하고, 해당 노이즈를 제거하는 방식으로 모델 학습을 진행한다.
그러나 BART 또한 결국 fine-tuning 과정이 필요하며, 몇몇 task에서는 추가적인 학습 과정이나 모델 구조를 수정해야하는 부분이 있어 비교적 복잡한 절차를 거쳐 fine-tuning이 이루어지는 것 같다. 이는 결국 GPT 등 거대 데이터를 통해 학습하여 fine-tuning 과정을 아예 없애려는 경향을 비추어봤을 때는 성능과 별개로 개선되어야할 부분이 있다는 생각이다.