Engineering insight

[arXiv-2018] BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding 본문

AI/AI Paper review

[arXiv-2018] BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding

Free-Nomad 2026. 5. 20. 21:40

BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding


5줄 요약

  1. BERT는 언어를 왼쪽→오른쪽으로만 읽던 기존 사전학습의 한계를 깨고, 양방향 문맥을 동시에 보는 Transformer 인코더를 대규모 비지도 사전학습에 성공적으로 연결한 논문입니다.
  2. 핵심은 Masked Language Modeling(MLM) Next Sentence Prediction(NSP)의 두 사전학습 과제를 통해, 문장 내부와 문장 간 관계를 함께 학습하게 만든 것입니다.
  3. 이후 다운스트림 작업마다 복잡한 전용 구조를 설계하지 않고, 거의 같은 본체에 작은 출력층만 붙여 미세조정해도 GLUE, SQuAD, SWAG 등에서 당시 최고 성능을 냈습니다.
  4. 이 논문은 “대규모 사전학습 후 범용 미세조정”이라는 오늘날 LLM 시대의 기본 공식을 NLP 전반에 정착시킨 결정적 전환점입니다.
  5. 다만 생성형 모델은 아니고, NSP의 필요성은 이후 논문들에서 재검토되었으며, 계산량과 데이터 규모 의존성이 매우 큽니다.

1. 왜 이 논문이 세계를 바꿨는가

이 논문 전후로 NLP의 작업 방식이 사실상 바뀌었습니다. 그 전에는 감성분석, 질의응답, 자연어추론, 개체명인식마다 별도 모델과 별도 구조적 장치를 설계하는 흐름이 강했습니다. BERT는 그 관행을 뒤집고, 하나의 강력한 범용 언어표현 모델을 먼저 크게 학습한 뒤 거의 모든 작업에 공통으로 재사용하는 접근이 통한다는 것을 설득력 있게 보여주었습니다.

더 정확히 말하면, BERT의 진짜 혁신은 Transformer 자체를 발명한 것이 아니라, Transformer encoder를 양방향 사전학습의 주력 엔진으로 정착시킨 것입니다. 이후 RoBERTa, ALBERT, ELECTRA, DeBERTa, T5, encoder-decoder 계열, instruction-tuned LLM에 이르기까지, “대규모 사전학습 → 작업별 적응” 패러다임은 BERT 이전과 이후로 나뉜다고 해도 과장이 아닙니다.


2. 논문이 풀고자 한 문제

저자들은 기존 언어모델 사전학습의 핵심 병목을 unidirectionality, 즉 단방향성으로 봅니다. OpenAI GPT 같은 당시의 강한 fine-tuning 모델은 왼쪽 문맥만 보는 left-to-right Transformer였고, ELMo는 좌우 방향 모델을 따로 학습한 뒤 얕게 결합하는 방식이었습니다. 이런 구조는 문장 분류 같은 작업에는 어느 정도 괜찮지만, 질문응답처럼 토큰 단위로 미세한 문맥 결합이 필요한 작업에는 구조적 한계가 있습니다.

논문이 던진 질문은 단순합니다. “깊은 양방향 표현을 직접 사전학습할 수 있다면, 훨씬 범용적이고 강한 언어표현을 만들 수 있지 않을까?” BERT는 그 답을 MLM으로 제시합니다.

Figure 1. BERT의 전체 파이프라인. 사전학습과 미세조정이 거의 같은 본체를 공유하고, 작업별로 출력층만 바뀝니다. 이 그림이 중요한 이유는 BERT의 가치가 단순한 성능 향상이 아니라, 범용 backbone 하나로 여러 NLP 작업을 통일했다는 점을 압축해서 보여주기 때문입니다.


3. 핵심 아이디어: BERT는 정확히 무엇을 했는가

3-1. 모델 아키텍처

BERT는 기본적으로 Transformer encoder입니다. 논문은 두 가지 대표 크기를 사용합니다.

  • BERT_BASE: L=12층, H=768, A=12 heads, 총 110M 파라미터
  • BERT_LARGE: L=24층, H=1024, A=16 heads, 총 340M 파라미터

