논문 원본 : https://arxiv.org/abs/1910.13461v1
BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translation, and Comprehension
We present BART, a denoising autoencoder for pretraining sequence-to-sequence models. BART is trained by (1) corrupting text with an arbitrary noising function, and (2) learning a model to reconstruct the original text. It uses a standard Tranformer-based
arxiv.org
1. Abstract & Introduction
Self-Supervised Learning의 발전
- SSL 방법들은 다양한 NLP task에서 큰 성공을 거둠
- 이러한 연구들은 주로 Masked Language Model (MLM) 방식에 기반
- 이는 랜덤하게 단어를 masked 한 후 원래 단어를 예측하도록 학습하는 방식으로, 대표적인 예시가 BERT
- 하지만 기존 방법들은 특정 유형의 작업(예: 문장 예측, 생성 등)에 초점이 맞춰져 있어 범용적으로 사용하기 어려운 단점이 있음
BART란
- 본 논문에서는 BART (Bidirectional and Auto-Regressive Transformers) 라는 새로운 모델을 제안
- BART는 Bidirectional+ Auto-Regressive 특성을 결합한 Denoising Autoencoder
- 즉, 노이즈가 추가된 문장을 원래 문장으로 복원하는 방식으로 사전 학습 진행
- BART의 사전 학습 과정은 두 가지 단계로 구성
- 텍스트를 변형(손상)하는 과정
- 원본 텍스트를 여러 방식으로 변형(단어 삭제, 순서 변경 등)
- 손상된 텍스트를 원래 문장으로 복원하는 과정
- 변형된 문장을 입력으로 받아, 원래 문장을 재구성하도록 학습
- 텍스트를 변형(손상)하는 과정
- BART는 Transformer 기반의 Seq2Seq모델이며, 다음과 같은 특징을 가짐
- BERT처럼 Bidirectional Encoder
- GPT처럼 왼쪽에서 오른쪽으로 순차적으로 생성하는 Auto-Regressive Decoder
- 즉, BERT와 GPT를 모두 일반화한 모델이라고 볼 수 있음
BART의 주요 특징
- BART의 가장 큰 장점은 flexible noising approach
- 이는 단순히 단어를 가리는 방식(BERT)에서 더 나아가 문장 순서를 섞거나, 문장 일부를 완전히 삭제하는 새로운 방식을 도입
- 대표적인 노이징 기법은 다음과 같음
- 문장 순서 섞기 (Sentence Shuffling)
- 원래 문장의 순서를 랜덤하게 섞음
- 빈칸 채우기 방식 (In-filling)
- 여러 개의 연속된 단어(문장 조각)를 하나의 [MASK] 토큰으로 대체
- 문장 순서 섞기 (Sentence Shuffling)
- 이러한 방식은 BERT의 단순한 "단어 가리기"보다 훨씬 다양한 변형을 학습할 수 있도록 도와줌
- 결과적으로, BART는 문장의 길이, 문맥적 흐름까지 고려해야 하기 때문에 더 강력한 사전 학습이 가능
BART의 성능
- 특히 텍스트 생성(Text Generation) 작업에서 가장 큰 성능 향상을 보임
- 이는 BART의 Seq2Seq 구조(입력 → 출력 구조)가 자연스럽게 문장 생성에 적합하기 때문
BART의 새로운 Fine-Tuning 방법
- BART는 기존 모델과 다른 방식으로 Fine-tuning을 진행할 수 있음
- 예를 들어, 기계 번역에서는 다음과 같은 방식을 사용할 수 있다.
- 원본 외국어 문장을 입력
- 중간 단계에서 "노이즈가 포함된 영어 문장" 생성
- BART를 통해 깨끗한 영어 문장으로 복원
- 이 방식은 단순한 번역이 아니라 BART를 "영어 문장 생성에 최적화된 사전 학습 모델"로 활용하는 것
- 이로 인해 기존 번역 모델보다 더 높은 성능을 기록
2. Model
- BART는 손상된 문서를 원래 문서로 복원하는 Denoising Autoencoder 모델
- 쉽게 말하면, 문서의 일부를 지우거나 섞어 놓은 후, 원래 문장을 복원하도록 학습하는 모델
- BART는 Seq2Seq 모델로 구현
- Encoder: 손상된 문서를 양방향으로 읽어들이고,
- Decoder: 왼쪽에서 오른쪽으로 원래 문장을 예측
- 학습 과정에서는 손상된 문서와 원래 문서 간의 차이를 최소화하는 방식(negative log likelihood 최적화)을 사용

