- Published on
LLM 구조 기초: Encoder-only와 Decoder-only
- Authors

- Name
- SeongHwa Lee
- @earthloverdev
왜 필요한가요
BERT 이후 논문을 읽다 보면 encoder-only, decoder-only, encoder-decoder라는 표현이 자주 나옵니다.
이 구분을 모르면 BERT와 GPT가 왜 다른 방향으로 발전했는지 이해하기 어렵습니다.
원본 개념과 attention mask
구조 차이는 크게 attention mask에서 드러납니다.
Encoder-only 모델은 입력 토큰들이 서로 모두 볼 수 있습니다.
token_i can attend to token_j for all i, j
Decoder-only 모델은 현재 위치가 미래 토큰을 볼 수 없습니다.
token_i can attend only to token_j where j <= i
이를 causal mask라고 부릅니다.
allowed attention in decoder-only:
1 -> 1
2 -> 1, 2
3 -> 1, 2, 3
4 -> 1, 2, 3, 4
1차 해설: 구조가 말하는 것
Encoder-only는 입력 전체를 보고 표현을 만듭니다.
그래서 문장 이해, 분류, 검색 reranking, NER 같은 작업에 자연스럽습니다.
Decoder-only는 지금까지의 토큰만 보고 다음 토큰을 만듭니다.
그래서 긴 텍스트 생성, 대화, 코드 생성에 자연스럽습니다.
차이는 목적입니다.
Encoder-only: 이해 중심
Decoder-only: 생성 중심
쉬운 예시
시험 유형으로 비유할 수 있습니다.
Encoder-only는 독해 문제에 가깝습니다.
지문 전체를 읽고 질문에 답합니다.
Decoder-only는 받아쓰기나 작문에 가깝습니다.
지금까지 쓴 문장을 보고 다음 단어를 씁니다.
독해 문제에서는 지문 전체를 봐도 됩니다.
하지만 다음 단어를 맞히는 훈련에서는 미래 정답을 미리 보면 안 됩니다.
논문에서 다시 만났을 때 읽는 법
BERT를 보면 이렇게 읽으면 됩니다.
입력 전체를 양방향으로 보고 좋은 표현을 만드는 encoder-only 모델입니다.
GPT 계열을 보면 이렇게 읽으면 됩니다.
왼쪽 문맥만 보고 다음 토큰을 생성하는 decoder-only 모델입니다.
T5 같은 모델을 보면 이렇게 읽으면 됩니다.
입력을 encoder가 이해하고, decoder가 출력을 생성하는 encoder-decoder 모델입니다.
비교표
| 구조 | 대표 모델 | 강한 작업 | 핵심 제약 |
|---|---|---|---|
| Encoder-only | BERT, RoBERTa | 분류, NER, reranking, span QA | 자연스러운 긴 생성에는 부적합 |
| Decoder-only | GPT 계열, LLaMA | 생성, 대화, 코드 작성 | 입력 전체 양방향 이해에는 제약 |
| Encoder-decoder | T5, original Transformer | 번역, text-to-text 변환 | 구조가 더 복잡함 |
자주 하는 오해
- Decoder-only 모델도 긴 입력을 읽을 수 있습니다. 다만 attention 방향은 causal mask를 따릅니다.
- Encoder-only 모델도 출력층을 붙여 답을 만들 수 있습니다. 하지만 긴 자유 생성이 기본 목적은 아닙니다.
- 현대 LLM이라고 해서 모두 decoder-only는 아닙니다. 목적에 따라 구조가 달라집니다.
최소 체크포인트
- Encoder-only는 입력 전체를 양방향으로 봅니다.
- Decoder-only는 미래 토큰을 가리고 다음 토큰을 예측합니다.
- BERT는 encoder-only, GPT/LLaMA는 decoder-only, T5는 encoder-decoder로 분류하면 됩니다.