입력은 WordPiece 30,000개 vocabulary를 사용하며, 각 토큰 표현은 token embedding + segment embedding + position embedding의 합으로 구성됩니다. 맨 앞에는 [CLS], 문장 경계에는 [SEP]를 둡니다. 문장쌍 작업은 한 시퀀스 안에 A/B segment를 구분해 넣습니다.

이 설계의 장점은 구조가 지나치게 단순하다는 데 있습니다. 분류 작업은 [CLS]의 마지막 은닉벡터를 쓰고, 토큰 태깅/질문응답은 각 토큰 벡터를 직접 씁니다. 즉, 본체를 바꾸지 않고 출력 헤드만 바꿔 거의 모든 NLP 작업을 처리합니다.

3-2. 사전학습 1: Masked Language Model (MLM)

기존 left-to-right LM은 다음 단어를 맞히는 방식이라, 어떤 위치의 단어를 표현할 때 오른쪽 문맥을 자유롭게 쓸 수 없습니다. BERT는 이 제약을 풀기 위해 전체 WordPiece의 15%를 예측 대상으로 뽑고, 그 위치의 원래 토큰을 맞히도록 학습합니다.

  • 예측 대상 토큰 비율: 15%
  • 선택된 토큰 처리: 80% [MASK], 10% 랜덤 토큰, 10% 원형 유지
  • 손실: 선택된 위치들에 대해서만 vocabulary softmax cross-entropy 계산

왜 80/10/10이 중요할까요? [MASK]만 쓰면 미세조정 시점에는 등장하지 않는 토큰에 과적응할 수 있습니다. 그래서 일부는 그대로 두거나 랜덤 토큰으로 바꿔, 학습-추론 간 분포 차이를 줄이려 했습니다. 이 작은 디테일이 이후 마스킹 연구의 기준점이 됩니다.

3-3. 사전학습 2: Next Sentence Prediction (NSP)

질문응답, 자연어추론처럼 문장 사이의 관계를 이해해야 하는 작업을 위해, 저자들은 문장 A 뒤에 실제 다음 문장 B가 오는지 판별하는 이진 분류 과제를 함께 학습합니다.

  • 50%: B는 실제 다음 문장 (IsNext)
  • 50%: B는 임의 문장 (NotNext)
  • [CLS]의 최종 벡터 C를 문장쌍 분류에 사용
  • 논문 내 보고: NSP 정확도는 97~98%

후속 연구들에서는 NSP가 꼭 필요하지 않다는 결과도 나왔지만, 이 논문 안에서는 특히 QA와 NLI에 도움을 주는 것으로 관측됩니다. 즉, 역사적으로는 논란의 여지가 있지만, BERT 원 논문의 실험 논리 안에서는 중요한 설계 요소입니다.

3-4. 사전학습 데이터와 학습 규모

  • BooksCorpus 8억 단어 + English Wikipedia 25억 단어
  • 총 약 33억 단어 규모
  • 배치: 256 sequences × 512 tokens = 128,000 tokens/batch
  •  1,000,000 step 학습, 약 40 epoch 상당
  • Optimizer: Adam, lr=1e-4, warmup 10,000 step, linear decay, dropout 0.1, GELU 사용
  • 길이 128로 90% 학습 후, 512 길이로 10% 학습해 긴 문맥 positional embedding 보정
  • BERT_BASE/BERT_LARGE 사전학습 각각 약 4일

오늘 기준으로 보면 작아 보일 수 있지만, 2018년 시점에서는 상당한 규모였습니다. 특히 중요한 점은 저자들이 충분히 크게 사전학습된 표현은 작은 다운스트림 데이터셋에서도 위력을 발휘한다는 사실을 강하게 보여주었다는 것입니다.


4. 미세조정 방식: 왜 그렇게 간단한데 그렇게 잘 되는가

BERT의 미세조정은 놀랄 만큼 단순합니다. 대부분의 작업에서 본체는 그대로 두고(별도 Freeze하진 않음), 작은 출력층만 추가한 뒤 전 파라미터를 end-to-end로 함께 업데이트합니다. 논문은 fine-tuning이 매우 저렴하다고 강조하며, 같은 사전학습 모델에서 출발해 단일 TPU 기준 1시간 이내 혹은 GPU 몇 시간 수준으로 주요 결과를 재현할 수 있다고 말합니다.

