안녕하세요 오늘은 LLM 모델 구조에 대한 내용을 다뤄보겠습니다.
Agentic AI 개발을 처음 배울 때는 그냥 개발만 할 수 있으면 되는거 아니야? 라고 생각했는데 생각보다 모델에 대한 이해가 정말 중요한 것 같습니다.
Transformer(GPT 2) 내부 구조를 예시로 들겠습니다 (참고 페이지 https://poloclub.github.io/transformer-explainer/)
전체 흐름
token → Embedding → RoPE 적용 → (Attention) → MoE(MLP) → LM head → 다음 예측

① Token → Embedding
문장("Data visualization empowers users to")이 Data, visualization, em, powers, users, to 같은 토큰으로 쪼개지고, 각 토큰이 숫자 벡터로 바뀝니다. 이게 바로 임베딩입니다 — 화면 왼쪽 "Embedding" 열
② RoPE — "몇 번째 단어인지"를 알려주는 장치
Attention은 원래 "어떤 단어가 몇 번째에 있는지" 순서 개념이 없습니다 (모든 토큰을 그냥 동시에 봄). 그래서 위치 정보를 벡터에 끼워 넣어야 하는데, RoPE(Rotary Position Embedding)가 그 방법 중 하나입니다 — 위치에 따라 벡터를 회전시켜서 "이 단어는 3번째에 있다"는 정보를 담습니다.
③ Multi-head Self Attention — Q/K/V
각 토큰마다 Query(질문), Key(열쇠), Value(내용물) 세 벡터를 만듭니다:
- Query = "나는 지금 뭘 찾고 있나"
- Key = "나는 어떤 정보를 갖고 있나"
- Value = "실제로 전달할 내용"
Query랑 다른 모든 토큰의 Key를 비교해서 "이 단어가 저 단어를 얼마나 참고해야 하는지" 점수를 매기고, 그 점수만큼 Value를 섞습니다. **"Head 1 of 12"**라고 나온 건, 이 계산을 12개의 서로 다른 관점(head)으로 동시에 하고 있다는 뜻입니다 — 어떤 head는 문법 관계를, 어떤 head는 의미 관계를 볼 수도 있습니다.
④ Norm (정규화)
블록 사이사이 "Norm"이라고 표시된 부분은 — 숫자가 너무 커지거나 불안정해지지 않게 값을 다듬는 단계입니다. 학습/추론이 안정적으로 되게 하는 "완충 장치"라고 생각하면 됩니다.
⑤ MLP / MoE / GELU
Attention을 거친 벡터가 이번엔 **작은 신경망(MLP)**을 통과합니다. GELU는 그 신경망 안에서 쓰는 활성화 함수(입력을 비선형적으로 바꿔주는 수학 함수, ReLU의 부드러운 버전 같은 거)입니다.
MoE(Mixture of Experts)는 이 MLP를 여러 개(전문가들) 병렬로 두고, 토큰마다 그중 일부만 골라서 쓰는 방식입니다. "MLP이 여러개 병렬 연산함"이라는 뜻입니다 — 모델을 거대하게 키우면서도, 매 계산마다 전체를 다 안 쓰고 일부만 써서 효율적으로 만드는 최신 기법이라 합니다.
⑥ x layers — 이 블록을 여러 번 반복
지금까지(Attention + Norm + MLP + Norm)가 "Transformer Block" 하나입니다. 이 블록을 여러 층(x layers) 쌓아서 계속 반복합니다 — 화면에 "Transformer Block 1"이라고 나온 것처럼, 실제 GPT-2는 이런 블록이 여러 개 쌓여있고 층을 거칠수록 문맥 이해가 점점 더 정교해집니다.
⑦ LM head → 다음 예측
모든 층을 다 통과한 마지막 벡터를 가지고, "다음에 올 단어가 뭘까"를 점수로 계산하는 마지막 층이 LM head 입니다. 화면 오른쪽에 나온 visualize 54.67%, create 20.87%, see 12.09%... 이 리스트가 바로 그 결과입니다 — "Data visualization empowers users to" 다음에 올 단어 후보들의 확률이고 EOS 토큰도 이 후보 리스트 중 하나로 취급됩니다 — 확률이 제일 높으면 거기서 생성이 멈추게 됩니다.
GPT² / LLM · SLM은 뭐냐면
- GPT²: 이 도구가 지금 보여주는 게 GPT-2 모델의 구조라는 라벨
- LLM / SLM: Large Language Model(큰 모델) vs Small Language Model(작은 모델) — 여기 나온 구조(Embedding→Attention→MLP 반복)는 똑같은데, 층 개수(x layers)나 벡터 크기를 얼마나 크게 잡느냐에 따라 LLM이 되기도 하고 SLM이 되기합니다.
한 문장으로 정리
**문장을 숫자로 바꾸고(임베딩) → 위치 정보를 더하고(RoPE) → 단어끼리 서로 얼마나 관련있는지 계산하고(Attention) → 각자 한 번 더 다듬고(MLP/MoE) → 이 과정을 여러 층 반복한 뒤 → 마지막에 "다음 단어는 이거다"라고 확률로 찍어내는 것(LM head)**이 GPT의 전체 구조.
봐도봐도 어려운 것 같습니다.
'AI' 카테고리의 다른 글
| FineTuning vs RAG - 모델 성능을 올리려면 무엇을 해야하는가 (0) | 2026.07.24 |
|---|---|
| Claude Plugin 추천 (0) | 2026.07.14 |
| 딥러닝, 임베딩, Transformer 찍먹하기 (0) | 2026.07.10 |
| Zero-shot/Few-shot, Pydantic (0) | 2026.07.10 |
| LangChain과 ToolStrategy와 Proxy 쓸 때 Json parsing 오류 (0) | 2026.07.10 |