arxiv: https://arxiv.org/abs/1910.13461
date: 09/05/2022
Lewis, M., Liu, Y., Goyal, N., Ghazvininejad, M., Mohamed, A., Levy, O., ... & Zettlemoyer, L. (2019). Bart: Denoising sequence-to-sequence pre-training for natural language generation, translation, and comprehension. arXiv preprint arXiv:1910.13461.
Abstract
- BART, denoising autoencoder for pretraining seq2seq models
- Architecture Overview
- 기존의 Transformer-based neural machine translation architecture을 generalize한 형태
(BERT와 GPT의 방식을 합친 형태라고 봐도 무방할 듯)
- Training BART
- 임의의 noising function으로 텍스트를 손상시킴
- 모델이 원문 텍스트를 복구하도록 학습
- BART’s noising approaches
- 원문 문장의 순서를 랜덤하게 뒤바꿈
- in-filling scheme : 다양한 길이의 텍스트를 하나의 mask token으로 대체
- BART’s significance
- text generation task로 fine-tune된 경우 좋은 성능 + comprehension task에 대해서도 좋은 성능
- abstractive dialogue / question answering / summarization task 등에서 SOTA 달성
Introduction
- Background
- Self-supervised method
- NLP task 전반에 있어 굉장히 좋은 성능을 보임
- masked language models = denoising autoencoder
: 랜덤한 길이의 텍스트를 mask한 후, denoising autoencoder로 하여금 mask된 텍스트를 복구하게끔 학습하는 방식
→ 성능 🫶
- 최근 연구들, masked token의 분포 개선 / masked token이 예측되는 순서 / masked token을 대체하는 맥락적인 요인들에 집중하는 경향
→ 특정 task에만 적합하다는 한계. 범용성 ↓
- BART의 차별성
- Model Structure
: Bidirectional Transformer와 Auto-Regressive Transformer을 합친 형태의 모델
(cf. BERT = Bidirectional Transformer / GPT = Auto-Regressive Transformer) → 다양한 방식의 noising method 가능
- Pretraining Process
: arbitrary noising function
- 원문 문장의 순서를 랜덤하게 뒤바꿈
- in-filling scheme : 다양한 길이의 텍스트를 하나의 mask token으로 대체
→ 모델이 문장 길이라는 요인을 더 고려하게 됨
- New Fine-tuning Scheme
- e.g., for machine translation
additional transformer layer 위에 BART 모델을 쌓는 구조
- additional transformer layer, 외국어를 noised English로 번역하도록 학습
- BART로 noised English를 denoise하는 방식
Model
- Overview
- Model: Seq2seq model with BERT’s encoder + GPT’s decoder
“…seq2seq model with bidirectional encoder over corrupted text and a left-to-right autoregressive decoder…”
- Pre-training
: optimize the negative log likelihood of the original document
- Architecture
- 기본적으로 Seq2seq Transformer architecture 차용
- decoder의 각 layer, encoder의 마지막 layer에 대해 cross-attention 수행
- Base Model : 6 layers for encoder / 6 layers for decoder
- Large Model : 12 layers for encoder / 12 layers for decoder
- BERT의 encoder + GPT의 decoder 결합된 형태
- GPT’s trace
- activation function : ReLU → GeLU
- initialize parameters from N(0, 0.02)
- BERT’s trace
- BERT, word prediction 이전에 feed-forward network 추가적으로 거침. BART는 이 부분 생략
→ BART, 동일 규모의 BERT 모델에 비해 parameter 수가 약 10% 많음
Fine-tuning BART
: using BART for downstream tasks
- Classification Tasks
- Sequence classification tasks
( decoder 마지막 layer 뒤에 multiclass linear classifier를 추가 )
1. encoder - decoder 모두에 동일한 input.
2. decoder 마지막 layer 결과값이 multiclass linear classifier의 input으로 들어감
- Token classification tasks
- 전체 document이 encoder - decoder의 input으로 들어감
- decoder 가장 위의 hidden state를 각 토큰의 representation으로 사용
- token을 classify하기 위해 해당 representation을 사용
- Sequence Generation Tasks
: BART의 autoregressive decoder로 인해 가능 → BERT는 할 수 없었던 task
- input sequence → encoder → decoder → output generated autoregressively
- Machine Translation
-
process
- BART의 encoder embedding layer를 randomly initialized encoder로 교체
- BART 자체를 하나의 pretrained decoder로 사용
- cf. randomly initialized encoder training
- BART의 parameter freeze하고 encoder / BART positional embeddings / BART의 encoder 첫 layer의 self-attention input projection matrix만 update
- 전체 model parameter을 적은 수의 iteration으로 학습시킴
- e.g., French to English translation
- additional transformer layer, French를 noised English로 번역하도록 학습
- BART로 noised English를 denoise하는 방식
Comparing Pre-training Objectives
Conclusion
- BART, BERT와 GPT를 결합한 형태의 seq2seq 모델.
GPT의 left-to-right autoregressive decoder와 BERT의 bidirectional encoder를 결합한 형태
- 넓은 range의 noising scheme 제안 및 적용
- 분류 task에 있어 RoBERTa와 유사한 성능 + text generation task에 있어 SOTA 달성