본문 바로가기
LLM/LLM 논문 읽기

📝 LLM 논문 읽기 #3 - BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding

by 컴돌이_예준 2025. 3. 25.

📌 논문 정보

  • 제목: BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
  • 저자: Jacob Devlin et al.
  • 출처: arXiv (📄 논문 PDF)
  • 게재일: 2018년 10월 11일, 최종 수정일 : 2019년 5월 24일
  • 인용 횟수: 126,945 회 (2025년 3월 기준)
  • 선정 이유: BERT 논문은 양방향 학습 개념을 명확히 설명하며 입문자에게 LLM의 기초를 이해하기 쉽게 제공하며, LLM 패러다임에 사전 학습과 미세 조정을 표준화해 이후 모델들의 성능과 활용성을 크게 높인 영향을 끼쳤기 때문에

초록 (Abstract)

  • BERT는 Bidirectional Encoder Representations from Transformers의 약자로, 양방향 문맥을 모두 반영하여 언어 표현을 사전 학습하는 새로운 모델입니다.
  • 기존의 단방향 언어 모델과 달리, BERT는 모든 층에서 좌우 문맥을 동시에 고려하여 더 풍부한 의미를 캡처합니다.
  • 이로 인해 사전 학습된 BERT 모델은 추가 출력 레이어만으로 질문 응답, 언어 추론 등 다양한 자연어 처리 작업에서 최첨단 성능을 달성할 수 있습니다.
  • 특히, GLUE, MultiNLI, SQuAD 등 다양한 벤치마크에서 기존 모델들을 능가하며 뛰어난 성능을 보입니다.
  • 이는 BERT가 개념적으로 단순하면서도 강력한 성능을 제공함을 보여줍니다.

1. 서론 (Introduction)

  • BERT는 기존의 단방향 언어 모델(pre-training)에 비해 양방향(Bidirectional) 표현을 학습할 수 있도록 설계되었습니다.
  • 기존 접근 방식은 주로 특징 기반(feature-based) 또는 미세 조정(fine-tuning) 방식이었으며, 대부분 단방향(unidirectional) 모델을 사용하여 문맥 정보를 제한적으로 활용했습니다.
  • 이에 반해, BERT는 Masked Language Model (MLM)Next Sentence Prediction (NSP) 과제를 활용해 깊은 양방향 표현을 사전 학습합니다. 이 구조는 단어 예측 시 좌우 문맥을 동시에 고려할 수 있어, 문장 수준은 물론 단어 수준 작업에서도 강력한 성능을 발휘합니다.

BERT의 주요 기여는 다음과 같습니다:

  • 양방향 사전 학습의 효과를 입증함
  • 복잡한 작업별 구조 없이도 다양한 자연어 처리 작업에서 최고 성능을 달성함
  • GLUE, SQuAD 등 총 11개의 자연어 처리 태스크에서 최신 성능을 기록함

코드와 사전 학습된 모델은 GitHub 저장소에서 제공됩니다.


2. 관련 연구 (Related Work)

1. Unsupervised Feature-based Approaches

수십 년간 다양한 방식으로 범용 단어 표현을 학습하려는 시도가 있어 왔으며, 비신경망 방식부터 신경망 방식까지 다양합니다.

  • Word Embeddings: Word2Vec, GloVe 같은 사전 학습된 단어 임베딩은 현대 NLP 시스템에서 핵심 역할을 하며, 임베딩을 처음부터 학습하는 것보다 훨씬 나은 성능을 보여줍니다.
  • 문장 및 문단 단위 확장: 문장 임베딩(Skip-thought, InferSent 등)이나 문단 임베딩을 위한 연구도 이어졌습니다.
  • ELMo: 왼쪽-오른쪽 방향의 LSTM을 따로 학습하고 이들을 병합(concatenation)하여 문맥 기반 표현(contextual representations)을 생성함. 이는 다양한 태스크(질문 응답, 감성 분석, 개체명 인식 등)에서 성능을 향상시킴.
  • 문맥 예측: Melamud et al. (2016)은 양방향 LSTM을 이용해 단어를 예측하는 과제를 사용했고, Fedus et al. (2018)은 cloze task를 활용해 생성 모델의 강건성을 향상시켰습니다.

이러한 접근은 대부분 얕은 방향성(shallow directional) 구조이며, BERT의 깊은 양방향 표현 방식과는 구별됩니다.


 

2. Unsupervised Fine-tuning Approaches