2.1 Architecture
- BART는 일반적인 Transformer 구조를 따름
- 하지만 몇 가지 차이점이 있음
- ReLU 대신 GeLU 활성화 함수 사용 (GPT는 ReLU)
- 파라미터 초기화 방식
- 파라미터를 N(0, 0.02)에서 샘플링하여 초기화
- 모델 크기
- BART-Base: Encoder 6층, Decoder 6층
- BART-Large: Encoder 12층, Decoder 12층
- BERT와 차이점
- Decoder가 Encoder의 최종 hidden state를 참고하며 cross-attention 수행
- BERT는 추가적인 FFN를 사용하지만, BART는 이를 생략
- BERT와 비슷한 크기의 모델을 비교했을 때, BART는 약 10% 더 많은 파라미터를 가짐
- Decoder까지 포함하기 때문
2.2 Pre-training BART
- BART는 손상된 문서를 원래 문서로 복원하도록 학습
- 이 과정에서 Cross-Entropy 손실 함수를 최적화하여 예측 성능을 향상시킴
- 하지만 일반적인 denoising encoder와 달리, BART는 여러 가지 문서 손상 방식을 적용할 수 있음 (Decoder 때문)
- 토큰 마스킹(Token Masking)
- BERT처럼 일부 단어를 [MASK]로 바꿔놓고 이를 복원하도록 학습
- 토큰 삭제(Token Deletion)
- 문장에서 랜덤하게 단어를 삭제
- 모델은 문장에 빠진 단어가 무엇인지 예측해야 함
- 텍스트 인필링(Text Infilling)
- 문장에서 특정 부분을 랜덤하게 선택하여 [MASK]로 대체
- 입력: "나는 [MASK]를 좋아해."
- 출력: "나는 축구 경기를 좋아해."
- 문장 순서 바꾸기(Sentence Permutation)
- 문서를 문장 단위로 나눈 후 순서를 랜덤하게 섞음
- 모델은 문장의 원래 순서를 맞춰야 함
- 입력: "축구를 좋아한다. 오늘 날씨가 좋다. 친구들과 놀았다."
- 출력: "오늘 날씨가 좋다. 친구들과 놀았다. 축구를 좋아한다."
- 문서 회전(Document Rotation)
- 문장에서 특정 단어를 랜덤하게 골라 그 단어부터 문서를 다시 시작
- 모델은 문장의 올바른 시작점을 찾아야 함
- 입력: "좋아한다. 나는 축구를"
- 출력: "나는 축구를 좋아한다."
- 토큰 마스킹(Token Masking)
3. Fine-tuning BART
- BART 모델은 다양한 Downstream task에서 활용될 수 있음

