Logo
Published on

LLM 구조 기초: Encoder-only와 Decoder-only

Authors

왜 필요한가요

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-onlyBERT, RoBERTa분류, NER, reranking, span QA자연스러운 긴 생성에는 부적합
Decoder-onlyGPT 계열, LLaMA생성, 대화, 코드 작성입력 전체 양방향 이해에는 제약
Encoder-decoderT5, 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로 분류하면 됩니다.