Stanford CS336 'Language Modeling from Scratch'(2025 봄) 17개 강의를 토크나이저·아키텍처·시스템·스케일링·데이터·정렬의 5개 유닛, 17단계로 재구성한 종합 학습 로드맵입니다. 도장깨기 방식으로 LLM을 밑바닥부터 직접 만드는 여정을 추적합니다.
Stanford CS336 1강 정리. 코스를 관통하는 한 단어 '효율'에서 출발해, 텍스트를 토큰으로 바꾸는 토크나이제이션을 문자·바이트·단어 방식의 한계부터 BPE(Byte Pair Encoding) 밑바닥 구현까지 따라갑니다.
Stanford CS336 2강 정리. 모델을 '느낌'이 아니라 숫자로 다루는 자원 회계 — 메모리(부동소수점 타입·AdamW의 16바이트/파라미터)와 연산(행렬곱 2mnp → 학습 6ND), 그리고 MFU까지 냅킨 한 장으로 계산합니다.
Stanford CS336 3강 정리. 2017~2025년 약 19개 모델의 '수렴 진화'에서 배운 현대 트랜스포머의 합의 — Pre-norm·RMSNorm·bias 제거·SwiGLU·RoPE, 그리고 d_ff 비율·aspect ratio 같은 하이퍼파라미터 규칙과 z-loss·QK-norm·MQA/GQA까지.
Stanford CS336 4강 정리. Dense FFN을 라우터 + 여러 전문가로 바꿔 FLOPs는 그대로 두고 파라미터만 키우는 MoE — token-choice top-k 라우팅, fine-grained·shared 전문가, 부하 분산 손실과 DeepSeek V3의 보조손실 없는 균형, 그리고 MLA·MTP까지.
Stanford CS336 5강 정리. GPU를 마법이 아니라 구조로 이해하기 — SM·메모리 계층·SIMT 실행 모델, 루프라인과 산술 강도, 그리고 정밀도·퓨전·재계산·코얼레싱·타일링이라는 6가지 도구로 메모리 병목을 줄여 Flash Attention에 이르는 길.
Stanford CS336 6강 정리. GPU 코드를 빠르게 만드는 실전 — 벤치마킹(warm-up·cuda.synchronize)과 프로파일링(CPU/GPU 비동기 모델)으로 병목을 찾고, GELU 커널을 수동 PyTorch·내장·CUDA C++·Triton·torch.compile 다섯 가지로 써 보며 커널 퓨전의 효과를 잰다.
Stanford CS336 7강(전반) 정리. 한 GPU를 넘어 데이터센터로 — 네트워킹 계층과 집합 통신(all-reduce = reduce-scatter + all-gather), 데이터 병렬의 파라미터당 16바이트 메모리 문제, 그리고 그 중복을 단계적으로 걷어내는 ZeRO 1·2·3(=FSDP).
Stanford CS336 8강 정리. 모델을 쪼개 활성화만 주고받기 — 너비로 자르는 텐서 병렬, 깊이로 자르는 파이프라인 병렬(과 버블), 활성화·시퀀스 병렬, 그리고 셋을 합치는 3D 병렬화의 실전 규칙과 사례(Megatron·DeepSeek·Llama 3).
Stanford CS336 9강 정리. 손실이 데이터·모델·연산의 거듭제곱으로 줄어드는 스케일링 법칙 — 왜 멱법칙이 자연스러운가, 작은 모델로 아키텍처·하이퍼파라미터를 정하는 법, 그리고 컴퓨트 최적 배분을 알려주는 Chinchilla(파라미터당 20토큰)와 추론을 생각한 over-training.
Stanford CS336 10강 정리. 추론은 왜 메모리 한계인가 — prefill vs generation, KV 캐시의 정체, 그것을 줄이는 아키텍처(GQA·MLA·local attention)와 트랜스포머 너머(SSM·diffusion), 그리고 양자화·speculative decoding·PagedAttention까지.
Stanford CS336 11강 정리. 실전 LLM 빌더가 스케일링 법칙을 쓰는 법 — Cerebras·MiniCPM·DeepSeek 사례, WSD 학습률로 Chinchilla를 한 번에, '20토큰/파라미터는 출발점일 뿐', 그리고 하이퍼파라미터를 스케일에 불변으로 만드는 muP의 유도와 한계.
Stanford CS336 12강 정리. '하나의 참된 평가는 없다' — 무엇을 알고 싶은가에 따라 달라지는 평가. perplexity 같은 내재적 지표, MMLU·GPQA 등 지식 벤치마크, LM-as-judge와 Chatbot Arena, 에이전트·안전 벤치마크, 그리고 현실성·오염(contamination)·타당성이라는 평가의 함정까지.
데이터가 아키텍처보다 모델을 결정한다 — Common Crawl을 학습 코퍼스로 바꾸는 파이프라인(WARC/WET·HTML→텍스트), 사전학습 데이터셋의 계보(C4·The Pile·RefinedWeb·FineWeb·Dolma·DCLM), 그리고 저작권·공정 이용.
Stanford CS336 14강 정리. raw 웹을 좋은 학습 코퍼스로 바꾸는 세 기술 — 품질 필터링(KenLM·fastText·DSIR), 중복 제거(MinHash·LSH·Bloom filter), 데이터 믹스. 핵심 과제는 목표와 닮은 부분집합을 극도로 빠르게 골라내기.
사전학습된 원석을 어시스턴트로 — SFT는 사전학습 행동을 추출할 뿐 새로 더하지 않고(모르는 사실을 학습하면 환각), 선호 데이터로 보상 모델(Bradley-Terry)을 세워 RLHF(PPO·KL 제약)로 사람 선호에 맞추고, 그 보상 모델마저 없애 버리는 DPO까지.
학습된 보상 대신 정답을 검증하는 보상(RLVR) — 수학·코드에서 규칙 기반 보상으로 reward hacking을 줄이고, 이 단순한 전환이 긴 사고사슬을 스스로 학습하는 추론 모델(o1·DeepSeek R1)과 GRPO를 낳았다.
RL을 언어 모델에 실제로 돌리는 법 — 정책 경사의 유도, 분산을 줄이는 baseline과 advantage, 그리고 GRPO를 한 줄씩 구현하며 'raw reward로는 왜 안 되는가'를 눈으로 본다. CS336 시리즈의 마지막 강.