Abstract
BART : seq-to-seq 모델 사전학습시키기 위한 denoising autoencoder
- 임의의 noising function으로 텍스트 변형
- 원래대로 복원하도록 모델을 학습
Transformer 기반 표준 NMT 구조
BERT와 GPT 및 많은 사전학습 schemes를 일반화한 모델
많은 noising 기법들을 평가
- 문장의 순서를 임의로 섞는 것
- in-filling scheme(spans of text가 하나의 mask token으로 치환됨)
=> 사용할 때 가장 성능이 좋음
- BART는 특히 텍스트 생성에 대해 fine-tuned되었을 때 효율적이지만 이해력 테스트에서도 잘 작동
- GLUE와 SQuAD에서 RoBERTa 이상의 성능을, 6 ROUGE score을 더 높게 얻고 abstractive dialogue, question answering, and summarization tasks에서 SOTA를 달성하는 등 성과가 좋음
- ablation 실험 등을 진행하여 모델의 성능 등을 입증한다.
Introduction
self-supervised 접근법: NLP task에서 괄목할만한 성과를 많이 냄
: MLM 및 그 변형들이 성공적인 방법들
=> 특정 task에만 집중하여 일반화는 어려움
BART
: 아주 넓은 범위에서 사용 가능한 seq2seq 모델로 만든 denoising autoencoder

noising 적용 시 별다른 제약없이 다양한 function 사용 가능
- fine-tuning에 대한 새로운 사고방식 가능하게함
- Machine Translation에 대해 새로운 scheme을 제안하는데 BART는 몇 개의 추가적인 transformer layer 위에 놓임
- 외국어를 noised 영어로 번역하도록 학습되어 BART에 전해짐
- BART: pre-trained target-side language model로 사용하게 됨
=> WMT Romanian-English benchmark에서 강력한 back-translation MT baseline을 1.1 BLEU score 만큼 앞지름
Model
BART: 임의로 변형된 문서를 원래대로 되돌리는 denoising autoencoder
모델 구현
- seq2seq model: corrupted text에 대한 bidirectional encoder와 left-to-right autogregresive decoder로 구성됨
- 사전 학습: 원본 문서에 대한 NLL loss 사용
Architecture
-
표준 seq-to-seq Transformer을 기반으로 하되 OpenAI GPT처럼 ReLU를 GeLU(N(0, 0.02))로 바꿔 사용
-
base 모델은 6 layer encoder, large 모델은 12개 사용
-
구조는 BERT와 비슷
-
차이점
- decoder의 각 layer는 encoder의 final hidden layer와 cross-attention을 수행
- BERT는 word-prediction을 위해 추가적인 feedforward net을 사용하지만 BART는 그렇지 않음
- 전체적으로 BART는 BERT보다 10% 정도 더 많은 pamameter 소유
Pre-training BART
Corrupted document를 원복하는 방식으로 사전학습을 진행하는데 reconstruction loss는 decoder의 출력과 원본 문서 간 cross-entropy 사용
사전학습에 사용한 5가지 방법
-
Token Masking: BERT의 것과 같음
-
Token Deletion: token을 [MASK] token으로 바꾸는 대신 아예 없애버리는 것으로 모델은 사라진 위치를 찾아야 함
-
Text Infilling: 그 길이가 λ=3
poisson 분포를 따르는 여러 개의 text spans를 추출
각 span은 하나의 [MASK]으로 대체
SpanBERT에서 제안된 방식이지만, 다른 점은 SpanBERT에서는 다른 분포에서 샘플링을 하며 정확히 같은 길이의 [MASK] token으로 대체
Text infilling은 모델이 span에서 얼마나 많은 token이 사라졌는지 예측해야 함
-
Sentence Permutation: 문서를 여러 부분으로 나누어 임의로 섞음. 모델은 원래 순서를 맞춰야 함
-
Document Rotation: 특정 지점을 잘라서 문서를 그 지점부터 시작하도록 변형. 모델은 원래 시작점을 찾아야 함
Fine-tuning BART
BART가 생성한 representation은 downstream applications에서 여러 방식으로 사용됨
Sequence Classification Tasks
- 같은 입력이 encoder와 decoder 모두에 주어지고,
- final decoder token의 final hidden state는 새로운 multi-class linear classifier에 입력으로 주어짐
- 이는 BERT의 CLS token과 연관되어 있지만 BART에서는 이 추가적인 token을 끝에 추가하여 decoder에서 token의 representation이 decoder states를 처리할 수 있게 함

Token Classification Tasks
- SQuAD의 answer endpoint classification와 같이 전체 문서를 encoder와 decoder에 주고
- decoder의 top hidden state를 각 단어의 representation으로 사용
- 이 representation은 token을 분류하는 데 사용된다.
Sequence Generation Tasks
- BART는 autoregressive decoder를 갖고 있으므로 abstractive question answering나 summarization와 같은 생성 task에 바로 적용 가능
- 둘 모두 정보를 입력에서 변형된 상태로 복사되며 이는 denoising pre-training objective와 긴밀히 연관됨
- 여기서 encoder 입력은 input sequence
- decoder는 출력을 autoregressive하게 생성
Machine Translation
- BART 모델 전체를 하나의 encoder처럼 생각해 MT에도 적용 가능하도록 함

