주제: 4-1 BERT (Encoder + Masked Language Model Pretraining)

분류: llm

타입: concept

난이도: 중급

선수지식: 있음 — Self-Attention, Transformer Encoder

BERT의 핵심은 "다음 단어를 한 방향으로 예측하는 모델"이 아니라, "문장 전체를 동시에 보고 빈칸을 맞히며 양방향 문맥을 배우는 모델"이라는 점이다.

GPT 계열에 익숙하면 BERT도 그냥 또 다른 Transformer처럼 보일 수 있다. 하지만 BERT는 목적 자체가 다르다. 문장을 생성하는 데 최적화된 모델이 아니라, 문장 안에서 단어의 의미를 깊게 이해하는 데 최적화된 encoder 중심 모델이다.

문제 설정

기존 언어 모델(GPT 이전)은 대부분 단방향 언어 모델이었습니다.

예:

P(wt|w1,...,wt1)

즉 이전 단어만 보고 다음 단어를 예측합니다.

하지만 자연어 이해(NLU)에서는 양방향 문맥이 중요합니다.

BERT는 이를 해결하기 위해 bidirectional Transformer Encoder를 사용합니다.

즉 BERT는 왼쪽 문맥만 보거나 오른쪽 문맥만 보는 대신, 문장 전체를 동시에 읽는다. 그래서 분류, 문장쌍 이해, 개체명 인식처럼 "이 문장이 무슨 뜻인가"를 해석하는 작업에서 강점을 보였다.

직관 비유

즉 문장의 앞뒤 정보를 모두 활용합니다.

그림으로 먼저 잡기

BERT 입력 임베딩 구성
토큰 임베딩, 세그먼트 임베딩, 위치 임베딩이 합쳐져 BERT 입력이 되는 과정을 보여준다.
원본 / 라이선스 · Daniel Voigt Godoy · CC BY 4.0
BERT masked language modeling 사전학습 과제
[MASK] 토큰을 가리고 원래 단어를 맞추는 MLM 과제가 BERT의 양방향 문맥 학습을 어떻게 유도하는지 보여준다.
원본 / 라이선스 · Daniel Voigt Godoy · CC BY 4.0
BERT encoder-only attention 구조
BERT가 디코더 없이 encoder-only 구조로 문장 전체를 동시에 바라본다는 점을 직관적으로 보여주는 그림이다.
원본 / 라이선스 · d2l-ai 저자진 · CC BY-SA 4.0

1. BERT 구조

BERT는 Transformer Encoder stack으로 구성됩니다.

Input Tokens
↓
Embedding Layer
↓
Transformer Encoder × N
↓
Contextual Representation

각 Encoder는 다음 구조를 가집니다.

Self-Attention
↓
Feed Forward Network

수식

H=Encoder(X)

기호 의미

왜 필요한가

각 토큰이 문장 전체 문맥을 반영한 표현을 갖게 됩니다.

2. BERT 입력 구성

BERT 입력은 세 가지 embedding을 합쳐 생성됩니다.

X=Etoken+Esegment+Eposition

기호 의미

왜 필요한가

문장 구분과 위치 정보를 모델에 제공합니다.

3. Masked Language Model (MLM)

BERT의 핵심 pretraining 방법은 Masked Language Model입니다.

입력 문장에서 일부 단어를 가립니다.

예:

The cat sits on the [MASK]

모델 목표:

P(wmask|context)

수식

L=logP(wmask|context)

기호 의미

왜 필요한가

양방향 문맥을 이용해 단어 의미를 학습합니다.

주의점

전체 토큰의 약 15%만 mask합니다.

4. MLM Mask 전략

전략 확률
[MASK] 토큰 80%
랜덤 단어 10%
그대로 유지 10%

왜 필요한가

모델이 [MASK] 토큰에만 의존하지 않도록 합니다.

5. Next Sentence Prediction (NSP)

BERT는 또 하나의 pretraining task를 사용합니다.

Next Sentence Prediction

목표:

P(IsNext|sentenceA,sentenceB)

입력

[CLS] sentence A [SEP] sentence B [SEP]

출력

왜 필요한가

문장 간 관계를 학습합니다.

주의점

이후 모델(RoBERTa)은 NSP를 제거했습니다.

6. BERT Pretraining Loss

BERT는 두 loss를 함께 학습합니다.

L=LMLM+LNSP

기호 의미

왜 필요한가

단어 의미와 문장 관계를 동시에 학습합니다.

7. BERT 특징

특징 설명
Bidirectional 양방향 문맥 사용
Transformer Encoder Self-attention 기반
MLM Pretraining 마스크 단어 예측

8. BERT 한계

그래서 이후 GPT 같은 autoregressive 모델이 발전했습니다.

코드-수식 연결

개념 코드 설명
BERT 모델 transformers.BertModel BERT encoder
MLM BertForMaskedLM mask prediction
tokenize BertTokenizer WordPiece tokenizer

자주 하는 오해 5개

체크리스트 (스스로 설명 가능해야 하는 질문)