← 전략 로드맵(왜 이걸 하는가) · 이 문서 = 실제 수업 커리큘럼 + 진도표

Transformer Lab 커리큘럼 수업처럼 천천히, day by day

이 문서는 전체 수업 지도이자 진도표다. 큰 목표(로드맵)를 Phase → 주(week) → 일(day) 단위로 잘게 쪼개, 매일 "오늘 뭘 이해하고 뭘 만들지"가 분명하게 했다. 각 day는 별도 수업 문서로 분리되며, 여기 표의 링크로 들어간다. 여러 세션·여러 날에 걸쳐 채워나가는 살아있는 문서다.
이 커리큘럼의 약속: 빠르게 훑지 않는다. 개념 하나하나를 왜 그런지까지 손으로 이해하고 넘어간다. 하루 분량은 보통 1~3시간. 막히면 며칠 더 써도 된다 — 날짜는 순서일 뿐 마감이 아니다.

이 수업을 쓰는 법

각 day 문서의 구성의미
🎯 오늘의 목표이 하루가 끝나면 무엇을 알고 무엇을 할 수 있는가
📖 개념 (수업)천천히 설명. 그림·수식·직관. 여기가 본체다
✍️ 직접 해보기네가 코드를 쓰는 부분. 정답 코드는 안 준다 — 명세와 힌트만
✅ 확인제대로 됐는지 스스로 검증하는 기준
📝 기록오늘 배운 걸 docs/에 한 단락. 포트폴리오의 씨앗
철칙: 개념은 내가 자세히 가르치지만, 코드는 네가 쓴다. 막히면 정답이 아니라 의사코드/힌트를 먼저 요청해라. 손으로 한 번 짠 것만 진짜 남는다.

전체 지도

Phase주제기간(목표)끝나면 만들어지는 것
0토대 — autograd & PyTorch2주 (14일)직접 만든 미분 엔진, 텐서 숙련
1언어모델 & 미니 GPT from scratch4주 (28일)셰익스피어 생성기 + 첫 GitHub 공개
2제대로 된 GPT (BPE, 실제 코퍼스)4–5주작동하는 소형 LLM + 학습 분석
3스케일링 & 효율6–8주scaling law 재현 + ablation 리포트
4파인튜닝 & 정렬 (LoRA, DPO)6–8주instruction-following 모델
5연구 기여지속논문 재현 + novel 실험, 공개

※ 현재 세션 기준으로 Phase 0–1의 day별 계획이 상세히 잡혀 있고, Phase 2–5는 주(week) 단위 윤곽이다. 각 Phase에 가까워질 때 day 단위로 더 잘게 쪼갠다.

Phase 0 — 토대 다지기

준비 2주 · Day 1–14

트랜스포머에 들어가기 전, 모든 것이 돌아가는 두 기둥을 세운다: 역전파(autograd)가 실제로 어떻게 동작하는지PyTorch 텐서를 자유자재로 다루기. 여기가 단단하면 나중 디버깅이 쉽고, 흔들리면 내내 고생한다.

Week 1 — 미분·역전파·계산 그래프

Day제목핵심상태
Day 1신경망을 함수근사로 다시 보기ERM, 야코비안, UAT 한계, 표현력(선형영역 지수증가), 다양체 가설작성됨
Day 2미분·야코비안·자동미분의 두 모드미분=선형사상, JVP/VJP, forward vs reverse 복잡도, cheap gradient작성됨
Day 3계산 그래프와 reverse-mode ADWengert list, adjoint, fan-out 합 증명, checkpointing $O(\sqrt T)$작성됨
Day 4micrograd ① define-by-run 그래프연산자 오버로딩, VJP 클로저, 11개 연산, 수치안정 설계작성됨
Day 5micrograd ② backward & gradcheck위상정렬+adjoint, 복소스텝 gradcheck, log-sum-exp CE작성됨
Day 6최적화·초기화·손실 지형He/Xavier 유도, SGD/Adam 구현, two-moons, loss landscape작성됨
Day 7통합·AD 내부 대응·기술 글micrograd↔autograd/JAX, 스칼라 AD 한계, 포트폴리오 글작성됨

Week 2 — PyTorch 텐서 & 신경망 기초

Day제목핵심상태
Day 8텐서 & broadcasting의 VJPbroadcasting 의미론, grad의 축 합산 환원, 메모리 레이아웃/contiguous예정
Day 9einsum과 그 미분einsum 의미론, 텐서 수축의 VJP, 효율적 재배치예정
Day 10텐서 micrograd — 선형층/softmax VJP$\bar X{=}\bar Y W^\top$ 등 텐서 VJP 직접 구현 + gradcheck예정
Day 11PyTorch autograd 내부grad_fn 그래프, hooks, 고차미분, retain/create_graph예정
Day 12nn.Module 설계 & 파라미터 관리모듈 트리, buffer vs param, 초기화, state_dict예정
Day 13실전 학습 루프 — AdamW·AMP·스케줄mixed precision, grad scaler, LR 스케줄, 진단 로깅예정
Day 14벤치마킹 & 프로파일링MFU, torch.compile, 메모리 프로파일, Week 1↔2 속도 비교예정

