data science/Artificial Intelligence

Transformer (GPT) 가장 쉽게 이해하기 - Part 2

꼰대코더 2025. 10. 26. 01:55

 GPT2 - Small 모델의 예

 

(GPT2 - Small) Multi Block과 하나의 Block 내에서의 Multi-head Attention 

아래는 내 나름대로 궁금했던 점들을 해소한 후에 간소하게 정리한 다이어그램이다. 실질적으로는 중간 중간에 세부 처리가 들어가는 경우가 있다.

 

입력으로 "I am a" 있을 경우 GPT는 다음에 올 가장 적절한 단어(토큰)을 제시해야 한다. 

・입력은 토큰으로 분리되고 다시 Embedding으로 768 차원으로 변환된다. (그 후엔 Positioning Embedding은 생략됐다.)

・그 후 12개의 Block(GPT2-Small model의 경우)에 전달된다.(Dropout과 Normalization은 생략됐다.)

・각 12개의 Block은 학습(Train)에 의해 각기 다른 Q, K, V Weight 매트릭스 값을 가지고 있다.

・입력 토큰 매트릭스(3 x 768) 은 각 Q, K, V Weight 매트릭스(768 x 768)와 행렬곱을 해서 각각 Q, K, V 매트릭스(3 x 768)를 얻는다. ※ Q, K, V 매트릭스는 Self-Attention의 핵심이다.

・ Multi-head Attention을 위해 Q, K, V 매트릭스의 컬럼을 64로 하여 (3 x 64) 로하는 12개의 헤드를 생성한다.

※ 12개의 헤드로 분리하면 토큰을 다르게 “해석”하도록 학습할 수 있다.

・각 헤드에서 Q(3 x 64) 와 K를 전치(=Transpose)한 후(3 x 64) 두행렬을 곱한 후, V(3 x 64)를 다시 행렬 곱하면 1 x 64의 결과 Vector를 얻는다.

・전체 Attention 이 끝나면 (1 x 64) 의 12개 결과값을 결합한 1 x 768 의 결과값을 얻게 된다. 

 

 

위에서는 빨간 점선의 head수가 공간상의 이유로 부족하지만 실제 수는 12개이다.

 

 

아래 사이트는 비주얼적으로 Transformer의 구조를 잘 설명하고 있다. 위의 내용을 잘 이해하면 아래사이트의 내용도 알기 쉬울 것이다.

 

Transformer Explainer: LLM Transformer Model Visually Explained

An interactive visualization tool showing you how transformer models work in large language models (LLM) like GPT.

poloclub.github.io