작업별 포맷은 다음과 같습니다.

  • 문장 분류 / 문장쌍 분류: [CLS] 벡터 → 분류층
  • 질문응답: 각 토큰 벡터에 대해 start/end score를 계산하여 답 span 선택
  • 시퀀스 태깅: 각 토큰 벡터를 라벨 분류기에 직접 연결
  • 문장쌍 추론: 질문-문단, premise-hypothesis 등을 하나의 packed sequence로 구성

핵심은 self-attention이 문장 내부와 문장 간 상호작용을 한 번에 품기 때문에, 예전처럼 별도의 cross-attention 구조를 새로 설계할 필요가 줄었다는 점입니다.

Figure 3. BERT, OpenAI GPT, ELMo의 사전학습 구조 비교. 이 그림은 BERT의 차별점이 단순히 “Transformer 사용”이 아니라, 모든 층에서 좌우 문맥을 공동 조건화하는 깊은 양방향성에 있다는 점을 명확히 보여줍니다.


5. 실험 결과: 무엇이 얼마나 좋아졌는가

논문은 GLUE, SQuAD 1.1, SQuAD 2.0, SWAG, 그리고 feature-based NER까지 광범위하게 평가합니다. 중요한 것은 단일 벤치마크 승리가 아니라, 문장 분류·문장쌍 추론·질문응답·상식 추론·개체명 인식 전반에서 일관되게 강했다는 사실입니다.

5-1. GLUE: 범용 언어이해 벤치마크 장악

모델MNLI (m/mm)QQPQNLISST-2CoLASTS-BMRPCRTE평균

Pre-OpenAI SOTA 80.6/80.1 66.1 82.3 93.2 35.0 81.0 86.0 61.7 74.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

Table 1 해설. 이 표가 중요한 이유는 BERT가 특정 한 작업이 아니라 GLUE 전체에서 강했다는 점을 보여주기 때문입니다. 특히 BERT_BASE와 GPT는 대략 비슷한 급의 본체 크기인데도, 단방향 마스킹 차이만으로 큰 격차가 납니다. 논문은 공식 GLUE leaderboard에서 BERT_LARGE가 80.5를 기록했다고 강조하며, 이는 당시 GPT의 72.8보다 훨씬 높았습니다.

즉, BERT의 승리는 “모델이 더 커서”만이 아니라, 양방향 사전학습이라는 학습 방식 자체가 더 좋은 일반화 표현을 만든다는 주장에 힘을 실어줍니다.

5-2. SQuAD 1.1: span 추출형 QA에서 인간 수준 돌파

시스템Dev EMDev F1Test EMTest F1

Human - - 82.3 91.2
#1 Ensemble (당시 리더보드) - - 86.0 91.7
BERT_BASE (Single) 80.8 88.5 - -
BERT_LARGE (Single) 84.1 90.9 - -
BERT_LARGE (Single + TriviaQA) 84.2 91.1 85.1 91.8
BERT_LARGE (Ensemble + TriviaQA) 86.2 92.2 87.4 93.2

Table 2 해설. SQuAD 1.1에서 BERT는 단순한 span start/end 예측만으로도 강력했습니다. 특히 Test F1 93.2는 당시 인간 91.2를 넘어섰고, 이는 “언어 이해 표현만 충분히 좋으면 복잡한 QA 전용 구조 없이도 최고 성능이 가능하다”는 강한 메시지를 줬습니다.

5-3. SQuAD 2.0: 답이 없을 수도 있는 QA에서도 강함

시스템Dev EMDev F1Test EMTest F1

Human 86.3 89.0 86.9 89.5
#1 Single (당시 리더보드) - - 74.8 78.0
#2 Single - - 74.2 77.1
unet (Ensemble) - - 71.4 74.9
BERT_LARGE (Single) 78.7 81.9 80.0 83.1

Table 3 해설. 정답 span을 찾는 것보다 더 어려운 “정답 없음” 판단이 포함된 SQuAD 2.0에서도 BERT가 크게 앞섰습니다. 이 결과는 BERT가 단순 표면 매칭이 아니라, 질문-문단 관계와 문맥적 부정합까지 꽤 잘 포착함을 시사합니다.