Phase 1 — 언어모델 & 미니 GPT from scratch

핵심 4주 · Day 15–42

프로젝트 전체에서 가장 중요한 단계. 언어모델이 뭔지부터 시작해, self-attention을 직접 손으로 구현하고, char-level GPT로 셰익스피어를 생성한다. nn.Transformer 같은 고수준 API는 쓰지 않는다.

Week 3 — 언어모델링의 개념

Day제목핵심
Day 15언어모델이란? — 다음 토큰 맞히기확률분포로서의 언어, n-gram
Day 16토큰화 — char-level문자 ↔ 정수, vocab, encode/decode
Day 17bigram 모델 — 가장 단순한 신경 언어모델lookup table = Embedding
Day 18bigram 학습 & 샘플링학습 루프, autoregressive 생성
Day 19cross entropy 깊이 이해negative log likelihood, perplexity
Day 20임베딩이 담는 것토큰 임베딩 + 위치 임베딩의 필요성
Day 21복습 & 글"bigram에서 무엇이 부족한가"

Week 4 — Attention의 탄생

Day제목핵심
Day 22왜 attention인가 — 문맥의 문제고정 임베딩의 한계, 문맥 의존성
Day 23"과거의 평균"에서 시작 (the math trick)하삼각 행렬로 누적평균 = attention의 씨앗
Day 24self-attention 직관 — Q, K, V질문·열쇠·값의 비유
Day 25scaled dot-product attention왜 √d_k로 나누는가
Day 26single-head self-attention 구현직접 코드 — 한 헤드부터
Day 27causal mask미래를 못 보게 — autoregressive의 핵심
Day 28복습 & attention 시각화어떤 위치가 어디에 주목하는지 그림

Week 5 — 트랜스포머 블록 완성

Day제목핵심
Day 29multi-head attention여러 헤드 = 여러 관점, 병렬 구현
Day 30feed-forward network (MLP)토큰 내부 가공, 왜 4배 확장
Day 31residual connection깊은 망의 gradient 고속도로
Day 32layer normalization (Pre-LN)안정적 학습, Pre vs Post
Day 33블록 조립 — Block 클래스attn + mlp + 2×LN + residual
Day 34전체 GPT 클래스임베딩 + Block 스택 + lm_head + weight tying
Day 35복습 & 형태 검증tests/test_shapes.py 통과

Week 6 — 학습과 생성, 마무리

Day제목핵심
Day 36학습 루프 구현get_batch, AdamW, grad clip
Day 37학습률 스케줄warmup + cosine decay
Day 38mixed precision & 속도bfloat16, torch.compile
Day 39wandb 로깅loss 곡선·gradient norm 기록
Day 40셰익스피어 학습 (전체 실행)Colab GPU에서 끝까지 학습
Day 41생성 — temperature & top-k샘플링 다이얼 이해
Day 42Phase 1 마무리 글 + GitHub 공개분석 글 + 첫 공개 리포
Phase 1 종료 시점의 너: attention을 빈 화면에서 짤 수 있고, 왜 √d_k인지·왜 causal mask인지·왜 residual인지 말로 설명할 수 있다. 이게 대부분의 학부 지원자와 갈리는 지점이다.

Phase 2 — 제대로 된 GPT

재현 4–5주 (윤곽)

char-level 장난감 → 실제 LLM의 축소판. BPE 토크나이저, 실제 코퍼스, 긴 학습, 효율적 데이터 파이프라인.

Phase 3 — 스케일링 & 효율

심화 6–8주 (윤곽)

랩 지원에 진짜 차별화가 생기는 구간. 스케일링 법칙을 직접 재현하고, 구조 개선을 통제된 ablation으로 측정.

Phase 4 — 파인튜닝 & 정렬

정렬 6–8주 (윤곽)

사전학습 모델을 유용하게 길들이기. LLM/NLP 랩의 현재 핵심 주제.

Phase 5 — 연구 기여

독창성 지속 (윤곽)

쌓은 인프라로 작지만 진짜 질문에 답한다. 논문 재현 + 검증, 또는 작은 novel 실험. 정직한 결론을 글로.

진도 트래커

세션마다 여기를 업데이트한다. "지금 어디까지 왔나"를 한눈에.

구간상태메모
커리큘럼 설계완료이 문서 + 로드맵 + 프로젝트 저장소
Phase 0 · Week 1 (Day 1–7)수업 전부 작성됨autograd 토대 + micrograd from scratch. Day 1부터
Phase 0 · Week 2 (Day 8–14)대기PyTorch 텐서·신경망. "Day 8 써줘"로 시작
Phase 1~5대기지도만 잡힘. day 문서는 진행하며 작성
다음 세션에서 할 일: "Day 8 수업 써줘" 식으로 이어가면 된다 (Week 1은 완성). 나는 이 진도표를 보고 다음 day를 작성하고, 표의 상태를 갱신한다.