8P by GN⁺ 2일전 | ★ favorite | 댓글 1개
  • Andrej Karpathy가 직접 진행하는 강좌로, 코드로 신경망을 처음부터 구현하며 학습하는 과정
  • 역전파(backpropagation) 의 기초부터 시작해 GPT 수준의 현대적 딥러닝 모델까지 단계적으로 구축
  • 언어 모델(language model) 을 중심으로 학습하며, PyTorch, torch.Tensor, BatchNorm, WaveNet, GPT 토크나이저 등 핵심 기술을 실습
  • 각 강의는 모델 학습, 손실 계산, 하이퍼파라미터 조정, 오버피팅 진단 등 실제 개발 과정 중심으로 구성
  • 딥러닝의 내부 작동 원리와 최적화 직관을 체계적으로 익힐 수 있는 실습형 커리큘럼

강좌 개요

  • 이 강좌는 신경망을 코드로 직접 구현하며 학습하는 과정으로 구성
    • 기초 수학(미분, 가우시안)Python 프로그래밍 능력이 요구됨
    • 학습자 간 교류를 위한 Discord 채널이 제공됨
  • 언어 모델을 중심으로 학습을 진행하며, 이는 다른 분야(예: 컴퓨터 비전)로의 지식 전이에도 유용함

강의 구성 (Syllabus)

1. Intro to Neural Networks and Backpropagation (2h25m)

  • micrograd를 직접 구현하며 역전파와 신경망 학습 과정을 단계별로 설명
    • Python 기본 지식고등학교 수준의 미적분만으로 이해 가능

2. Intro to Language Modeling: Building makemore (1h57m)

  • 문자 단위 빅그램 언어 모델을 구현
    • torch.Tensor의 사용법과 효율적 신경망 계산 방법을 다룸
    • 모델 학습, 샘플링, 손실 평가(음의 로그우도) 과정을 포함

3. Building makemore Part 2: MLP (1h15m)

  • 다층 퍼셉트론(MLP) 기반 문자 수준 언어 모델 구현
    • 학습률 조정, 하이퍼파라미터, 데이터 분할(train/dev/test) , 과적합/과소적합 등 머신러닝 기본 개념 포함

4. Building makemore Part 3: Activations & Gradients, BatchNorm (1h55m)

  • 다층 MLP의 내부 동작을 분석하며 활성화값과 그래디언트의 통계적 특성을 점검
    • Batch Normalization을 도입해 학습 안정성 향상
    • Residual connection, Adam 옵티마이저는 이후 영상에서 다룰 예정

5. Building makemore Part 4: Becoming a Backprop Ninja (1h55m)

  • PyTorch autograd 없이 수동 역전파를 수행
    • 교차 엔트로피 손실, tanh, BatchNorm, 임베딩 테이블 등을 직접 역전파
    • 그래디언트 흐름과 텐서 수준의 최적화 직관을 강화

6. Building makemore Part 5: Building a WaveNet (56m)

  • 이전의 2층 MLP를 확장WaveNet(2016) 과 유사한 계층적 CNN 구조 구현
    • torch.nn의 내부 작동 원리딥러닝 개발 워크플로우(문서 탐색, 텐서 차원 관리, 코드 통합 등)를 실습

7. Let's Build GPT: From Scratch, in Code (1h56m)

  • GPT 모델을 직접 구현하며 “Attention is All You Need” 논문과 OpenAI GPT-2/3 구조를 따라감
    • ChatGPTGitHub Copilot과의 연관성 언급
    • 이전 makemore 강의에서 다룬 자기회귀 언어 모델링PyTorch nn 기초를 전제로 진행

8. Let's Build the GPT Tokenizer (2h13m)

  • GPT 시리즈에서 사용되는 토크나이저를 처음부터 구현
    • Byte Pair Encoding(BPE) 기반 학습 과정을 포함
    • 문자열↔토큰 변환(encode/decode) 기능을 직접 구현
    • LLM의 비정상적 동작 원인 중 일부가 토크나이징 단계에 있음을 사례로 분석
    • 토크나이저 제거 가능성에 대한 논의 포함

진행 상태

  • 강좌는 진행 중(ongoing) 상태로, 추가 영상이 계속 업로드될 예정
