언어 모델 구조 및 셀프 어텐션 메커니즘 이해
GPT
GPT는 자연어 이해와 생성을 위한 언어 모델로, 입력 데이터를 처리하는 forward 메서드와 이를 바탕으로 텍스트를 생성하는 generate 메서드를 통해 작동한다. 이 과정에서 GPT는 어텐션 메커니즘과 신경망 구조를 활용해 언어의 문맥과 패턴을 효과적으로 학습한다.
셀프 어텐션 메커니즘
셀프 어텐션(Self Attention)은 입력된 각 단어가 문맥 내에서 다른 단어들과의 관계를 학습하는 데 핵심적인 역할을 한다. 이를 위해, 입력 시퀀스 X는 임베딩 후 세 가지 행렬 Q(Query), K(Key), V(Value)로 변환된다. 각각은 다음과 같은 연산으로 계산된다.
$$Q=XW_Q,~ K=XW_K,~ V=XW_V $$
여기서 $W_Q,~ W_K,~ W_V$는 학습 가능한 가중치 행렬이다. Query와 Key 간 내적(dot product)을 통해 어텐션 스코어를 계산하며, 이는 각 단어가 다른 단어에 대해 가지는 중요도를 나타낸다.
$$\text{Attention Scores} = QK^T$$
이 스코어는 차원 수 $\sqrt{d_k}$로 나누어 정규화된다. 이를 통해 입력 차원이 커짐에 따라 스코어가 지나치게 커지는 문제를 방지하고, 소프트맥스 연산이 안정적으로 작동할 수 있도록 한다.
$$\text{Scaled Attention} = \text{Softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V$$
결과적으로, 각 단어는 문맥에서 중요한 단어들의 정보를 가중합 하여 출력 벡터로 변환된다. 이 과정은 모든 단어가 병렬적으로 처리되며, 행렬곱 연산을 통해 효율성을 높인다.
'개인공부&프로젝트' 카테고리의 다른 글
파인튜닝 개념 (1) | 2025.01.04 |
---|---|
멀티헤드 어텐션 & 피드포워드 (0) | 2025.01.04 |
클라우드 기반 GPU 컴퓨팅 플랫폼, 런팟(RunPod) 사용법 (1) | 2024.12.31 |
NLP 이해와 런팟 설치 (0) | 2024.12.31 |
배치 사이즈가 1인 배치 처리와 스트리밍 처리는 같은가? (0) | 2024.12.28 |
댓글