통합 요약노트
Ch.8 PyTorch로 나만의 AI 만들기
텐서, nn.Module, TinyLM — 지금까지 배운 모든 것을 하나로 모읍니다.
이 챕터의 내용
텐서 — AI의 레고 블록
PyTorch 텐서 — NumPy 배열에 GPU 연산과 자동 미분(Autograd)이 추가된 강력한 도구입니다.
거의 같지만 더 강력합니다
텐서(Tensor), GPU 가속, 자동 미분(Autograd)
텐서를 만들고 행렬 연산해봅시다
- PyTorch 텐서 = NumPy 배열 + GPU + 자동 미분
- torch.tensor(), randn(), @ 연산자로 행렬 연산
- requires_grad=True + backward()로 기울기 자동 계산
nn.Module — 모델 설계도
nn.Module — __init__에서 구조를 정의하고, forward에서 데이터 흐름을 구현합니다.
__init__에서 부품을 등록하고 forward에서 조립합니다
nn.Module, nn.Linear, nn.Embedding, forward()
가장 간단한 nn.Module 모델을 만들어봅시다
- nn.Module = PyTorch 모델의 기본 설계도
- __init__에서 부품(층) 등록, forward에서 데이터 흐름 정의
- model(x) 호출 시 forward(x)가 자동 실행
TinyLM — 세상에서 가장 작은 언어모델
TinyLM — 세상에서 가장 작은 언어모델. 구조는 GPT와 완전히 동일하고, 차이는 오직 규모뿐입니다.
모든 챕터의 개념이 하나의 모델에 통합됩니다
'나는 고양이를 좋아한다'로 LLM을 학습합니다
실행 결과 (예시)
- Ch1-2: Python 기초와 AI 역사
- Ch3: 토큰화 — 텍스트를 숫자로 (BPE)
- Ch4: 벡터와 행렬 — 의미를 수학으로
- Ch5: 확률 — Softmax, Temperature, Cross-Entropy
- Ch6: 미적분 — 경사하강법과 역전파
- Ch7: Attention — 모든 수학의 집대성
- Ch8: PyTorch로 나만의 TinyLM 구현!
핵심 용어 모음
import numpy as np
→ import torch
np.array([1,2,3])
→ torch.tensor([1,2,3])
a @ b
→ a @ b (동일!)
(CPU만)
→ a.to('cuda') (**[[GPU]]** 연산!)
수동 기울기 계산
→ loss.backward() ([[오토그래드]]!)
**nn.Embedding**(vocab, dim)
[[토큰]] ID → [[벡터]] (Ch3 [[임베딩]])
**nn.Linear**(in, out)
[[행렬]] 곱 + 편향 (Ch4 행렬 연산)
**nn.ReLU**()
활성화 함수 (음수 → 0)
**nn.Softmax**()
확률 분포 변환 ([[소프트맥스]])
**Ch2**
데이터 준비 (text.split())
**Ch3**
[[토큰]]화 ({word: id} [[딕셔너리]])
**Ch4**
[[임베딩]] (nn.Embedding) + [[행렬]]곱 (nn.Linear)
퀴즈와 인터랙션으로 더 깊이 학습하세요
play_circle인터랙티브 코스 시작하기