BERT는 왜 Encoder만 쓸까
BERT(Bidirectional Encoder Representations from Transformers)는 이름 그대로 Transformer의 Encoder 부분만 가져와 양방향으로 학습한 모델이다. Transformer의 Decoder는 지금까지 생성한 내용만 보고 다음 단어를 만드는 “생성”에 특화된 구조인데, BERT의 목표는 문장을 새로 만드는 것이 아니라 문장을 깊이 이해하는 것이다. 그래서 문장 전체(양방향 문맥)를 다 보고 각 단어의 의미를 파악하는 Encoder만으로 충분하다.
왜 양방향 문맥이 필요한가
다음 두 문장을 보자.
그는 [MASK]을 열고 우유를 꺼냈다
그는 [MASK]을 열고 여권을 꺼냈다
왼쪽에서 오른쪽으로만 읽는 기존 언어모델(순방향 LM)은 [MASK] 앞부분(“그는”)만으로는 두 문장을 구분할 수 없다. 빈칸 뒤에 나오는 “우유”, “여권”까지 봐야 빈칸이 각각 “냉장고”, “가방” 같은 서로 다른 단어라는 것을 추론할 수 있다. 한국어는 서술어가 문장 뒤에 오는 경우가 많아 이런 오른쪽 문맥 의존도가 특히 크다.
Masked Language Model: 정답을 가리고 맞히게 한다
그런데 양방향으로 다 보여주면서 특정 단어를 맞히라고 하면 문제가 생긴다 — 예측해야 할 정답이 입력에 그대로 보이기 때문에 “정답을 컨닝”하게 되어 학습되는 것이 없다. BERT는 이를 입력 토큰의 약 15%를 [MASK]로 가린 뒤, 그 자리의 최종 벡터로 원래 단어를 예측하게 해서 해결한다 — 정답 토큰 자체가 입력에서 제거됐기 때문에 주변 문맥만으로 복원해야 하고, 이 과정에서 양방향 문맥을 활용하는 능력이 학습된다.
Next Sentence Prediction: 문장 간의 관계도 학습한다
Masked LM이 단어 수준의 문맥을 학습한다면, NSP(Next Sentence Prediction)는 문장 수준의 문맥을 학습한다. 두 문장 A, B를 입력으로 주고 “B가 실제로 A의 다음 문장인가”를 이진 분류하는 과제다. 이 목적은 문장 맨 앞에 붙는 특수 토큰 [CLS]의 최종 벡터에 문장 간 연결 관계를 축적시키는 것이다.
특수 토큰 | 역할 |
|---|---|
[CLS] | 모든 입력의 첫 토큰. 학습이 끝나면 이 자리의 벡터가 문장(또는 문장 쌍) 전체를 요약한 표현이 된다 |
[SEP] | 문장과 문장의 경계를 표시하는 토큰. 경계는 표시하되 Attention은 그 경계를 넘어 흐르게 해, 문장 간 문맥까지 학습 대상이 된다 |
BERT의 크기
모델 | 레이어 수 | Hidden 크기 | Attention Head 수 |
|---|---|---|---|
BERT-base | 12 | 768 | 12 |
BERT-large | 24 | 1024 | 16 |
두 모델 모두 Wikipedia와 BookCorpus 같은 대규모 텍스트로 사전학습(Pre-training)됐다.
Pre-training과 Fine-tuning: 한 번 배우고 여러 번 써먹는다
단계 | 내용 |
|---|---|
Pre-training | 대량의 텍스트로 Masked LM·NSP를 풀며 언어의 일반적인 규칙과 의미를 학습한다 |
Fine-tuning | 사전학습된 BERT를 질문 답하기, 문장 분류 같은 특정 작업에 맞게 추가로 학습시켜 가중치를 미세 조정한다 |
Transfer Learning | 사전학습에서 얻은 언어 지식을 새로운 작업에 그대로, 또는 Fine-tuning을 거쳐 적용하는 것 |
이 사전학습-미세조정(Pre-training → Fine-tuning) 패러다임은 이후 GPT를 비롯한 대부분의 대형 언어모델이 따르는 표준 흐름이 됐다. 예를 들어 방사선 판독문을 해부학 부위별로 분류하는 의료 텍스트 분류 연구에서도, BERT 기반 전이학습이 BiLSTM·빈도 기반 방법보다 높은 성능(AUPRC 0.88, AUC 0.97)을 보인 사례가 보고된 바 있다.
정리
BERT는 Transformer의 Encoder만으로 문장을 양방향으로 이해하도록 설계됐다. 일부 단어를 가리고 맞히는 Masked LM으로 단어 수준 문맥을, 두 문장의 순서를 맞히는 NSP로 문장 수준 문맥을 함께 학습한다. 대량의 텍스트로 사전학습한 뒤 특정 작업에 맞게 Fine-tuning하는 이 패러다임은 이후 언어모델 개발의 표준이 됐다.
참고 자료
BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding — Devlin et al. (2018) — BERT 원 논문, Masked LM·NSP와 모델 크기 (2026-08-07 확인)
BERT-based Transfer Learning in Sentence-level Anatomic Classification of Free-Text Radiology Reports (2023) — BERT 전이학습을 의료 텍스트 분류에 적용한 사례 연구 (2026-08-07 확인)
댓글 0
댓글을 불러오는 중…