Hacker News 의견들
  • 올해 초 이 영상 시리즈를 전부 봤음
    이전에도 딥러닝 관련 책, Coursera 강의, 대학 수업, fast.ai 코스 등 여러 자료를 접했지만, 실제 업무에서는 거의 쓰지 않음
    그런데 이 시리즈는 지금까지 본 것 중 직관을 가장 잘 키워주는 콘텐츠였음. 불필요한 내용이 거의 없고, 지루하지 않음
    지금은 누군가 DNN의 저수준 원리를 배우고 싶다고 하면 이걸 가장 먼저 추천함
    • Karpathy의 설명 방식이 매우 직관적이지만, 때로는 너무 단순화되어 있음
      인접 분야에서 온 사람이라면 약간 느리게 느껴질 수도 있지만, 그래도 항상 흥미로움
  • Karpathy를 좋아함. 나와 같은 연구 계보 출신이라 그의 성취가 자랑스러움
    나는 도시 교통 시스템 예측 모델을 만들기 위해 시공간 데이터 모델링을 연구 중임. ML 인프라도 직접 구축하고, 이를 실제 교통 이벤트 스트림에 배포하는 앱도 준비 중임
    Deeplearning.ai와 skills.google에서 온라인 학습을 했는데, 전자는 다소 구식 느낌이었고 후자는 GPU·TPU 최적화 등 실무 감각을 잘 다뤄줌
    하지만 나를 진짜 실무자로 만들어준 건 Keras 창시자 Francois Chollet의 『Deep Learning with Python』임. 이 책은 딥러닝의 70년 역사를 배경으로 개념을 명확히 풀어주며, GPT나 Diffusion 모델을 직접 구현할 수 있는 레시피까지 담고 있음
    핵심 교훈은 “딥러닝은 과학이라기보다 예술”이라는 점임. 많은 연습이 필요하고, 결과를 완벽히 설명할 수는 없음
    TensorFlow, PyTorch, Jax 예제 노트북도 포함되어 있음. 덕분에 지금은 논문 초록을 재현하고 모델을 프로덕션에 배포할 수 있을 정도로 자신감이 생김
    • 네가 하는 프로젝트가 흥미로움. 공공 교통 분야에서 ML/AI가 어떻게 활용되는지, 그리고 에이전트 기반 모델과 비교했을 때 어떤 장점이 있는지 궁금함
  • 나는 AI 비전공자이고, 20년 전 대학에서 들은 입문 강의도 다 잊음
    이 자료를 다 보면 어느 정도 수준에 도달할 수 있을까?
    직접 뭘 만들거나, 대화에 참여할 수 있을 정도일까? 아니면 단순히 개념만 이해하는 수준일까?
    연구자들이 가진 한계와 차이점은 무엇인지 궁금함
    • 이상한 질문 같음. 왜 필요한지 모른다면, 아마 필요하지 않을 것임. 20년 전 들었던 입문 강의처럼 될 가능성이 큼
  • 비교는 어렵지만, 또 다른 선택지로 Hugging Face 학습 포털이 있음
    나는 Deep RL Course를 듣고 있는데, 지금까지는 꽤 직관적임. 다만 수학 부분이 나오면 좀 고생할 듯함
    • Karpathy 영상은 접근성이 매우 좋았음. 나는 CS 전공이지만 ML은 깊이 배우지 않았고, 행렬은 그래픽 개발용 4x4 정도만 다뤄봤음
      그래도 backproptiny GPT 구현 과정을 이해할 수 있었음. Karpathy 강의는 기초 원리를 깨닫는 데 탁월함
      다만 라이브러리 실습은 거의 없어서, 네가 언급한 코스가 실무에는 더 적합할 수도 있음
    • Hugging Face 코스를 몇 개 들었는데 다시 듣고 싶진 않음
      자동 채점 시스템이 너무 형식적이라, 답안을 맞추기 위해 문장을 억지로 써야 했음. 학습 효율이 떨어지고 시간 낭비였음
      반면 Karpathy 영상은 진짜 보석 같은 자료였음
  • 좋은 자료이긴 하지만, 현실적으로 99.99%의 사람은 ChatGPT, Claude, Gemini 같은 기반 모델을 그냥 사용할 것임
    그래서 이 학습이 직접적인 실무 역량으로 이어지진 않을 수도 있음
    대신 Karpathy의 또 다른 영상 Deep Dive into LLMs like ChatGPT를 추천함
  • 몇 년 전, NumPy로 신경망을 처음부터 구현하는 튜토리얼을 작성했음
    Neural Network from Scratch in Python (NumPy)
  • 약간의 홍보지만, 이 코스를 수강한 뒤 두 편의 글을 썼음
    No local GPU? No problem – running Karpathy’s NanoGPT on Modal.com
    Modal.com and NanoGPT continued – producing output using Tiktoken for bigger tokens
  • 첫 번째 영상조차 이해하기 어려움. 필수 선행 지식 목록 같은 게 있을까?
    • 수학적 배경을 깊이 배우고 싶다면 3Blue1Brown 영상이 좋음
      신경망의 기본 메커니즘이 어렵다면, 처음엔 대충 보고 나중에 다시 보는 걸 추천함. 두 번째 시청 때 훨씬 잘 이해됨
    • Karpathy가 첫 영상으로 이걸 택한 건 조금 이상함
      영상은 autograd의 원리를 설명하는데, 이는 PyTorch가 내부적으로 미분을 자동 계산하는 방식임
      과거 TensorFlow나 Torch는 각 레이어의 미분 함수를 직접 정의해야 했지만, PyTorch는 실행 중의 Python 코드를 기록해 자동으로 그래프를 만들고 미분을 계산함
      이걸 이해하면 PyTorch가 내부적으로 어떻게 작동하는지 알 수 있음
      하지만 대부분의 사용자는 굳이 그 내부를 몰라도 모델을 잘 쓸 수 있음
      완전 초보라면 Andrew Ng의 Coursera Introduction to ML 코스를 추천함. 최신 버전은 모르지만, 그는 훌륭한 교육자임
  • cs231n과 이 강의를 모두 들어본 사람이 있을까?
    cs231n은 최고의 수업 중 하나였는데, 이건 겹치는 부분이 많아 보여서 미뤄두고 있음. 아마 transformer 부분이 추가된 듯함
  • 이 강의도 강력히 추천함
    gradient descent정규화(normalization) 가 왜 작동하는지 직관적으로 이해하게 해주고, 학습 동역학까지 깊이 다룸
    모델이 제대로 학습되고 있는지 판단하는 감각을 키워줌