5-4. SWAG: 상식적 다음 문장 선택

시스템DevTest

ESIM+GloVe 51.9 52.7
ESIM+ELMo 59.1 59.2
OpenAI GPT - 78.0
BERT_BASE 81.6 -
BERT_LARGE 86.6 86.3
Human (expert) - 85.0
Human (5 annotations) - 88.0

Table 4 해설. BERT_LARGE의 SWAG Test 86.3은 인간 전문가 85.0보다 높고, 5인 다수결 인간 88.0에 근접합니다. 이는 BERT의 표현이 문법적 적합성뿐 아니라 일정 수준의 상식 추론에도 유효했음을 보여줍니다.

 


6. 이 논문의 진짜 과학적 설득력: ablation

좋은 논문은 단순히 점수만 높지 않습니다. 왜 높아졌는지를 보여줘야 합니다. BERT 논문에서 가장 중요한 부분 중 하나가 바로 ablation입니다.

모델MNLI-mQNLIMRPCSST-2SQuAD F1

BERT_BASE 84.4 88.4 86.7 92.7 88.5
No NSP 83.9 84.9 86.5 92.6 87.9
LTR & No NSP 82.1 84.3 77.5 92.1 77.8
+ BiLSTM 82.1 84.1 75.7 91.6 84.9

Table 5 해설. 이 표는 “양방향성”과 “NSP”가 실제로 기여하는지 보여주는 핵심 증거입니다. 특히 left-to-right로 되돌리면 SQuAD F1이 88.5 → 77.8로 크게 무너집니다. 질문응답처럼 양쪽 문맥 결합이 중요한 작업에서는 깊은 양방향 사전학습이 본질적이라는 주장에 매우 강한 증거입니다.

#L#H#ALM PPLMNLI-mMRPCSST-2

3 768 12 5.84 77.9 79.8 88.4
6 768 3 5.24 80.6 82.2 90.7
6 768 12 4.68 81.9 84.8 91.3
12 768 12 3.99 84.4 86.7 92.9
12 1024 16 3.54 85.7 86.9 93.3
24 1024 16 3.23 86.6 87.8 93.7

Table 6 해설. 모델이 커질수록 LM perplexity가 내려가고, 작은 다운스트림 작업까지 꾸준히 좋아집니다. 이건 후대의 scaling law 논의 전조처럼 읽힙니다. 즉, 충분히 강한 사전학습이 있으면 “큰 모델은 작은 데이터셋에서 오히려 불리하다”는 직관이 반드시 맞지 않습니다.


7. feature-based 방식과 fine-tuning 방식 비교

논문은 BERT를 반드시 전량 미세조정해야만 쓸 수 있다고 주장하지 않습니다.(무거움) CoNLL-2003 NER에서 feature-based 방식도 실험합니다. BERT_BASE의 상위 4개 층을 이어붙인 특징을 BiLSTM에 넣으면 Dev F1 96.1로, 전체 fine-tuning(BERT_LARGE Dev F1 96.6 / Test F1 92.8)에 크게 뒤지지 않습니다.

이 결과는 BERT가 단지 “마지막 분류기까지 같이 튜닝해야만” 좋은 것이 아니라, 중간 표현 자체가 강력하다는 점을 보여줍니다. 이후 산업계에서 frozen embedding, adapter, partial tuning, prompt tuning 등 다양한 적응 방식이 등장할 수 있었던 배경 논리와도 연결됩니다.


8. 논문 구조를 거의 그대로 따라가며 이해하기

도입부의 주장

사전학습은 유용하지만, 당시의 대표적 방법들은 단방향 제약 때문에 표현력이 제한된다. 따라서 fine-tuning의 이점을 유지하면서도 양방향 문맥을 깊게 활용하는 모델이 필요하다.

방법론의 설계 원칙

사전학습과 다운스트림 구조 차이를 최소화하고, 범용 backbone 하나로 문장 수준과 토큰 수준 작업을 모두 덮는다.

실험 전략