3.1 Sequence Classification Tasks
- 예를 들어, Sentiment Analysis같은 task에서 사용 가능
- 같은 입력을 Encoder와 Decoder 모두에게 넣어줌.
- Decoder의 마지막 토큰 hidden state을 새로운 다중 클래스 Linear Classifier에 전달하여 분류 수행
- 이를 통해 Decoder가 전체 입력을 참고하도록 함
- BERT는 CLS 토큰을 사용
3.2 Token Classification Tasks
- 예를 들어, SQuAD에서 정답이 어디에 있는지 예측하는 작업
- 전체 문서를 Encoder와 Decoder에 입력한 후, 디코더의 최상위(hidden state) 출력을 사용하여 각 단어(토큰)의 클래스를 분류
- Input: "아인슈타인은 언제 태어났어? 알베르트 아인슈타인은 1879년 3월 14일 독일에서 태어났다."
- 예측된 정답: "1879년 3월 14일"
- BART는 각 단어(토큰)의 hidden state를 기반으로 분류하는 방식 (BERT는 CLS 토큰 활용)
3.3 Sequence Generation Tasks
- BART는 Auto-Regressive 방식의 Decoder를 가짐
- 즉, 이전 단어를 참고하면서 하나씩 단어를 생성하는 방식
- 추상적 요약(Abstractive Summarization) 및 질의응답(Question Answering)과 같은 작업 수행 가능
- 요약: 입력 문장에서 중요한 정보만 뽑아 새롭게 정리
- 질의응답: 입력 문장을 변형하여 답변 생성
- BERT 같은 모델은 입력 문장에서 정답을 그대로 찾아서 반환
3.4 Machine Translation
- 기존 연구에서는 Pretrained Encoder를 사용하면 번역 성능이 향상되었음
- 그러나 Decoder를 사전 학습하는 것의 효과는 미미했음
- BART 전체 모델(Encoder + Decoder)을 하나의 사전 학습된 디코더로 사용하면 번역 성능을 개선할 수 있음
- 외국어 문장을 Encoder가 입력받고, BART가 이를 영어 문장으로 복원하는 방식
- 구체적인 방법
- BART의 Encoder Embedding Layer를 새로운 랜덤 Encoder로 교체
- 기존 BART는 손상된 영어 문장을 입력받았지만, 이제는 외국어 문장을 입력할 수 있도록 수정하는 것
- 모델을 두 단계에 걸쳐 학습
- 1단계
- 대부분의 BART 파라미터를 고정하고,
- 새롭게 추가된 Encoder, 위치 임베딩, 첫 번째 층의 self-attention을 학습
- 외국어 문장을 영어 문장처럼 변환하는 법을 익힘
- 2단계
- 전체 모델을 end-to-end로 훈련하여 미세 조정
- 더 자연스럽고 정확한 번역이 가능하도록 함
- 1단계
- BART의 Encoder Embedding Layer를 새로운 랜덤 Encoder로 교체
4. Comparing Pre-training Objectives
- 본 실험에서는 6개의 Encoder와 6개의 Decder 레이어, hidden state 크기 768을 갖춘 base-size 모델을 사용하여 여러 사전 학습 방식의 성능을 비교
4.1 Comparison Objectives
- 지금까지 여러 가지 사전 학습 방식이 제안되었지만, 공정한 비교가 어려웠음
- 그 이유를 아래와 같음
- 서로 다른 학습 데이터와 학습 자원 사용
- 모델 구조 차이
- 파인튜닝 방식의 차이
- 따라서, 기존에 제안된 강력한 사전 학습 방법들을 동일한 환경에서 다시 구현하여 실험을 진행
- 공정한 비교를 위해 가급적 사전 학습 방식 외의 요소는 동일하게 유지했지만, 성능 향상을 위해 학습률 및 레이어 정규화 방식을 일부 조정
Language Model
- GPT(Radford et al., 2018)처럼 왼쪽에서 오른쪽으로 순차적으로 단어를 예측하는 Transformer 모델을 학습
- BART에서는 디코더만 사용하는 형태와 동일
Permuted Language Model
- XLNet(Yang et al., 2019)을 기반으로 함
- 문장에서 1/6(약 16%)의 단어를 샘플링한 후, 랜덤한 순서로 autoregressive 방식으로 예측
- 다만, BART는 XLNet의 상대적 위치 임베딩 및 세그먼트 간 어텐션은 사용하지 않음
Masked Language Model
- BERT(Devlin et al., 2019) 방식
- 문장의 15% 단어를 [MASK] 토큰으로 대체한 후, 원래 단어를 예측하도록 학습
Multitask Masked Language Model
- UniLM(Dong et al., 2019) 방식
- 일반적인 마스킹 외에도 추가적인 자기 어텐션 마스크(self-attention mask)를 사용하여 다양한 학습 방식 적용
- 사용된 비율
- 1/6: 왼쪽에서 오른쪽으로 예측
- 1/6: 오른쪽에서 왼쪽으로 예측
- 1/3: 마스킹 없이 전체 문장 사용
- 1/3: 앞 50% 단어는 보이게 하고, 나머지는 왼쪽에서 오른쪽으로 예측
Masked Seq-to-Seq
- MASS(Song et al., 2019) 방식
- 문장의 50%를 마스킹하고, 마스킹된 부분을 예측하는 Seq-to-Seq 학습 수행
4.2 Tasks
SQuAD
- SQuAD(Stanford Question Answering Dataset)는 위키백과 문서를 기반으로 한 질문-답변 데이터셋
- 주어진 문단에서 정확한 정답(span, 텍스트 조각)을 찾아야 하는 task
- 문단: "아인슈타인은 1879년에 태어나 상대성이론을 발표했다."
- 질문: "아인슈타인은 언제 태어났나요?"
- 정답: "1879년" (문장에서 직접 추출)
MNLI
- MNLI(Multi-Genre Natural Language Inference)는 두 개의 문장이 주어졌을 때, 서로 어떤 관계인지 예측하는 task
- 문장1: "나는 오늘 아침에 커피를 마셨다."
- 문장2: "나는 오늘 커피를 마시지 않았다."
- 정답: "모순(Contradiction)"
- 가능한 관계 유형:
- "Entailment(포함 관계)" → 첫 번째 문장이 두 번째 문장을 포함하는 경우
- "Neutral(중립 관계)" → 두 문장이 서로 관련이 있지만, 포함/모순 관계는 아닌 경우
- "Contradiction(모순 관계)" → 두 문장이 서로 반대되는 의미를 가질 경우
ELI5
- ELI5(Explain Like I’m Five)는 길고 복잡한 질문에 대해 자연스러운 문장으로 답변을 생성하는 task
- 주어진 질문과 관련 문서를 참고해서 완전히 새로운 답변을 생성해야 함
- 질문: "왜 하늘은 파란가요?"
- 정답: "하늘이 파란 이유는 빛이 대기에서 산란되면서 짧은 파장의 파란색 빛이 더 많이 퍼지기 때문이다."
XSum
- XSum(Extreme Summarization)은 뉴스 기사에서 중요한 정보를 추출하여 짧은 요약을 생성하는 task
- 기사: "대한민국 대표팀이 오늘 열린 월드컵 경기에서 2-1로 승리했다. 손흥민이 결승골을 넣으며 팀을 이끌었다."
- 요약: "대한민국, 월드컵 경기에서 2-1 승리!"
ConvAI2
- ConvAI2는 주어진 대화 문맥(context)과 상대방(persona)에 맞춰 자연스러운 대화 응답을 생성하는 task
- 사용자: "오늘 날씨가 너무 좋아!"
- 모델 응답: "맞아요! 이렇게 맑은 날엔 산책이 최고죠!"
CNN/DM
- CNN/Daily Mail 데이터셋은 기사의 문장에서 중요한 문장만 골라 요약하는 task
- XSum보다 원문과 유사한 요약을 생성해야 함
- 기사: "대한민국 대표팀이 오늘 열린 월드컵 경기에서 2-1로 승리했다. 손흥민이 결승골을 넣으며 팀을 이끌었다."
- 요약: "손흥민이 결승골을 넣으며 대한민국 대표팀이 월드컵 경기에서 승리했다."
4.3 Results
Performance of pre-training methods varies significantly across tasks
- 예: 단순 언어 모델(LM)은 ELI5에서는 최고 성능을 보였지만, SQuAD에서는 최악의 성능을 기록
Token masking is crucial
- 문장 순서를 섞거나 문서를 회전시키는 방식만으로는 성능이 낮음
- 토큰 삭제(Deletion) 방식이 요약(Generation) 태스크에서 더 성능이 좋았음
Left-to-right pre-training improves generation
- Masked LM(BERT 방식)과 Permuted LM(XLNet 방식)은 요약 태스크에서 성능이 낮았음
- 즉, 사전 학습 과정에서 문장을 왼쪽부터 순서대로 예측하는 것이 요약 모델 학습에 도움이 됨
Bidirectional encoders are crucial for SQuAD
- 질문-답변 태스크에서는 미래 단어를 참고할 수 있는 양방향(Bidirectional) 모델이 필요
- 하지만 BART는 기존 BERT보다 절반만 양방향 층을 사용하면서도 비슷한 성능을 기록
The pre-training objective is not the only important factor
- XLNet의 상대적 위치 임베딩(relative position embedding)과 세그먼트 반복(segment recurrence)을 사용하지 않아서 성능이 낮았을 가능성이 있음
Pure language models perform best on ELI5
- 즉, ELI5 같은 태스크에서는 BART보다 GPT 스타일의 모델이 더 유리할 수도 있음
BART achieves the most consistently strong performance
- 특히 Text-Infilling(문장 복원) 방식이 효과적이었음
- 예외적으로 ELI5에서는 다른 모델이 더 성능이 좋았음

