카테고리 없음

[NLP] BERT

galaxyou 2026. 5. 7. 15:19

1. Abstract + Introduction

1. 기존 접근법

  • 양방향 문맥 파악 불가
    • 단방향: 기존 모델(예: GPT-1)은 왼쪽에서 오른쪽으로만 텍스트를 읽는 단방향 구조
    • → 문맥을 파악할 때 해당 단어의 뒤에 오는 정보를 활용하지 못함
    • 얕은 양방향: ELMo 같은 모델은 왼쪽→오른쪽, 오른쪽→왼쪽 방향의 결합을 시도했으나,
    • 이는 두 개의 독립적인 모델을 단순히 이어 붙인 것에 불과하여 깊은 층에서의 상호작용 부족
    • 특정 태스크에 국한된 성능: 문장 수준의 태스크(예: 감성 분석)에서는 단방향 모델도 괜찮지만,
    • 질문 답변(QA)처럼 양방향 문맥이 필수적인 태스크에서는 성능 한계가 뚜렷
  • 사전학습 전략
    • 다음 단어 예측 (단방향성)
    • 서로 다른 문장 간의 관계는 잘 이해 X
  • 사전학습 후 다운스트림에 사용되는 전략
    • Unsupervised Feature-based Approaches
    • pre-train 결과값만을 이용해 task에 적용(ex. woed2Vec, ELMo,...)
    • Unsupervised Fine-tuning Approaches
    • 전체 모델을  복사해서 미세 조정(ex. GPT)

2. BERT의 핵심 제안

  • Transformer Encoder 기반 구조로 처음부터 끝까지 깊은 양방향으로 학습하는 방식
  • 병렬 처리가 가능하고 긴 거리의 의존성도 효과적으로 학습
  • 사전학습 전략
    • Masked Language Model (MLM): 입력 문장에서 무작위로 단어의 15%를 마스킹하고, 주변 문맥만을 이용해 해당 단어를 맞추게 함
    • Next Sentence Prediction (NSP): 두 문장이 주어졌을 때, 두 번째 문장이 첫 번째 문장 뒤에 실제로 이어지는 문장인지를 예측하게 함

3. 성과 및 의의

  • SOTA 달성: GLUE, SQuAD v1.1 등 11개의 주요 자연어 처리 벤치마크에서 기존 기록을 모두 갈아치우며 압도적인 성능을 증명
  • 범용적 프레임워크 제시: 복잡한 아키텍처 수정 없이, 미리 학습된 BERT 모델 위에 간단한 출력층 하나 추가하는 파인 튜닝만으로도 다양한 태스크를 수행할 수 있음을 증명
  • 사전 학습 메타덤의 정착: 거대 모델을 대규모 말뭉치로 먼저 학습시킨 뒤 필요한 곳에 맞춰 쓴다는 현재 LLM의 표준 방법론을 확고히 정립

2. Related Work

다운스트림(사전학습 후 적용)에 사용되어온 기존 전략

1. Unsupervised Feature-based Approaches

  • 사전학습: 레이블이 없는 대규모 텍스트로 비지도 학습
  • 다운스트림: 사전학습된 모델의 파라미터는 고정한 채, 추출된 특징값(Feature/Embedding)만 가져와서 사용
  • 핵심: 특정 Task를 위해 복잡한 별도의 네트워크를 새로 설계하고, 이를 라벨링된 데이터로 지도 학습

2. Unsupervised Fine-tuning Approaches

  • 사전학습: 레이블이 없는 대규모 텍스트로 비지도 학습
  • 다운스트림: 사전학습된 모델 위에 최소한의 레이어(Classification layer 등)만 얹고,전체 모델의 파라미터를 업데이트
  • 핵심: 과제별로 모델 구조를 크게 바꿀 필요가 없으며, 모델 자체가 해당 과제에 맞게 파인튜닝됨 (ex. GPT, BERT)

3. Transfer Learning from Supervised Data

  • 사전학습: 이미 정답이 있는 대규모 데이터로 지도 학습
  • 다운스트림: 학습된 지식을 다른 과제로 전이하여 지도 학습 방식으로 학습
  • 핵심: "비지도 학습보다 이미 검증된 정답 데이터로 배운 지식이 더 강력하지 않을까?"라는 가설에 기반 (ex. CoVe)

3. BERT

Model architecture

트랜스포머의 인코더를 여러 층으로 쌓아 올린 양방향 구조

$BERT_{BASE}$

