4장. Transformer Decoder와 작은 번역기
정리
- Decoder 는 출력 문장을 한 토큰씩 만드는 부분입니다. Encoder 와 달리 미래를 가리는 Masked Self-Attention 과, 원문을 참고하는 Cross-Attention 을 가집니다.
- Teacher Forcing 은 정답을 한 칸 오른쪽으로 밀어(맨 앞에 시작 토큰) Decoder 입력으로 넣는 방법입니다. 위치마다 "앞을 보고 다음 토큰 맞히기" 문제를 한 번에 낼 수 있습니다.
- Causal Mask 는 Attention 점수표의 대각선 위를 -inf 로 채웁니다. Softmax 뒤 그 칸은 0 이 되어 커닝을 막습니다.
- Cross-Attention 은 Query 를 Decoder 에서, Key·Value 를 Encoder 출력에서 가져옵니다. 가중치 표의 shape 은 (출력 길이, 입력 길이)입니다.
- 학습은 모든 위치를 병렬로 계산하고, 추론은 고른 토큰을 다시 넣으며 한 토큰씩 반복합니다. 맨 위의 Linear 와 Softmax 가 사전 61,790개에 확률을 매깁니다.
- 2층·4헤드·256차원 번역기(18,470,400개, 그중 약 86% 가 단어 표)를 7,594쌍으로 10 epoch 학습하자 검증 손실이 4.80 에서 3.19 로, 평가 손실은 3.181 이 되었습니다(RTX 3080 에서 약 52초).
- Transformer 는 Encoder-only(BERT), Decoder-only(GPT, Qwen), Encoder-Decoder(T5, 번역기) 세 갈래로 쓰입니다. 오늘날 생성형 LLM 은 대부분 Decoder-only 입니다.