- 정확히는, BART의 encoder embedding layer를 랜덤 초기화된 새로운 encoder로 교체
- 모델은 end-to-end로 학습되며 새로운 encoder가 외국어 단어를 BART아 de-noise할 수 있는 영어 입력으로 mapping하도록 학습
- 새로운 encoder는 원래 BART 모델와 다른 vocab 사용 가능
source encoder는 2단계로 학습
- 둘 모두에서 BART 모델의 출력의 cross-entropy loss를 backpropagate 함
- BART를 freeze
- 새로운 encoder, BART positional embeddings, BART encoder의 첫 layer의 self-attention input projection matrix만 update
- 이후 반복횟수를 조금만 하여 전체를 update
Comparing Pre-training Objectives
목적함수 비교, 데이터셋 및 Task 설명
Comparison Objectives
여러 pre-training objectives를 최대한 동일하고 공정한 환경에 놓고 비교 진행
비교대상: Language Model, Permuted Language Model, Masked Language Model, Multitask Masked Language Model, Masked Seq-to-Seq
Tasks
- SQuAD: Wikipedia paragraphs을 사용하는 extractive question answering task
정답은 주어진 document context에서 추출된 text spans이다.
- MNLI: 한 문장이 다른 문장을 수반하는지 아닌지를 판단하는 bitext classifitation task
- ELI5: long-form abstractive question answering dataset
- XSum: 매우 추상적인 요약문을 포함하는 news summarization dataset
- ConvAI2: context와 persona 조건을 갖는 dialogue response generation task
- CNN/DM: news summarization dataset로 요약은 보통 source sentence와 깊은 연관

task에 따라 편차가 있지만, 전체적으로 봤을 때 BART + text infilling(혹은 여기에 Sentence shuffling까지) 방식이 좋다는 것을 확인
Large-scale Pre-training Experiments
최근 연구들 -> 모델 크기가 클수록 성능이 좋아짐
BART도 비교 실험을 진행, RoBERTa와 같은 크기로 맞추어 실험
Experimental Setup
- 12 layer encoder/decoder
- hidden size 1024
- RoBERTa와 비슷하게 batch size는 8000, 반복수는 50만
- Documents는 GPT-2와 같이 same byte-pair encoding 사용
- text infilling과 sentence permutation을 사전학습 scheme으로 사용
- 학습단계에서 10%를 dropout
- 학습 데이터로 160GB 분량의 news, books, stories, web text 사용
Discriminative Tasks
표 2는 BART의 성능을 SQuAD, GLUE task에서 다른 모델과 비교한 결과

전반적으로 RoBERTa와 비슷
Generation Tasks
Summarization

- CNN/DailyMail의 요약은 source sentences들과 비슷한 경향
- Extractive 모델은 특히 이를 잘 다루지만 BART가 더 우세
- 이에 반해 XSum은 매우 추상적이며 extractive 모델은 여기서 힘이 없음
- BART는 점수 수치상 매우 크게 앞섬
Dialogue
모델은 이전 context와 텍스트로 명시된 persona에 기반해서 응답을 생성해야 하는 task
Abstractive QA
- 장문의 자유형식 응답 문장을 생성하는 task에서도 기존 모델과 비교한 결과인데 3가지 metric 모두에서 앞서는 결과 보여줌
- 그러나 데이터셋 자체는 challenging한데 answers는 질문에 의해 weakly specified하기 때문임

Translation

Qualitative Analysis
표 7에서 BART의 결과 확인 가능

- WikiNews 기사에서 가져온 예시들로 모델의 학습 데이터에 있을 가능성을 제거한 상태
- 첫 문장은 대체로 기사를 요약하는 내용이므로 이를 빼고 진행
- 모델의 출력은 꽤 유창하고 문법적으로 별 문제 없음
- 그러나 상당히 추상적이며 일부 구절은 그대로 가져온 부분이 있음
- 조금 부족하기는 하나 BART의 사전학습 방식이 자연어 이해와 생성을 꽤 잘 한다는 결과라 볼 수 있다고 저자들은 주장
- Transformer, ELMo, OpenAI GPT, BERT
- UniLM은 BERT를 mask의 ensemble로 fine-tune한 것으로 일부는 오직 왼쪽방향 context만 허용됨
- BART와 같이, UniLM은 generative task와 discriminative task 모두에 사용될 수 있음
-차이점: UniLM의 예측은 조건부 독립이지만 BART는 autoregressive하게 진행
- MASS는 아마도 BART와 가장 비슷한 모델
- 연속된 span of token이 maked되고 이를 추론하는 사전학습 방식으로 진행되지만 token들이 전혀 겹치지 않게 encoder와 decoder에 들어가 discriminative task에 약함
- XL-Net은 순서가 섞인 masked token을 auto-regressive하게 예측하는 방식으로 BERT를 확장
- 이는 왼쪽과 오른쪽 context를 모두 고려 가능하게 함
-이에 반해 BART의 decoder는 왼쪽에서 오른쪽 방향만 사전학습 단계에서 고려
Conclusions
- Corrupted documents를 원래대로 복원하는 사전학습 방식을 가진 BART 제안
- Discriminative task에서 RoBERTa와 비슷한 성능을 보이면서도 text generation task에서는 SOTA를 달성
- 추후 연구에서는 또 새로운 사전학습 방식을 탐구할 예정
https://greeksharifa.github.io/nlp(natural%20language%20processing)%20/%20rnns/2022/08/09/BART/