5. Large-scale Pre-training Experiments
5.2 Discriminative Tasks
- BART vs. RoBERTa 비교 (SQuAD & GLUE 벤치마크)
- SQuAD (질의응답) 및 GLUE(문장 이해) 테스트에서 RoBERTa와 비슷한 성능
- 즉, BART가 생성 태스크에서 강점을 갖지만, 분류 태스크에서도 높은 성능을 유지함

5.3 Genereation Tasks
- 요약 (Summarization, CNN/DailyMail & XSum 데이터셋)
- CNN/DailyMail: 원문과 비슷한 문장을 생성해야 하는 요약 태스크 → BART가 모든 기존 모델을 능가
- XSum: 원문과 다르게 새로운 문장을 만들어야 하는 요약 태스크 → BERT 기반 모델 대비 ROUGE 점수 6점 향상 (SOTA 달성)

- 대화 응답 생성 (Dialogue Response Generation, ConvAI2 데이터셋)
- 대화 문맥(Context)과 캐릭터(Persona)에 맞춘 응답 생성 태스크에서 기존 모델보다 높은 성능 기록

- 추상적 질문-답변 (Abstractive QA, ELI5 데이터셋)
- 긴 형식(Free-form) 답변을 생성하는 태스크
- BART가 기존 모델 대비 1.2 ROUGE-L 점수 향상
- 하지만 정답이 질문과 약하게 연결되는 데이터 특성상 어려움이 있음