하나의 task에서만 이기지 말고, GLUE(분류/추론), SQuAD(질문응답), SWAG(상식추론), NER(시퀀스 태깅) 등 이질적인 과업 묶음 전체에서 일관성 있게 이긴다.

검증 논리

양방향성, NSP, 모델 크기, 마스킹 전략을 떼어내며 어떤 요소가 실제 기여자인지 확인한다. 이 때문에 논문이 단순 SOTA 발표가 아니라, 하나의 새 패러다임 제안으로 받아들여졌습니다.


9. 이 논문의 가장 큰 새로움

  1. 깊은 양방향 사전학습을 실용적으로 구현: 좌우 문맥을 모든 층에서 공동으로 조건화한 Transformer encoder를 대규모 비지도 학습에 성공적으로 적용했습니다.
  2. 범용 fine-tuning 공식을 확립: 작업별 복잡한 구조를 버리고, pretrained backbone + 작은 output head라는 단순한 공식을 정착시켰습니다.
  3. 문장 수준과 토큰 수준 작업을 하나의 모델 계열로 통합: QA, NLI, classification, tagging을 한 패밀리 안에서 처리했습니다.
  4. 사전학습 규모와 다운스트림 일반화의 관계를 설득력 있게 제시: 큰 모델과 큰 비지도 데이터의 가치가 작은 지도 데이터 작업에서도 이어짐을 보여주었습니다.

10. 한계와 오늘의 시점에서 다시 보는 약점

  1. 생성형 모델이 아니다: BERT는 encoder-only라 자연어 생성의 범용 엔진으로 바로 쓰기 어렵습니다. 이후 GPT류 decoder-only, T5류 encoder-decoder가 생성 영역을 더 크게 열었습니다.
  2. NSP의 보편성은 후속 연구에서 약화: RoBERTa 등은 NSP 없이도 더 좋아질 수 있음을 보였습니다. 즉 BERT의 모든 설계가 최종 정답은 아니었습니다.
  3. [MASK] 토큰 불일치 문제: 사전학습 시 [MASK]를 쓰지만 실제 입력에는 거의 등장하지 않는다는 분포 차이가 있습니다. 논문도 이를 80/10/10 전략으로 완화하지만 완전히 제거하지는 못합니다.
  4. 계산량/데이터 의존성: 33억 단어, 1M step, TPU 다수, 4일 사전학습은 당시 기준으로도 결코 가볍지 않습니다. 이 패러다임은 강력하지만 자원집약적입니다.
  5. 길이 제약: 최대 길이 512 토큰 중심이라 긴 문서 처리에는 한계가 있습니다. 장문 처리 모델들이 이후 별도로 발전한 이유입니다.

11. 실무적 의미

  • 검색/분류/매칭/FAQ/의도분석: 적은 라벨 데이터에서도 강력한 출발점을 제공합니다.
  • 문서 QA와 기업용 NLP 스택: 전용 구조를 많이 설계하지 않아도 baseline이 매우 높아집니다.
  • 전이학습 표준화: “사전학습 모델을 내려받아 미세조정한다”는 지금의 ML 생산 방식이 본격적으로 표준이 된 계기입니다.
  • 모델 아키텍처보다 학습 패러다임의 중요성: 구조를 조금 더 복잡하게 만드는 것보다, 더 나은 사전학습 목표와 데이터 스케일이 훨씬 중요할 수 있다는 교훈을 줍니다.

최종 정리

한 줄 핵심: BERT는 양방향 Transformer 사전학습을 실용화해, 거의 모든 NLP 작업을 하나의 범용 backbone + 미세조정 공식으로 재편한 전환점 논문입니다.

새로움 요약: MLM과 NSP를 통해 깊은 양방향 문맥을 학습하고, 그 표현을 문장 수준·토큰 수준 작업 전반에 단순한 출력층만 붙여 재사용한 것이 핵심입니다.

실용적 takeaway: 강한 범용 표현을 충분히 크게 사전학습하면, 작은 라벨 데이터 작업에서도 전용 구조 엔지니어링보다 더 큰 성능 이득을 줄 수 있습니다.

주요 한계: encoder-only 한계, [MASK] 불일치, NSP의 후속 재평가, 높은 계산 비용, 긴 문맥 처리 제약이 남습니다.