(ongoing) BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translation, and Comprehension (ACL 2020)
Abstract
- BART: denoising autoencoder for pretraining seq2seq model
- training strategy:
- (1) arbitrary noising function 사용해 text corruption
- (2) original text reconstruction 학습
- transformer based model 사용: BERT, GPT의 generalization처럼 보임
- 여러가지 noising approaches에 대해 실험해봤더니, original sentence의 순서 shuffle하고, 연속된 여러 단어(spans of text)를 single mask token으로 바꿔치기해서 채우기 할 때 괜찮았음
- performance
- text generation에서 finetuning 했을 때 가장 effective하긴 한데, comprehension도 괜찮게 한다는 듯
- GLUE, SQuAD에서는 RoBERTa에 비비고, abstractive dialogue, qa, summarization task에서 SoTA 달성
1 Introduction
- self-supervised model: Word2Vec, BERT, GPT 등
- successful model의 appraoch는 ML이었음: denoising autoencoders trained to reconstruct text from randomly masked tokens
- token masking의 variant가 end task에만 사용되었던 게 한계
- BART: Bi-directional Auto-Regressive Transformer
- denoising autoencoder with seq2seq, applicable to wide range of end task
- pretraining: (1) text corruption (arbitrary noising function), (2) seq2seq learns to reconstruct original text
- standard transformer block 사용: generalizing BERT, GPT 등등의 컨셉으로 이해하면 됨
- key advantage of setup
- nosing flexibility: arbitrary transformation을 original text에 적용 가능 (length 변화 포함)
- noising approach 여러 개 해봤는데, random shuffling + novel in-filling scheme이 제일 낫더라: arbitrary length spans of text를 single mask token으로 바꿔치기 하는 것
- 위와 같은 approach는 MLM과 NSP를 합친 것에 가까움: overall sentence length에 대해 reason more, longer range transformation 생성 이라는 점에서
- BART performance
- text generation에 특히 좋긴 한데, comprehension task에도 좋음
- training 비슷한 양으로 시켰을 때 RoBERTa와 GLUE, SQuAD에서 비슷함
- wide range of abstractive dialogue, QA, summarization에서 SoTA 달성
- BART와 finetuning
- machine translation같은 경우, transformer layers 몇 개 위에 BART 쌓은 모델에다가 finetuning했음
- foreign language -> noisy language (propagation through BART): target-side language model로 사용
- ablation study: consistently strong performance across the full range of additional settings & tasks
보완
- masked tokens 예측되는 순서: XLNet, distribution 개선: spanBERT 등
- biderectional encoder & autoregressive decoder: 원래 transformer architecture 그대로 사용
- BERT: generation이 박살남
- UniLM: BERT를 mask의 ensemble로 fine-tuning, BART처럼 discriminative, generative 다 가능한데, conditionally independent prediction이 이루어져서 별로임
- MASS는 BART와 비슷하긴 한데, discriminative task에서는 별로임
- BART가 machine translation decoder 향상에 쓰일 수 있음: 이전에는 encoder에 집중
Model
- bidirectional encoder (corruption) & autoregressive decoder의 seq2seq
- 6 layers
- decoder last layer에서 encoder layer와의 cross attention 있고, FFN 없다는 게 차이점
pretraining strategy
- token deletion: random token 삭제, 어떤 위치가 missing input인지 결정해야
- text infilling: (가장 좋았음), 여러 token masking & maksed tokens predictions
- sentence permutation: 문장들을 랜덤으로 섞음
- document rotation: 문장 시작 학습 방법
Downstream Tasks
- machine translation: encoder & decoder를 모두 pretrained decoder로 사용하기
- embedding은 new initialized encoder 모듈로 바꿔치기 가능: 범용성 좋음
Experiments