LLM Evolution · NAACL 2019
BERT: Pre-training of Deep Bidirectional Transformers
양방향 인코더 + MLM/NSP 사전학습 — 사전학습·미세조정의 NLP 표준을 연 논문.
1. 핵심 요약
2. 왜 중요한가 — 쉬운 설명
30초 비유
빈칸 채우기 문제를 수억 개 풀며 언어를 익힌 학생을 상상하세요. 빈칸을 맞히려면 앞뒤 문맥을 동시에 봐야 합니다. 이렇게 다져 두면 실제 시험(번역·분류·QA)은 조금만 더 연습해도 잘합니다.
무엇을 제안했나
- Masked LM — 문장의 일부 단어를 가리고 양쪽 문맥으로 복원 → 깊은 양방향 문맥 학습.
- Next Sentence Prediction — 두 문장이 이어지는지 판별(문장 간 관계).
- 그 뒤 소량 레이블로 미세조정.
그래서 무엇이 달라졌나
- “대규모 사전학습 → 태스크별 미세조정”이 NLP의 표준 절차가 됨.
- 발표 즉시 11개 벤치마크를 동시에 경신.
더 공부할 가치가 있을까?
- NLP를 한다면 필수 — 인코더 계열(문장 이해·검색·분류)의 대표.
- 대비해 볼 것 — 생성 중심인 GPT-2와 나란히 보면 인코더 vs 디코더 감이 잡힙니다.
3. 배경: ELMo · GPT의 한계
ELMo(2018): BiLSTM 문맥 임베딩. 순/역을 따로 합쳐 얕은 양방향.
GPT-1(2018): 디코더 LM. 왼쪽→오른쪽만 — “bank”가 강변인지 금융인지 오른쪽 없이 판단.
BERT 목표: 매 층에서 좌·우를 동시에 보는 진정한 양방향 트랜스포머. (인코더 뼈대는 Transformer.)
양방향 문맥
“bank”가 강변인지 금융인지 — 오른쪽 문맥이 필요합니다. 토큰을 눌러 초점을 바꾸세요.
BERT: 모든 층에서 좌·우를 동시에 self-attend. MLM으로 양방향을 학습합니다.
4. 사전학습: Masked LM
토큰의 15%를 고른 뒤:
- 80% →
[MASK] - 10% → 랜덤 토큰
- 10% → 그대로 유지
파인튜닝에는 [MASK]가 없으므로 100% 마스킹하면 불일치가 납니다. 랜덤·유지로 모든 위치의 표현을 견고히 합니다.
Masked LM (15% · 80/10/10)
선택된 토큰만 예측합니다. [MASK]만 쓰면 파인튜닝과 불일치 → 랜덤·유지도 섞습니다.
손실은 선택된 위치의 원본만. (데모는 공백 분리 토큰 — 논문은 WordPiece 15%.)
5. 사전학습: Next Sentence Prediction
문장 A, B 쌍:
- 50% 실제 다음 문장 (IsNext)
- 50% 랜덤 문장 (NotNext)
QA·NLI처럼 문장 관계가 중요한 태스크를 위한 신호입니다. (이후 RoBERTa 등은 NSP를 빼기도 합니다.)
Next Sentence Prediction
50% IsNext / 50% NotNext. 문장을 보고 맞춰 보세요 — 라벨은 맞힌 뒤에 공개.
나는 은행에 갔다.
돈을 인출했다.
[CLS] …A… [SEP] …B… [SEP]분류는 [CLS] 표현으로RoBERTa 이후 NSP는 종종 제거됩니다. 그래도 BERT가 문장 쌍 사전학습을 대중화했습니다.
6. 입력 표현
[CLS] 문장A [SEP] 문장B [SEP]
각 위치 임베딩 = 토큰 + 세그먼트(A/B) + 포지션.
입력 임베딩 = Tok+Seg+Pos
세 벡터를 더해 인코더에 넣습니다. 토큰을 클릭하고 층을 전환해 보세요.
[CLS]는 시퀀스 요약, [SEP]는 문장 경계. 세그먼트는 A/B 문장 구분입니다.
7. 파인튜닝
같은 인코더에 작은 헤드만 붙입니다.
- 분류:
[CLS]→ 선형 → softmax - SQuAD: 각 토큰의 start/end 확률
- NER: 토큰별 분류
파인튜닝 헤드
사전학습 인코더에 태스크 헤드를 붙입니다. SQuAD는 passage 구간만 span.
감성·NLI·유사도 등 — [CLS] 하나로 클래스.
사전학습(비지도) 후 소량 레이블로 헤드를 학습 — NLP의 “ImageNet 순간”.
8. 크기 · 결과 · 계보
| Model | Layers | Hidden | Heads | Params |
|---|---|---|---|---|
| BERT-Base | 12 | 768 | 12 | 110M |
| BERT-Large | 24 | 1024 | 16 | 340M |
계보 · 크기 · GLUE
ELMo→GPT→BERT 계보, Base/Large 스펙, GLUE 점프(확대 스케일).
MLM+NSP 사전학습 후 미세조정. NLU 벤치마크를 동시에 경신.
막대 스케일 79–89 (차이 확대)
이전 SOTA 80.6 → Large 86.7 (+6.1). SQuAD도 인간 수준 F1에 근접.
이후
RoBERTa(NSP 제거·데이터↑), ALBERT(공유), DistilBERT(증류), DeBERTa(분리 어텐션), KoBERT 등. ViT는 [CLS] + 인코더를 이미지에, CLIP은 EOS + 인과 Transformer를 텍스트에.
의의
사전학습+미세조정의 NLP 표준화 — NLU의 ImageNet 순간. 검색·번역·챗봇에 광범위 적용.
| Idea | Role |
|---|---|
| MLM | Bidirectional context via cloze |
| NSP | Sentence-pair relations |
| [CLS] | Sequence vector for classification |
| Pretrain→FT | Unsupervised then small labeled data |
이해도 점검
보기를 골라 정답과 해설을 확인하세요. 채점은 이 페이지 안에서만 이뤄집니다.
1. BERT가 GPT·ELMo와 구별되는 핵심은?
2. Masked LM이 필요한 이유는?
3. MLM의 80/10/10 규칙이 뜻하는 것은?
4. NSP(다음 문장 예측)에 대한 이후 평가는?
5. BERT를 다운스트림 태스크에 적용하는 표준 방식은?