본문 바로가기
논문 리뷰/NLP

[X:AI] BART 논문 리뷰

by hyeon827 2025. 2. 11.

 

논문 원본 : 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] 토큰으로 대체
  • 이러한 방식은 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)
      • 문장에서 특정 단어를 랜덤하게 골라 그 단어부터 문서를 다시 시작
      • 모델은 문장의 올바른 시작점을 찾아야 함
      • 입력: "좋아한다. 나는 축구를"
      • 출력: "나는 축구를 좋아한다."

 

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로 훈련하여 미세 조정
        • 더 자연스럽고 정확한 번역이 가능하도록 함

 

 

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