이 접근 방식은 비지도 학습으로 문맥 표현을 사전 학습(pre-training) 한 뒤, 감독 학습 태스크에 맞춰 전체 모델을 미세 조정(fine-tuning) 하는 방식입니다.

  • 초기에는 단어 임베딩만을 사전 학습하는 방식이었지만, 최근에는 문장이나 문서 수준의 인코더가 사전 학습되어 다양한 태스크에 활용됩니다.
  • 대표적으로 OpenAI GPT는 왼쪽에서 오른쪽으로만 보는 Transformer 언어 모델을 사전 학습하여, GLUE 벤치마크 등 다양한 문장 수준 작업에서 최고 성능을 기록했습니다.
  • 이러한 접근의 강점은 적은 수의 새로운 파라미터만 학습하면 되므로, 학습 비용이 낮고 효율적이라는 점입니다.

즉, 이 방식은 사전 학습된 모델을 그대로 가져와 특정 작업에 맞게 조금만 조정하면 되므로, 간단하면서도 강력한 성능을 낼 수 있다는 장점이 있습니다.


3. Transfer Learning from Supervised Data

기존에는 비지도 사전 학습이 주류였지만, 최근에는 대규모 감독 데이터셋을 활용해 사전 학습한 후, 다른 태스크에 전이하는 방식이 주목받고 있습니다.

  • 예시로는 자연어 추론(Natural Language Inference, NLI) 작업에서 학습된 문장 표현이나, 기계 번역(Machine Translation)에서 얻은 표현이 있습니다.
  • 이러한 방법은 컴퓨터 비전 분야에서 일반적인 ImageNet 사전 학습 → 미세 조정(fine-tuning)과 유사한 전이 학습 패턴을 따릅니다.

핵심은, 대규모 감독 데이터로부터 학습된 표현을 다른 태스크에 효과적으로 적용할 수 있다는 것입니다.


 

위 그림은 BERT의 사전학습(pre-training)과 미세조정(fine-tuning) 과정을 시각적으로 설명니다. 이 그림은 다음과 같은 핵심 사항을 보여줍니다

  1. 통합 아키텍처
    • BERT는 모든 태스크에서 동일한 모델 구조를 사용하며, 사전 학습과 다운스트림 작업에서 거의 동일한 구조를 유지합니다.
    • 따라서 태스크마다 새로운 아키텍처를 설계할 필요 없이, 하나의 모델을 다양한 작업에 활용할 수 있습니다.
  2. 사전 학습 (Pre-training)
    • 왼쪽 부분은 BERT가 수행하는 두 가지 주요 사전 학습 작업을 나타냅니다:
      • Masked Language Model (MLM): 입력 문장에서 일부 단어를 [MASK] 처리한 뒤, 원래 단어를 예측
      • Next Sentence Prediction (NSP): 두 문장이 실제로 이어지는 문장인지 아닌지를 분류
  3. 미세 조정 (Fine-tuning)
    • 오른쪽 부분은 다운스트림 태스크에서 BERT가 어떻게 조정되는지를 보여줍니다.
    • 예: 질문 응답 태스크에서는 질문과 문서를 하나의 입력 시퀀스로 묶고, 정답 토큰의 시작과 끝을 예측합니다.
    • 문장 분류 태스크에서는 [CLS] 토큰의 표현을 사용해 분류를 수행합니다.

이 그림은 사전 학습된 모델을 다양한 작업에 쉽게 적용 가능하게 하는 BERT의 강점을 강조합니다.


3. BERT

  • BERT는 두 단계로 구성됩니다:
    1. Pre-training (사전학습): 라벨이 없는 데이터로 일반적인 언어 표현을 학습
    2. Fine-tuning (미세조정): 사전학습된 모델을 사용하여 각 작업별로 라벨이 있는 데이터로 조정
  • 모든 다운스트림 태스크는 동일한 사전학습 파라미터로 초기화되며, 각 태스크별로 모든 파라미터를 조정하여 최적화합니다.
  • 구조적으로 하나의 통합된 모델 아키텍처를 기반으로 하며, 다양한 작업에 대해 아키텍처 변경이 거의 없습니다.

[Model Architecture]

  • BERT는 멀티레이어 양방향 Transformer 인코더로 구성되며, Vaswani et al. (2017)의 구현을 기반으로 합니다.
  • 주요 파라미터:
    • L: Transformer 블록 수 (레이어 수)
    • H: 숨겨진 상태 벡터의 차원
    • A: self-attention 헤드 수
  • 두 가지 모델 크기 제공:
    • BERTBASE: L=12, H=768, A=12 → 총 110M 파라미터
    • BERTLARGE: L=24, H=1024, A=16 → 총 340M 파라미터
  • 중요한 차이점: BERT는 양방향 self-attention, GPT는 단방향(left-to-right) self-attention 사용