L = 12, H = 768, A = 12

Total parameters = 110M

$BERT_{LARGE}$

L = 24, H = 1024, A = 16

Total Parameters = 340M

  • 하이퍼파라미터 정보H: 히든 스테이트 크기
  • A: self attention 헤드 수
  • L: 레이어의 수

Input/Output Representations

input representation은 세가지 임베딩 값의 결합으로 구성됨

  1. Token Embeddings : Word Piece Embedding -> 문장을 토큰 단위로 분할
  2. Segmaent Embedding : 어떤 문장에 속한 토큰인지 정보
  3. Position Embedding : 트랜스포머처럼! 위치 정보를 넣어줌

Model

  • BERT의 최종 출력은 새로운 문장이 아니라 각 토큰에 대응하는 최종 히든 벡터
  • 즉, BERT의 목적은 “이해”

BERT의 사전학습

MLM (Masked LM)

  • input token의 일정 비율(15%)을 마스킹하고, 이를 예측하도록 학습
  • 15%의 마스킹 → {80 % = [MASK], 10 % = 다른 단어, 10 % = 그대로}

  • 단방향 뿐만 아니라 양방향으로 (앞뒤 문맥을 고려해) 읽기 위함

NSP (Next Sentence P)

  • 문장을 쌍으로 넣어 두 문장이 이어지는 문장인지 맞추는 이진 분류
    • 50% : 실제 이어지는 문장
    • 50% : 무작위 문장
     

  • 문장과 문장 사이의 관계에 대한 이해를 위한 훈련

BERT의 파인튜닝

사전 학습된 BERT 위에 'Output Layer'만 살짝 얹어 실제 문제에 적용하는 과정

 

1. 문장쌍 분류 (Sentence Pair Classification)

  • 입력 구성: [CLS] 문장1 [SEP] 문장2 [SEP] 형태로 두 문장을 동시에 입력합니다.
  • 출력 방식: [CLS] 토큰의 최종 벡터를 사용하여 두 문장의 관계를 분류합니다.
  • 주요 용도: 두 문장이 의미적으로 같은지(유사도), 혹은 논리적으로 대립하거나 함의하는지 등을 판별합니다.
  • 데이터셋 예시: MNLI, QQP 등

2. 단일 문장 분류(Single Sentence Classification)

  • 입력 구성: [CLS] 단일 문장 [SEP] 형태로 하나의 문장만 입력합니다.
  • 출력 방식: [CLS] 토큰의 최종 벡터를 사용하여 문장 전체의 성격을 분류합니다.
  • 주요 용도: 스팸 메일 분류, 영화 리뷰 감정 분석(긍정/부정), 문법적 적합성 판단 등을 수행합니다.
  • 데이터셋 예시: SST-2, CoLA 등

3. 질문 응답 (Question Answering)

  • 입력 구성: [CLS] 질문(Question) [SEP] 지문(Paragraph) [SEP] 형태로 질문과 본문을 함께 입력합니다.
  • 출력 방식: 지문 내 각 토큰 벡터를 보고 정답이 시작되는 위치와 끝나는 위치(Start/End Span)를 예측합니다.
  • 주요 용도: 주어진 지문에서 사용자의 질문에 대한 정답을 직접 찾아내어 추출합니다.
  • 데이터셋 예시: SQuAD 등

4. 토큰 태깅 (Single Sentence Tagging)

  • 입력 구성: [CLS] 단일 문장 [SEP] 형태로 입력합니다.
  • 출력 방식: 문장 내의 모든 개별 토큰 출력값을 사용하여 각 단어의 속성을 태깅합니다.
  • 주요 용도: 문장 내에서 사람, 장소, 기관 등 특정 개체명을 인식(NER)하거나 품사를 판별합니다.
  • 데이터셋 예시: NER 등

4. Experiments

  • 총 11개 NLP 작업에서 실험
  • 대표 벤치마크: GLUE, SQuAD v1.1/v2.0, SWAG
    • GLUE
      • 핵심 평가 요소: 문장 이해, 추론, 분류 능력을 종합적으로 평가
      • 태스크 유형: 총 8~9개의 다양한 포맷 포함
      • 평가 지표: 정확도(Accuracy), F1 스코어, 스피어만 상관계수 등
    • SQuAD v1.1 / v2.0
      • 핵심 평가 요소: 정확한 질의응답 능력 평가
      • 태스크 유형: 단일 QA 포맷
      • 평가 지표: EM(Exact Match), F1 스코어
    • SWAG
      • 핵심 평가 요소: 상식적인 문장 완성 능력 평가
      • 태스크 유형: 4지선다 선택형
      • 평가 지표: 상식 기반 문장 선택정확도(Accuracy)

