brunch

12. 디코더의 출력부분

2장 GPT의 기반 기술, Transformer란 무엇인가?

by AI개발자
2025-최신-생성형ai-이해하기-top.png

이제 인코더와 디코더가 공통으로 사용하는 구성요소는 전부 다루었으니, 마지막으로 디코더의 출력단계를 살펴봅시다. Transformer 구조에서 디코더의 출력 부분은 아래 그림처럼 동작합니다.

llm-0004.jpg Transformer 디코더의 출력 부분, Output Probabilities는 출력 토큰의 예측확률이며, Outputs(shifted right)는 학습할 때 토큰열을 오른쪽

N번 반복되는 디코더 블록을 모두 통과한 뒤, 마지막 블록의 최종 특징 벡터를 받아서 Linear → Softmax를 적용합니다. 이렇게 해서 각 위치에서 어떤 토큰이 나올지에 대한 확률 분포를 계산합니다.

학습시 입력 부분은 조금 다르게 동작합니다. 모델이 방금 예측한 토큰을 다시 입력 시퀀스에 이어붙이면서, 다음 토큰을 순차적으로 처리하는 방식입니다. 즉, 디코더는 입력/예측/입력/예측을 반복해야 다음 단어를 계속 만들어낼 수 있습니다.


선형변환 + Softmax: 디코더 출력 확률 계산

원 논문에는 다음과 같은 문장이 나옵니다.

"우리는 디코더 출력값을 다음 토큰의 예측 확률로 변환하기 위해, 일반적으로 사용되는 학습된 선형변환과 softmax를 사용한다."

여기서 중요한 부분은,

디코더의 최종 출력 h_dec, final(i)에 임베딩 행렬의 전치 행렬 W_emb^T를 곱한다는 것입니다.

어휘 집합 V의 크기를 |V|라고 하고,

임베딩 행렬이 W_emb ∈ ℝ^(d_model × |V|)이면,

디코더 마지막 토큰의 특징량 h_dec,final(i)에 W_emb^T를 곱해서 |V|차원의 벡터를 만든다.

즉,

logitsᵢ = W_emb^T h_dec,final(i)

지금 바로 작가의 멤버십 구독자가 되어
멤버십 특별 연재 콘텐츠를 모두 만나 보세요.

brunch membership
AI개발자작가님의 멤버십을 시작해 보세요!

AI개발자는 AI LLM개발자로 일하며, Context Engineering, 프롬프트 엔지니어링관련 해서 기업대상으로 AI에이전트 개발부터 스펙주도개발, 바이브코딩 교육을 합니다

74 구독자

오직 멤버십 구독자만 볼 수 있는,
이 작가의 특별 연재 콘텐츠

  • 최근 30일간 20개의 멤버십 콘텐츠 발행
  • 총 20개의 혜택 콘텐츠
최신 발행글 더보기
이전 10화11. 인코더와 디코더의 공통 구성요소