[Input/Output Representations]

BERT input representation

입력 (Input Representation)

  • 입력은 하나의 문장 또는 두 문장 쌍을 하나의 토큰 시퀀스로 인코딩할 수 있습니다.
  • 각 입력 시퀀스의 구성 요소:
    • [CLS]: 항상 시퀀스의 첫 번째 토큰이며, 분류 태스크에서 전체 시퀀스를 대표하는 벡터로 사용
    • [SEP]: 문장 사이를 구분하는 특수 토큰
    • Token Embeddings: WordPiece 토크나이저를 사용하여 얻은 단어 임베딩
    • Segment Embeddings: 각 토큰이 문장 A인지 B인지 나타냄
    • Position Embeddings: 각 토큰의 위치 정보를 나타냄
  • 최종 입력은 이 세 가지 임베딩의 으로 구성됩니다.

출력 (Output Representation)

  • [CLS] 토큰의 최종 은닉 상태 벡터(C)는 문장 또는 문장 쌍의 전체 표현으로 사용되어 분류 작업에 활용됩니다.
  • 각 입력 토큰의 은닉 상태 벡터(T₁, T₂, ..., Tₙ)는 태깅 작업(예: 개체명 인식, 질문 응답 등)에서 사용됩니다.

이 구조 덕분에 BERT는 하나의 아키텍처로 다양한 작업을 유연하게 처리할 수 있습니다.


3.1 Pre-training BERT

  • BERT는 기존의 단방향 언어 모델과 달리 깊은 양방향 Transformer 모델을 사전 학습합니다.
  • 이를 위해 두 가지 비지도 학습 태스크를 사용합니다:
    1. Masked Language Model (MLM)
    2. Next Sentence Prediction (NSP)
      이러한 접근은 좌우 문맥을 모두 반영하는 표현 학습이 가능하게 합니다.

Task #1: Masked Language Model (MLM)

  • 입력 시퀀스의 15% 토큰을 무작위로 선택해 예측 대상으로 설정
  • 선택된 토큰은 다음과 같이 처리됨:
    • 80%는 [MASK] 토큰으로 대체
    • 10%는 무작위 토큰으로 대체
    • 10%는 그대로 유지
  • 모델은 해당 위치의 원래 토큰을 예측하도록 학습됨
  • 이는 모델이 양방향 문맥을 동시에 고려하여 문맥 기반 표현을 학습하게 함

Task #2: Next Sentence Prediction (NSP)

  • 문장 A 다음에 문장 B가 실제로 오는 문장인지 여부를 예측
    • 50% 확률로 문장 B는 실제 다음 문장 (IsNext)
    • 나머지 50%는 무작위 문장 (NotNext)
  • 이 태스크는 질문 응답(QA) 및 **자연어 추론(NLI)**과 같은 문장 간 관계를 이해하는 데 효과적
  • NSP 정확도는 학습 후 97~98%에 도달

Pre-training Data

  • 두 가지 대규모 코퍼스를 사용:
    • BooksCorpus (8억 단어)
    • 영어 Wikipedia (25억 단어)
  • 위키피디아에서는 문장, 표, 헤더는 제외하고 순수 본문 텍스트만 사용
  • 문맥 학습을 위해 문장 단위가 아닌 문서 단위로 연속된 시퀀스를 사용하는 것이 중요함.

3.2 Fine-tuning BERT

미세 조정(Fine-tuning) 개요

  • BERT의 Transformer 구조는 입력과 출력만 변경하면 다양한 작업에 적용할 수 있어 미세 조정이 매우 간단합니다.
  • 단일 문장 혹은 문장 쌍을 처리하는 구조에 동일한 모델 아키텍처를 유지하면서, 전체 파라미터를 미세 조정합니다.

문장 쌍 처리 방식

  • 기존에는 문장 쌍을 독립적으로 인코딩한 뒤, 상호 attention을 적용하는 방식(예: Parikh et al., Seo et al.)을 사용했지만,
    BERT는 두 문장을 [SEP]로 이어 붙인 뒤 self-attention으로 한 번에 인코딩함으로써 양방향 cross-attention 효과를 자동으로 포함합니다.