1. GLUE 실험

  • BERT가 모든 기존 시스템 압도
  • 특히 MNLI, SST-2, QNLI에서 최고 정확도
  • BERTLARGE가 BASE보다 평균 2~3%p 우세

시스템 MNLI-(m/mm) 392k QQP 363k QNLI 108k SST-2 67k CoLA 8.5k STS-B 5.7k MRPC 3.5k RTE 2.5k 평균

Pre-OpenAI SOTA 80.6/80.1 66.1 82.3 93.2 35.0 81.0 86.0 61.7 74.0
BiLSTM+ELMo+Attn 76.4/76.1 64.8 79.8 90.4 36.0 73.3 84.9 56.8 71.0
OpenAI GPT 82.1/81.4 70.3 87.4 91.3 45.4 80.0 82.3 56.0 75.1
BERT(BASE) 84.6/83.4 71.2 90.5 93.5 52.1 85.8 88.9 66.4 79.6
BERT(LARGE) 86.7/85.9 72.1 92.7 94.9 60.5 86.5 89.3 70.1 82.1

2. SQuAD (v1.1, v2.0)

  • v1.1에서 BERTLARGE 앙상블이 F1 최고 93.2%
  • v2.0에서도 SOTA 기록 갱신, 무응답 처리 가능

시스템 개발 EM 개발 F1 테스트 EM 테스트 F1

BiDAF + ELMo(단일, 게시) 85.6 - - -
R.M. 리더 (앙상블) 81.2 87.9 82.3 88.5
베이스(싱글) 80.8 88.5 - -
버틀라지(싱글) 84.1 90.9 - -
베르트라게(앙상블) 85.8 91.8 - -
BERTLARGE(Sgl.+TriviaQA) 84.2 91.1 85.1 91.8
BERTLARGE(Ens.+TriviaQA) 86.2 92.2 87.4 93.2

3. SWAG

  • GPT보다 +8.3% 정확도 향상
  • 인간 전문가보다도 높은 결과 (BERTLARGE: 86.3 > 85.0)
  • 문장 간 추론 능력에서의 우수성 강조

시스템 Dev 테스트

ESIM + GloVe 51.9 52.7
ESIM + ELMo 59.1 59.2
OpenAI GPT - 78.0
BERTBASE 81.6 -
BERTLARGE 86.6 86.3
인간(전문가) - 85.0
인간(주석 5개) - 88.0

5. Ablation Studies

MLM vs LTR, NSP 유무

  • 결론: MLM + NSP 조합이 가장 효과적
  • 단방향 LTR(LM)만 쓰거나 NSP 제거 시, 성능 급락
  • 양방향성과 NSP가 핵심 요소

사전 학습 시간과 양

  • 사전 학습 시간이 길수록 성능 향상
  • 미세 조정만으로는 부족, 사전 학습이 핵심

모델 크기 (Base vs Large)

  • BERTLARGE가 모든 태스크에서 BERTBASE보다 성능 우수
  • 특히 데이터가 적은 과제에서 더 두드러짐
  • → 모델 크기가 클수록 전이 학습 효과 증가

단일 문장 태스크에서 문장 쌍 포맷 사용

  • 단일 문장 태스크(SST-2 등)에서도 문장쌍 포맷(A 문장 + ∅) 사용
  • → 일관된 입력 포맷 유지가 성능에 긍정적 영향

어휘 분해 방식: WordPiece 효과

  • WordPiece를 사용한 단어 분해가 매우 효과적
  • 서브워드 토크나이저는 희귀 단어 처리에 유리

6. Conclusion

  • 기존 모델과 달리 모든 층에서 양방향 문맥을 활용하여 깊이 있는 표현을 사전 학습함
  • 다양한 NLP Task에서 MLM과 NSP를 이용한 사전학습과 파인튜닝으로 높은 성능을 달성함
  • 이를 통해 GLUE, SQuAD v1.1/v2.0 등 11개 NLP 작업에서 최고 성능을 달성
  • 특히 GLUE에서 기존 최고 시스템보다 7.7% 높은 80.5% 성능을 기록함!
  • 이후 다양한 후속 모델의 기반이 되며 NLP 계열 모델의 새로운 패러다임이 됨