5.4 Translation
- WMT16 Romanian-English 번역 태스크 실험
- Transformer 모델과 비교하여 BART가 더 강력한 성능을 보임
- 하지만 Back-Translation 데이터를 추가해야 효과적이었음
- 모델이 과적합(Overfitting)되는 문제를 해결하기 위한 정규화(Regularization) 기법 연구 필요

6. Qualitative Analysis
- 요약 태스크에서 BART가 기존 모델 대비 6점 향상 (ROUGE 점수 기준)
- BART는 문법적으로 유창하고 자연스러운 문장을 생성
- 기존 문장에서 일부 문장을 그대로 복사하는 것이 아니라, 새로운 문장을 창의적으로 생성 (Highly Abstractive Summarization)
- 배경지식을 활용하여 문맥적으로 적절한 정보 보완 가능 (예: 기업이 특정 지역에서 운영 중임을 추론)
- 하지만 일부 정보는 원문에 근거가 부족할 수도 있음 → 신뢰성 문제 존재
8. Conclusions
- BART는 손상된 문서를 원래 문서로 복원하는 방식으로 사전 학습(Pre-training)하는 모델
- 분류(Classification) 태스크에서는 RoBERTa와 유사한 성능을 보임
- 텍스트 생성(Text Generation) 태스크에서는 기존 모델 대비 새로운 SOTA(State-of-the-Art) 성능 달성
'논문 리뷰 > NLP' 카테고리의 다른 글
[X:AI] RoBERTa 논문 리뷰 (1) | 2025.02.04 |
---|---|
[X:AI] ELMo 논문 리뷰 (0) | 2024.03.25 |
[X:AI] BERT 논문 리뷰 (0) | 2024.02.15 |
[X:AI] GPT-1 논문 리뷰 (0) | 2024.02.11 |
[X:AI] Transformer 논문 리뷰 (0) | 2024.02.10 |