data science/Artificial Intelligence

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

꼰대코더 2025. 10. 19. 23:49

기존 자연언어처리와 Transformer 의 차이

“고양이가 쥐를 잡았다. 그것은 매우 빠르다.”

 

RNN/LSTM:
“그것은”이 뭔지를 이해하려면 “고양이”를 기억해야 함
하지만 이미 여러 단계를 지나 기억이 약해질 수 있음 → “쥐”로 착각할 수도 😅

 

Transformer:
“그것은”이 “고양이”와 더 강하게 연결되어 있음을 Attention으로 바로 파악
그래서 “그것은 매우 빠르다” → “고양이가 매우 빠르다”라고 올바르게 이해

“Self-Attention”이란?

문장의 각 단어가 다른 모든 단어를 바라보며,
“너랑 나는 얼마나 관련이 있지?”를 점수로 계산하는 방식.

 

☞ 문장 예시

“고양이가 쥐를 쫓았다.”

 

  단어별로 서로의 관계를 평가합니다.

쳐다보는 단어                  주로 주목하는 단어                                 이유
고양이가 쥐를 주체와 대상 관계
쥐를 고양이가, 쫓았다 자신이 당하는 행동
쫓았다 고양이, 쥐를 동사와 관련된 주어·목적어

 

  Query, Key, Value

Transformer는 각 단어를 세 가지 벡터로 바꿉니다:

이름                         역할                                                                  비유

 

Query (Q) 내가 어떤 정보를 찾고 싶은가 “나는 누구를 주목해야 하지?”
Key (K) 내가 가진 정보는 무엇인가 “내가 주목받을 만한 이유는 이것이야.”
Value (V) 실제 정보 내용 “내가 가진 의미는 이거야.”

Q, K, V 는 다차원 Vector weights 값들이고  학습(Training)하는 과정을 통하여 정해지게 됩니다.

앞으로 내용은 충분한 학습을 통해서 이들 weight값들이 정해진 상태에서의 계산을 설명합니다.

 

아래의 빨간 사각형은 "hi how are you"의 각 단어의 embedding 값에 각각 W와 T 를 적용, 다시 dot 연산을 한 결과(softmax 적용) 테이블이다. V 는 최종적으로 적용된다.  

빨간 사각형의 값들은 각 단어가 다른 단어들과의 주목도(Attention)를 보여 주고 있고 이것이 가장 Transformer 의 핵심이라 할 수 있다. 예) "hi" 는 자기 자신에게 가장 주목 (= 0.7) 하고 나머지 how are you 는 별로 주목하고 있지 않다.(= 0.1)

 

Transformer Architecture

 

왼쪽이 Encorder, 오른쪽이 Decorder 이고 ChatGPT등의 LLM은 Decorder 만을 가지고 있습니다.

 

 

 

Transformer에서의 Multi-Head Attention 개념 정리

Transformer의 핵심 구성 요소 중 하나는 Attention 메커니즘으로, 입력된 모든 단어(토큰)들이 서로 어떤 관계를 가지는지를 학습하는 구조입니다.

왼쪽 그림의 방식은 Q(Query), K(Key), V(Value)를 한 번에 통합하여 처리하는 단일 Attention 구조를 나타냅니다.
반면 오른쪽의 Multi-Head Attention은 이 과정을 여러 개의 "헤드(head)"로 나누어 병렬로 처리하는 구조입니다.

여기서 “쪼개서 처리한다”는 의미는, 각 단어의 임베딩 차원(embedding dimension) — 예를 들어 OpenAI의 임베딩 모델에서는 1,536차원 — 을 여러 개의 부분으로 나누는 것을 말합니다.
즉, 각 Attention Head는 전체 임베딩의 일부 차원만 담당하여, 서로 다른 시각에서 단어 간의 관계를 학습하게 됩니다.

이렇게 여러 Head로 나누어 병렬로 학습하면,
각 Head가 서로 다른 의미적 관계(예: 문법적, 의미적, 문맥적 연결 등)를 포착할 수 있고 결과적으로 단일 Attention보다 더 풍부하고 다층적인 의미 표현을 얻을 수 있습니다.

요약하면,
Multi-Head Attention은 임베딩 차원을 여러 부분으로 나누어 병렬로 Attention을 수행함으로써, 각 Head가 다른 관점에서 단어 간 관계를 학습하고 이를 종합해 더 정교한 문맥 이해를 가능하게 하는 구조입니다.