raiyanyahya/how-to-train-your-gpt
Build a modern LLM from scratch. Every line commented. Explained like we are five.
해결하는 문제
대부분의 머신러닝 튜토리얼은 너무 얕거나(사전 구축 모델을 호출만 함) 너무 학술적입니다(실제 예제 없이 밀도 높은 논문과 수학). 이 프로젝트는 GPT, LLaMA, Mistral과 같은 현대 대규모 언어 모델이 내부에서 어떻게 작동하는지 수학이나 ML 배경 지식 없이 진정으로 이해하려는 Python 개발자를 위한 격차를 메웁니다.
작동 방식
12개 장을 순서대로 따라가며, 각 장은 동일한 4단계 구조를 가집니다: 간단한 비유, 실제 숫자가 있는 실제 예제, 완전히 주석이 달린 코드(각 줄이 '무엇'을 하는지와 '왜'를 설명), 그리고 다이어그램입니다. 장과 함께 28개의 독립형 설명자가 특정 기술(RoPE, 어텐션, RMSNorm, SwiGLU, KV 캐시, 샘플링 등)을 더 깊이 파고들고, 두 개의 내러티브 워크스루가 단일 문장을 모델 전체를 통해 추적합니다.
모델을 직접 줄 단위로 구축합니다: BPE 토크나이저, 임베딩, RoPE 위치 인코딩, 멀티헤드 어텐션, 트랜스포머 블록, 완전한 151M 파라미터 GPT 모델, 훈련 파이프라인(AdamW, 코사인 워밍업, 혼합 정밀도, 그래디언트 누적), 그리고 추론 엔진(KV 캐시, 온도, top-k/p, 빔 서치). 기본 구성은 작고(17M 파라미터, CPU에서 몇 분 내 실행), 더 큰 GPT-2 규모 구성(151M)은 GPU에서 사용할 수 있습니다.
대상 독자
- ChatGPT가 실제로 어떻게 작동하는지 궁금하고 ML 사전 지식을 원하지 않는 Python 개발자
- Transformer를 깊이 이해하고 싶고 약 3,500줄의 주석이 달린 코드를 읽을 수 있는 학생
- LLM 아키텍처를 평가하고 RoPE 대 학습된 임베딩 또는 RMSNorm 대 LayerNorm과 같은 트레이드오프를 이해하려는 엔지니어
- 다른 튜토리얼에서 '어텐션'에서 길을 잃고 파티 비유와 숫자 예제가 필요한 모든 사람
기본 Python(변수, 함수, 클래스, pip install)만이 유일한 사전 요구 사항입니다. 미적분, 선형 대수 또는 PyTorch 경험은 필요 없습니다——주제는 진행하면서 배웁니다.
하이라이트
- 12개 장, 7,500줄 이상, 28개의 독립형 주제 설명자, 2개의 내러티브 워크스루
- 모든 코드 줄에 '무엇'과 '왜' 주석——블랙박스 없음
- 최신 공개 문서화된 디코더 전용 아키텍처 구현: RoPE, RMSNorm, SwiGLU, 프리노름, AdamW, BPE, 가중치 타이잉, 혼합 정밀도
- 각 장에는 라이브로 실행할 수 있는 Jupyter 노트북이 포함되어 있어 작은 데이터셋에서 모델이 몇 분 내에 학습하는 것을 볼 수 있습니다
- 원클릭 클라우드 훈련을 위한 Colab 노트북 제공
- 파인튜닝 가이드(LoRA, QLoRA, 데이터 준비)와 손실 곡선 읽기 및 FAQ와 같은 문제 해결 리소스 포함
- 이 프로젝트는 학습 중심이며 프로덕션 라이브러리가 아닙니다——단순히 사용하는 것이 아니라 이해하도록 가르칩니다
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트