📌 BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translation, and Comprehension
📝 저자 : Mike Lewis, Yinhan Liu, Naman Goyal, Marjan Ghazvininejad, Abdelrahman Mohamed, Omer Levy, Ves Stoyanov, Luke Zettlemoyer
📅 발행 연도 : Submitted on 29 Oct 2019
🔗 논문 링크 : https://arxiv.org/abs/1910.13461
Abstract
BART는 텍스트의 손실된 정보를 복원하도록 학습된 Denoising Autoencoder 기반의 사전학습 모델이다.
- BERT처럼 이해 작업에 강한 인코더 구조와, GPT처럼 생성 작업에 유리한 디코더 구조를 통합
- 다양한 텍스트 손상 방식(노이징 함수)을 실험하며 일반화 가능성을 탐색
- Text Infilling (문장 일부를 [MASK]로 대체)와 Sentence Shuffling (문장 순서를 섞음)의 조합이 가장 효과적
- 텍스트 생성(요약, 번역, QA 등)과 이해(GLUE, SQuAD 등)에서 모두 SoTA 또는 동급 성능 달성
1. Introduction
연구 배경
- Self-supervised 방식은 라벨 없이 대규모 데이터로 학습할 수 있어 매우 효율적이며, BERT, GPT와 같은 모델들을 통해 NLP 분야에 큰 성과를 가져왔다.
- 기존 모델들은 특정 방향성이나 특정 목적에 최적화된 경우가 많아, 범용성이 떨어지는 단점이 있었다.
- 예를 들어, BERT는 양방향 context 이해에는 강하지만 텍스트 생성을 직접 지원하지 못하고, GPT는 생성은 가능하나 이해력은 제한적이다.
BART의 제안

- BART는 범용 사전학습을 목표로 함
- 핵심 아이디어
- 입력 문장을 다양한 방식으로 손상 ⇒ 노이즈
- 원문 복원을 목표로 학습 ⇒ seq2seq 구조
- 이로 인해 이해 + 생성 작업 모두에서 활용 가능
- 구조적으로 BERT + GPT의 장점만 추출
2. Model
2.1 Architecture
- Transformer 기반의 Seq2Seq 구조
- Encoder : BERT-style (양방향 self-attention)
- Decoder : GPT-style (좌→우 auto-regressive)
- GeLU activation 사용 (ReLU보다 smooth)
- 파라미터 수는 BERT보다 약간 많음 (약 10%)
🔸구조 요약
BERT-style Encoder + GPT-style Decoder
→ 입력 복원에 최적화된 구조로 생성/이해 모두 대응 가능
2.2 Pre-training BART
노이징(손상) 기법
| 기법 | 설명 |
|---|
| Token Masking | 랜덤 토큰을 [MASK]로 대체 (BERT 유사) |
| Token Deletion | 랜덤하게 토큰 삭제 (어디가 빠졌는지 추론 필요) |
| Text Infilling | span 단위로 연속된 토큰 삭제 후 하나의 [MASK]로 대체 |
| Sentence Permutation | 문장 순서를 섞어 문맥 파악 능력 테스트 |
| Document Rotation | 문서 시작 위치를 변경해 global 구조 이해 유도 |
기존의 단어 수준 마스킹(BERT) → BART는 더 넓은 수준(span, 문장)으로 손상을 유연하게 적용
3. Fine-tuning BART
BART는 사전학습 후 다양한 downstream task에 맞게 fine-tune할 수 있다.
3.1 Sequence Classification Tasks
- 입력을 encoder와 decoder에 동시에 전달
- decoder의 마지막 hidden state를 활용해 분류
- BERT의
[CLS] 토큰과 유사한 방식
3.2 Token Classification
- ex) SQuAD의 정답 범위 예측
- decoder의 각 토큰 hidden state를 사용해 시작/종료 위치 분류
3.3 Sequence Generation
- 요약, 번역, QA 등 자연어 생성(NLG) task에 적합
- auto-regressive decoder 덕분에 이전 토큰을 참조해 다음 토큰 생성
3.4 Machine Translation
- 기존 BART에 외국어 전용 encoder를 덧붙여 번역 시스템 구현
- decoder는 영어 복원기로 활용됨 (target-side pretrained LM)
- 기존 back-translation 대비 +1.1 BLEU 향상

