# LLM 개발 과정 8부 - 학습 가능한 Self-Attention 기술

> Clean Markdown view of GeekNews topic #19595. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=19595](https://news.hada.io/topic?id=19595)
- GeekNews Markdown: [https://news.hada.io/topic/19595.md](https://news.hada.io/topic/19595.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2025-03-06T10:04:40+09:00
- Updated: 2025-03-06T10:04:40+09:00
- Original source: [gilesthomas.com](https://www.gilesthomas.com/2025/03/llm-from-scratch-8-trainable-self-attention)
- Points: 2
- Comments: 0

## Topic Body

### 블로그 소개

- Sebastian Raschka의 책 "Build a Large Language Model (from Scratch)"를 기반으로 한 블로그 시리즈의 여덟 번째 글임.
- 이번 글에서는 "trainable self-attention"을 구현하는 방법을 다루고 있음.

### GPT-유형 디코더 전용 트랜스포머 기반 LLM의 작동 방식

- 문자열을 토큰으로 분할하고, 각 토큰을 벡터 시퀀스로 매핑하여 토큰 임베딩을 생성함.
- 위치 임베딩을 생성하여 입력 임베딩 시퀀스를 만듦.
- 입력 임베딩을 사용하여 각 토큰에 대한 주의 점수를 생성함.
- 주의 점수를 정규화하여 주의 가중치를 생성함.
- 각 토큰에 대한 컨텍스트 벡터를 생성함.

### 스케일된 내적 주의 메커니즘

- 입력 시퀀스를 세 가지 행렬(쿼리, 키, 값)로 투영하여 주의 점수를 계산함.
- 주의 점수를 정규화하여 주의 가중치를 생성하고, 이를 사용하여 컨텍스트 벡터를 계산함.
- 이 모든 과정은 효율적인 행렬 곱셈을 통해 수행됨.

### 행렬을 사용한 공간 간 투영

- 행렬은 벡터를 다른 차원의 공간으로 투영하는 데 사용됨.
- 입력 임베딩을 쿼리, 키, 값 공간으로 투영하여 주의 점수를 계산함.

### 주의 점수의 정규화

- 주의 점수를 정규화하기 위해 소프트맥스 함수를 사용함.
- 차원의 제곱근으로 나누어 정규화하여 작은 기울기 문제를 해결함.

### 컨텍스트 벡터 생성

- 주의 가중치를 사용하여 각 토큰의 컨텍스트 벡터를 계산함.
- 입력 임베딩을 값 공간으로 투영하고, 주의 가중치로 가중합하여 컨텍스트 벡터를 생성함.

### 다음 단계

- 인과적 자기 주의와 멀티헤드 주의를 다룰 예정임.
- 자기 주의 메커니즘의 "왜"에 대한 탐구를 계획 중임.

### 결론

- 이 블로그 글은 자기 주의 메커니즘을 이해하는 데 도움을 줄 수 있음.
- 추가적인 질문이나 의견은 댓글로 남길 수 있음.

## Comments



_No public comments on this page._