다양한 태스크 적용 방식

  • 문장 분류, 자연어 추론(NLI), 질문 응답(QA), 감성 분석 등 여러 NLP 태스크에 다음과 같이 적용:
    • 문장 분류: [CLS] 토큰의 최종 벡터를 출력 레이어로 전달하여 분류
    • 토큰 레벨 태스크 (NER, QA 등): 각 토큰의 은닉 상태 벡터를 활용하여 출력

효율성과 재현성

  • BERT의 미세 조정은 상대적으로 계산 비용이 낮으며,
    논문에서 제시한 결과는 Cloud TPU 기준 1시간 이내, 일반 GPU에서도 몇 시간 내 재현 가능

4. Experiments (실험 결과)

  • BERT를 11개의 NLP 태스크에 대해 미세 조정하여 평가
  • 대부분의 실험은 GLUE, SQuAD v1.1/v2.0, SWAG 데이터셋을 사용

[주요 결과 요약]

  • GLUE 벤치마크:
    • BERTBASE와 BERTLARGE 모두 기존 모델(GPT, ELMo 등)을 크게 능가
    • 평균 정확도에서 기존 대비 최대 +7.0% 향상
    • MNLI, SST-2, QNLI 등에서 State-of-the-Art 달성
  • SQuAD v1.1:
    • BERTLARGE (단일 모델) 기준 F1 점수 93.2%로 기존 최고 시스템보다 뛰어남
    • TriviaQA를 활용한 전처리 및 앙상블로 추가 성능 향상
  • SQuAD v2.0:
    • 답이 없는 경우 [CLS]를 시작/끝으로 간주하여 처리
    • 기존 최고 시스템보다 F1 기준 +5.1% 향상
  • SWAG:
    • 상식 기반 문장 완성 태스크
    • BERTLARGE가 기존 시스템 대비 +27.1% 개선, OpenAI GPT보다도 8.3% 우수

5. Ablation Studies (제거 연구)

5.1 Effect of Pre-training Tasks

  • NSP(Next Sentence Prediction) 제거 → QNLI, MNLI, SQuAD에서 성능 하락
  • LTR(Left-to-Right) 언어모델만 사용한 경우 → 모든 태스크에서 성능 저하, 특히 MRPC, SQuAD에서 크게 떨어짐
  • LTR 모델에 BiLSTM 추가 시 일부 개선되지만 여전히 BERT보다 낮음
    ➡️ 결론: 양방향 문맥(Masked LM)과 NSP는 BERT 성능 향상에 매우 중요

5.2 Effect of Model Size

  • 모델 크기(L, H, A)가 커질수록 모든 태스크에서 성능 향상
  • 작은 데이터셋(MRPC 등)에서도 대형 모델이 효과적
  • BERTLARGE는 340M 파라미터로 기존 연구보다 훨씬 큼
    ➡️ 결론: 충분히 사전 학습된 경우, 모델 규모가 클수록 성능 향상

5.3 Feature-based Approach with BERT

  • Fine-tuning과 달리, BERT에서 고정된 표현(feature)을 추출해서 사용
  • CoNLL-2003 NER 태스크에서 성능 실험:
    • fine-tuning 방식: F1 96.6 (BERTLARGE 기준)
    • feature-based 방식: F1 최대 96.1 (top 4 hidden layer concat 기준)
  • 일부 태스크에서는 feature-based가 더 적합할 수 있고, 컴퓨팅 효율성 장점도 있음
    ➡️ 결론: BERT는 fine-tuning과 feature-based 방식 모두에 효과적

6. Conclusion (결론)

  • BERT는 깊은 양방향 사전 학습 모델로, 다양한 NLP 태스크에 탁월한 성능을 발휘합니다.
  • 기존 단방향 또는 shallow 모델들과 달리, BERT는 좌우 문맥을 동시에 활용해 더 정교한 언어 이해가 가능합니다.
  • 다양한 태스크에서 새로운 State-of-the-Art (SOTA) 성능을 기록했으며, 특히 GLUE, SQuAD, SWAG 등의 벤치마크에서 기존 모델을 크게 능가했습니다.
  • BERT는 fine-tuning과 feature-based 접근 모두에서 효과적이며, 소량의 라벨 데이터만 있어도 강력한 성능을 낼 수 있습니다.
  • 본 연구는 언어 모델 기반 전이 학습(transfer learning)이 NLP에서 얼마나 강력한지 보여주는 결정적인 예시입니다.