BART
개요
BART(Bidirectional and-Regressive Transformer)는 자연어(NLP) 분야에서 텍스트 생성 및 이해 작업에 널리 사용되는 시퀀스-투-시퀀스(sequence-to-sequence) 기반의 트랜스포머 아키텍처입니다. 2019년 페이북 AI(Facebook AI, 현재 Meta AI) 연구팀에 의해 제안된 BART는 기존의 BERT와 GPT의 장점을 결합한 구조를 가지고 있으며, 특히 문서 요약, 기계 번역, 질의 응답, 텍스트 생성 등 다양한 NLP 작업에서 뛰어난 성능을 보입니다.
BART의 핵심 아이디어는 노이즈를 추가한 입력 문장을 복원하는 과제(denoising autoencoder)를 통해 언어 모델을 사전 학습하는 것입니다. 이 방식은 텍스트를 다양한 방식으로 손상시킨 후 원본 문장으로 복구하도록 학습함으로써, 언어의 구조적 이해와 생성 능력을 동시에 향상시킵니다.
아키텍처 구조
BART는 인코더-디코더 구조를 기반으로 한 트랜스포머 모델입니다. 이 구조는 다음과 같은 두 부분으로 구성됩니다:
인코더 (Encoder)
- 양방향(bidirectional) 트랜스포머로 구성
- 입력 시퀀스 전체를 동시에 고려하여 문맥 정보를 포착
- BERT와 유사한 방식으로 동작
- 손상된 텍스트(예: 일부 단어 삭제, 순서 섞기 등)를 입력으로 받아 의미 표현을 생성
디코더 (Decoder)
- 자기회귀(auto-regressive) 방식의 트랜스포머
- 이전에 생성된 토큰들을 기반으로 다음 토큰을 예측
- GPT와 유사한 방식으로 동작
- 인코더의 출력을 참조하여 원래 문장을 복원하거나 새로운 문장을 생성
이 구조는 기존 BERT(양방향만 사용)나 GPT(자기회귀만 사용)보다 더 유연하고 강력한 표현력을 제공합니다.
학습 방식
BART는 손상된 텍스트 복원(text infilling)을 중심으로 사전 학습을 수행합니다. 주요 노이즈 적용 방식은 다음과 같습니다:
- 토큰 삭제: 임의의 토큰을 제거
- 문자열 마스킹: 여러 토큰을 하나의
[MASK]로 대체
- 문자열 삭제: 일부 단어를 삭제하고 그 자리만 유지
- 문장 순서 섞기(sentence permutation): 문장의 순서를 무작위로 재배열
- 문서 회전(document rotation): 임의의 토큰을 기준으로 문장을 회전
이러한 다양한 손상 방식은 모델이 텍스트의 구조적 패턴과 의미적 일관성을 보다 깊이 이해하도록 유도합니다.
주요 응용 분야
BART는 사전 학습 후 다양한 downstream task에 대해 파인튜닝을 통해 뛰어난 성능을 발휘합니다. 대표적인 활용 분야는 다음과 같습니다:
1. 문서 요약 (Summarization)
- BART는 특히 추상적 요약(abstractive summarization) 작업에서 뛰어난 성능을 보입니다.
- CNN/Daily Mail 및 XSum 데이터셋에서 기존 모델들을 상회하는 결과를 기록
- 원문의 핵심 내용을 유지하면서 새로운 문장을 생성할 수 있음
2. 기계 번역 (Machine Translation)
- 병렬 코퍼스가 제한적인 경우, BART는 지도 학습 없이도 일부 성능을 발휘
- 다국어 버전인 mBART는 25개 이상의 언어를 지원하며, 크로스링구얼 전이 학습에 효과적
3. 질의 응답 (Question Answering)
- SQuAD 등의 데이터셋에서 파인튜닝 시 높은 정확도 달성
- 질문과 맥락을 인코딩하고 답변을 생성하는 데 적합한 구조
4. 텍스트 생성 및 복원
- 손상된 문장 복원, 문장 재작성(paraphrasing), 감성 전이(style transfer) 등 다양한 생성 작업에 활용 가능
mBART: 다국어 확장 버전
BART의 다국어 버전인 mBART(multilingual BART)는 25개 이상의 언어로 구성된 대규모 코퍼스에서 사전 학습된 모델입니다. mBART는 다음과 같은 특징을 가집니다:
- 모든 언어를 하나의 공통 임베딩 공간에서 처리
- 언어 간 전이 학습이 가능
- 특정 언어에 대한 파인튜닝이 없는 경우에도 일부 성능을 유지
mBART는 저자원 언어(low-resource languages)의 NLP 작업에 특히 유용합니다.
성능 및 평가
BART는 GLUE, SuperGLUE, SQuAD, XSum 등 여러 벤치마크에서 뛰어난 성능을 입증했습니다. 예를 들어:
| 데이터셋 |
작업 유형 |
BART 성능 (주요 지표) |
| CNN/Daily Mail |
추상적 요약 |
ROUGE-L: ~44.2 |
| XSum |
극단적 요약 |
ROUGE-L: ~45.1 |
| SQuAD v1.1 |
질의 응답 (정답 위치) |
F1: ~91.5 |
| WMT'16 En-Ro |
기계 번역 |
BLEU: ~35.9 (mBART 기준) |
관련 모델 및 기술 비교
| 모델 |
구조 유형 |
주요 특징 |
주 용도 |
| BERT |
인코더만 (양방향) |
문맥 이해에 강점 |
분류, 질의 응답 |
| GPT |
디코더만 (자기회귀) |
텍스트 생성에 강점 |
생성, 요약 |
| BART |
인코더-디코더 |
복원 기반 학습, 요약에 최적화 |
요약, 번역, 생성 |
| T5 |
인코더-디코더 |
모든 NLP 작업을 텍스트 생성으로 통합 |
다목적 NLP |
BART는 T5와 유사한 구조를 가지지만, 노이즈 적용 방식과 학습 전략에서 차이를 보입니다.
참고 자료 및 관련 문서
BART는 현대 NLP에서 요약 및 생성 작업의 표준 모델 중 하나로 자리 잡았으며, 지속적인 연구와 응용을 통해 다양한 도메인에 활용되고 있습니다.
# BART
## 개요
**BART**(Bidirectional and-Regressive Transformer)는 자연어(NLP) 분야에서 텍스트 생성 및 이해 작업에 널리 사용되는 **시퀀스-투-시퀀스**(sequence-to-sequence) 기반의 트랜스포머 아키텍처입니다. 2019년 페이북 AI(Facebook AI, 현재 Meta AI) 연구팀에 의해 제안된 BART는 기존의 BERT와 GPT의 장점을 결합한 구조를 가지고 있으며, 특히 **문서 요약**, **기계 번역**, **질의 응답**, **텍스트 생성** 등 다양한 NLP 작업에서 뛰어난 성능을 보입니다.
BART의 핵심 아이디어는 **노이즈를 추가한 입력 문장을 복원하는 과제**(denoising autoencoder)를 통해 언어 모델을 사전 학습하는 것입니다. 이 방식은 텍스트를 다양한 방식으로 손상시킨 후 원본 문장으로 복구하도록 학습함으로써, 언어의 구조적 이해와 생성 능력을 동시에 향상시킵니다.
---
## 아키텍처 구조
BART는 인코더-디코더 구조를 기반으로 한 트랜스포머 모델입니다. 이 구조는 다음과 같은 두 부분으로 구성됩니다:
### 인코더 (Encoder)
- **양방향**(bidirectional) 트랜스포머로 구성
- 입력 시퀀스 전체를 동시에 고려하여 문맥 정보를 포착
- BERT와 유사한 방식으로 동작
- 손상된 텍스트(예: 일부 단어 삭제, 순서 섞기 등)를 입력으로 받아 의미 표현을 생성
### 디코더 (Decoder)
- **자기회귀**(auto-regressive) 방식의 트랜스포머
- 이전에 생성된 토큰들을 기반으로 다음 토큰을 예측
- GPT와 유사한 방식으로 동작
- 인코더의 출력을 참조하여 원래 문장을 복원하거나 새로운 문장을 생성
이 구조는 기존 BERT(양방향만 사용)나 GPT(자기회귀만 사용)보다 더 유연하고 강력한 표현력을 제공합니다.
---
## 학습 방식
BART는 **손상된 텍스트 복원**(text infilling)을 중심으로 사전 학습을 수행합니다. 주요 노이즈 적용 방식은 다음과 같습니다:
- **토큰 삭제**: 임의의 토큰을 제거
- **문자열 마스킹**: 여러 토큰을 하나의 `[MASK]`로 대체
- **문자열 삭제**: 일부 단어를 삭제하고 그 자리만 유지
- **문장 순서 섞기**(sentence permutation): 문장의 순서를 무작위로 재배열
- **문서 회전**(document rotation): 임의의 토큰을 기준으로 문장을 회전
이러한 다양한 손상 방식은 모델이 텍스트의 구조적 패턴과 의미적 일관성을 보다 깊이 이해하도록 유도합니다.
---
## 주요 응용 분야
BART는 사전 학습 후 다양한 downstream task에 대해 파인튜닝을 통해 뛰어난 성능을 발휘합니다. 대표적인 활용 분야는 다음과 같습니다:
### 1. 문서 요약 (Summarization)
- BART는 특히 **추상적 요약**(abstractive summarization) 작업에서 뛰어난 성능을 보입니다.
- CNN/Daily Mail 및 XSum 데이터셋에서 기존 모델들을 상회하는 결과를 기록
- 원문의 핵심 내용을 유지하면서 새로운 문장을 생성할 수 있음
### 2. 기계 번역 (Machine Translation)
- 병렬 코퍼스가 제한적인 경우, BART는 지도 학습 없이도 일부 성능을 발휘
- 다국어 버전인 **mBART**는 25개 이상의 언어를 지원하며, 크로스링구얼 전이 학습에 효과적
### 3. 질의 응답 (Question Answering)
- SQuAD 등의 데이터셋에서 파인튜닝 시 높은 정확도 달성
- 질문과 맥락을 인코딩하고 답변을 생성하는 데 적합한 구조
### 4. 텍스트 생성 및 복원
- 손상된 문장 복원, 문장 재작성(paraphrasing), 감성 전이(style transfer) 등 다양한 생성 작업에 활용 가능
---
## mBART: 다국어 확장 버전
BART의 다국어 버전인 **mBART**(multilingual BART)는 25개 이상의 언어로 구성된 대규모 코퍼스에서 사전 학습된 모델입니다. mBART는 다음과 같은 특징을 가집니다:
- 모든 언어를 하나의 공통 임베딩 공간에서 처리
- 언어 간 전이 학습이 가능
- 특정 언어에 대한 파인튜닝이 없는 경우에도 일부 성능을 유지
mBART는 저자원 언어(low-resource languages)의 NLP 작업에 특히 유용합니다.
---
## 성능 및 평가
BART는 GLUE, SuperGLUE, SQuAD, XSum 등 여러 벤치마크에서 뛰어난 성능을 입증했습니다. 예를 들어:
| 데이터셋 | 작업 유형 | BART 성능 (주요 지표) |
|----------------|----------------------|-------------------------------|
| CNN/Daily Mail | 추상적 요약 | ROUGE-L: ~44.2 |
| XSum | 극단적 요약 | ROUGE-L: ~45.1 |
| SQuAD v1.1 | 질의 응답 (정답 위치)| F1: ~91.5 |
| WMT'16 En-Ro | 기계 번역 | BLEU: ~35.9 (mBART 기준) |
---
## 관련 모델 및 기술 비교
| 모델 | 구조 유형 | 주요 특징 | 주 용도 |
|--------|---------------------|------------------------------------|----------------------------|
| BERT | 인코더만 (양방향) | 문맥 이해에 강점 | 분류, 질의 응답 |
| GPT | 디코더만 (자기회귀) | 텍스트 생성에 강점 | 생성, 요약 |
| BART | 인코더-디코더 | 복원 기반 학습, 요약에 최적화 | 요약, 번역, 생성 |
| T5 | 인코더-디코더 | 모든 NLP 작업을 텍스트 생성으로 통합 | 다목적 NLP |
BART는 T5와 유사한 구조를 가지지만, 노이즈 적용 방식과 학습 전략에서 차이를 보입니다.
---
## 참고 자료 및 관련 문서
- [Lewis, M., et al. (2019). "BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translation, and Comprehension." *arXiv:1910.13461*](https://arxiv.org/abs/1910.13461)
- Hugging Face Transformers 라이브러리: [`facebook/bart-base`](https://huggingface.co/facebook/bart-base), [`facebook/bart-large-cnn`](https://huggingface.co/facebook/bart-large-cnn)
- mBART 공식 문서: [https://github.com/pytorch/fairseq](https://github.com/pytorch/fairseq)
BART는 현대 NLP에서 요약 및 생성 작업의 표준 모델 중 하나로 자리 잡았으며, 지속적인 연구와 응용을 통해 다양한 도메인에 활용되고 있습니다.