BART는 기존 번역 시스템과는 달리, target-side LM으로서 활용 가능
4. Comparing Pre-training Objectives
4.1 다양한 사전학습 목표 비교
- 실험에 포함된 사전학습 방식
- Masked LM (BERT)
- Language Model (GPT)
- Permuted LM (XLNet)
- Masked Seq2Seq (MASS)
- Multitask LM (UniLM)
- BART (다양한 노이즈 실험)
4.2 Task
- SQuAD (extractive QA)
- MNLI (문장 관계 분류)
- ELI5 (long-form QA)
- XSum, CNN/DM (요약)
- ConvAI2 (대화)
4.3 Results

| 모델 | 특징 및 성능 요약 |
|---|
| BART | 전반적으로 가장 일관된 성능 (특히 text infilling 기반) |
| GPT | 생성 성능 좋지만 이해 task에서는 하락 |
| BERT | 이해 task 강력, 생성은 부적합 |
| MASS/UniLM | 생성 task에서 우수하나, BART보다 폭이 좁음 |
BART는 task별 성능 편차가 적고 전반적으로 강력한 성능
특히 Text Infilling은 기존 어떤 방식보다 높은 일관성과 정확도를 보임
5. Large-scale Pre-training Experiments
5.1 Experimental Setup
- BART Large
- 12 encoder + 12 decoder layers
- batch size : 8000 / 500K steps
- 학습 데이터 : 160GB (뉴스, 책, 웹 등)
- Byte Pair Encoding 사용 (GPT-2 tokenizer 동일)
5.2 Discriminative Tasks (SQuAD/GLUE 등)
- RoBERTa와 유사한 성능
- classification에는 auto-regressive decoder의 단점 없음
| 모델 | 성능 |
|---|
| BART | SQuAD 94.6 F1, GLUE 평균 88점대 |
| RoBERTa | 유사한 수준 |

5.3 Generation Tasks
- CNN/DM, XSum 요약에서 모두 SOTA
- 특히 XSum에서 ROUGE-1/2/L 약 +6pt 향상

- ConvAI2에서도 PPL 11.85로 기존 시스템보다 우수

6. Qualitative Analysis
| 모델 | 특징 |
|---|
| GPT | 좌→우 생성 전용 |
| ELMo | task-specific + 방향성 concat |
| BERT | Masked LM 기반 양방향 context 학습 |
| UniLM | 다양한 self-attention 마스킹으로 생성 지원 |
| MASS | encoder와 decoder에 다른 입력 사용 |
| XLNet | Permuted LM으로 context 확장 |
BART는 이들 모델의 장점을 결합하면서도, 단일 구조로 다양한 task를 포괄함
8. Conclusions
- BART는 사전학습과 생성 task 간의 간극을 줄이는 모델
- 기존 사전학습 모델들이 task 특화된 방식이었다면, BART는 범용성을 지향
- 텍스트 생성, 요약, 대화, 번역, 질문응답 등 광범위한 task에 우수
- 가능한 미래 연구
- Task-specific 노이징 설계
- 더 큰 규모의 모델로 확장
- 다국어 학습 및 멀티모달 확장
💭 My Thoughts
- BART는 자연어 처리 분야에서 잘 알려진 사전학습 모델인 BERT와 GPT를 섞은 모델인 것이 흥미롭게 다가왔다. 특히 BART는 문장을 일부 손상시키고, 이를 복원하는 과정을 통해 언어를 학습한다는 점이 인간이 퍼즐 맞추듯 문장을 이해하는 방식과 유사하다고 느꼈다.
- BART는 Transformer의 구조를 거의 유지한 채 학습 방식만 바꿔도 큰 성능 향상을 이끌어낼 수 있다는 점에서, 모델 자체보다 학습 objective의 중요성을 다시 한 번 느끼게 됐다.
- 요약, 번역, 질문 응답 등 다양한 task에서 모두 좋은 성능을 내는 것을 보며, 실제 프로젝트에서 사용해보고 싶다는 생각도 들었다.