NanoChat – $100로 만드는 나만의 ChatGPT (Karpathy 신작)
NanoChat – The best ChatGPT that $100 can buy
TL;DR Highlight
Andrej Karpathy가 공개한 LLM 학습 프레임워크는 8xH100 GPU에서 4시간($100 이하)만에 GPT-2급 모델을 처음부터 학습하여 ChatGPT 스타일 웹 UI로 대화 가능하게 한다.
Who Should Read
LLM 내부 구조를 직접 만져보며 이해하고 싶은 ML 엔지니어나, 소규모 도메인 특화 모델을 처음부터 학습해보려는 개발자.
Core Mechanics
- nanochat은 토크나이저 → 사전학습 → 파인튜닝 → 평가 → 추론 → 채팅 UI까지 LLM의 전체 파이프라인을 하나의 코드베이스에 담은 실험용 프레임워크다. 코드가 최소한으로 작성되어 있어서 해킹(수정)하기 쉽다.
- 핵심 설계 철학은 '--depth'(트랜스포머 레이어 수) 하나만 돌리면 나머지 하이퍼파라미터(width, head 수, learning rate, weight decay 등)가 compute-optimal하게 자동 계산된다는 것이다. GPT-2급은 대략 depth 26.
- 2019년에 GPT-2를 학습하는 데 약 $43,000이 들었는데, nanochat으로는 8xH100 노드에서 약 2시간, $48이면 된다. spot 인스턴스를 쓰면 $15까지도 가능하다.
- Karpathy의 nanoGPT → Keller Jordan의 modded-nanoGPT(학습 속도 극한 최적화) → nanochat 순서로 발전한 계보다. modded-nanoGPT에서 도입한 Muon optimizer(linear layer용, AdamW 대체)도 영향을 줬다.
- GPT-2 Speedrun Leaderboard를 운영해서 커뮤니티가 GPT-2급 모델을 얼마나 빨리 학습할 수 있는지 경쟁하도록 했다. 평가 기준은 DCLM CORE score.
- Karpathy 본인이 밝히길, 코드는 거의 100% 수작업으로 작성했고 Claude/Codex 같은 AI 코딩 에이전트를 몇 번 시도했지만 '기존 데이터 분포에서 너무 벗어난 코드'라 도움이 안 됐다고 한다.
- 단일 GPU 노드에서 돌리도록 설계되어 있어서 분산 학습 설정 없이도 실험할 수 있지만, '개인 PC CPU로 학습'하는 시나리오는 현실적이지 않다. H100 클라우드 렌탈이 사실상 필수.
Evidence
- 제목의 '$100'이 오해를 부른다는 지적이 많았다. 실제로는 8xH100 GPU 클라우드 노드 렌탈 비용이 $100이라는 뜻인데, 로컬에서 돌아가는 줄 알고 기대했다가 실망했다는 반응이 있었다.
- Karpathy가 AI 코딩 도구(Claude, Codex)를 써봤지만 도움이 안 됐다고 밝힌 트윗이 화제가 됐다. 기존 학습 데이터 분포에서 벗어난 독창적 코드에는 AI 코딩 에이전트가 아직 한계가 있다는 사례로 인용됐다.
- 한 유저가 실제로 학습을 돌리며 W&B(Weights & Biases) 링크를 실시간 공유했고, 4시간 후 모델을 공개하겠다고 했다. 커뮤니티가 직접 실험에 참여하는 분위기.
- 개인 컴퓨터(CPU)로 3개월이 걸려도 좋으니 학습해보고 싶다는 의견도 있었지만, 현실적으로 GPU 없이는 의미 있는 결과를 내기 어렵다는 게 중론이었다.
- 심리학 교재·논문 등 도메인 데이터로 학습해서 전문 질의응답에 쓸 수 있냐는 질문이 있었는데, 원칙적으로는 가능하지만 GPT-2급 규모로는 도메인 전문성을 기대하기 어렵다는 맥락.
How to Apply
- LLM 학습 파이프라인 전체를 처음부터 끝까지 직접 경험해보고 싶다면, nanochat의 speedrun.sh 스크립트 하나로 사전학습부터 채팅 UI까지 한 번에 돌려볼 수 있다. Lambda Labs나 RunPod 같은 곳에서 8xH100 spot 인스턴스를 빌리면 $15~48 수준.
- 사내에서 소규모 도메인 특화 모델을 실험하려 할 때, nanochat의 '--depth' 파라미터만 조절해서 다양한 크기의 모델을 빠르게 비교해볼 수 있다. depth를 낮추면 비용이 급격히 줄어들어 프로토타이핑에 적합하다.
- LLM 학습 최적화를 연구하고 있다면, GPT-2 Speedrun Leaderboard에 참여해서 학습 속도 개선 기법(Muon optimizer, 커스텀 스케줄러 등)을 실험하고 커뮤니티에 공유할 수 있다.
- AI 코딩 도구의 한계를 체감한 사례로, 기존 오픈소스와 크게 다른 아키텍처의 코드를 작성할 때는 AI 에이전트에 의존하기보다 직접 작성하는 게 나을 수 있다는 점을 참고할 것.
Code Example
# nanochat 빠른 시작 (8xH100 노드에서)
git clone https://github.com/karpathy/nanochat.git
cd nanochat
bash runs/speedrun.sh # 사전학습 → 추론 → 채팅 UI까지 한 번에
# depth 파라미터로 모델 크기 조절 (GPT-2급 = depth 26)
python nanochat/train.py --depth 26Terminology
관련 논문
PyTorch Lightning AI 학습 라이브러리에서 Shai-Hulud 테마 악성코드 발견
널리 쓰이는 딥러닝 프레임워크 PyTorch Lightning의 PyPI 패키지 버전 2.6.2와 2.6.3이 공급망 공격으로 침해되어, import 시 자격증명 탈취 악성코드가 실행된다.
Alignment Whack-a-Mole: 파인튜닝이 LLM 내부의 저작권 도서 암기를 활성화한다
안전 정렬(alignment)된 LLM도 파인튜닝을 거치면 억제됐던 저작권 책 내용을 그대로 출력하게 된다는 연구로, LLM의 저작권 침해 위험이 단순히 프롬프트 필터링으로는 해결되지 않음을 보여준다.
MacMind – 1989년 Macintosh의 HyperCard로 구현한 Transformer 신경망
HyperTalk으로 1,216개 파라미터짜리 단일 레이어 Transformer를 Macintosh SE/30에서 학습시켜 현대 LLM의 핵심 수학이 30년 전 하드웨어에서도 동일하게 동작함을 증명했다.
MegaTrain: 단일 GPU로 100B+ 파라미터 LLM을 Full Precision으로 학습하기
MegaTrain은 CPU 메모리를 주 저장소로, GPU를 연산 엔진으로만 활용함으로써 H200 GPU 단 한 장으로 120B 파라미터 모델을 풀 정밀도로 학습할 수 있다.
9M 파라미터짜리 초소형 LLM으로 언어 모델 작동 원리 직접 이해하기
물고기 Guppy를 학습한 870만 파라미터 미니 LLM이 Colab 노트북 하나로 5분 만에 처음부터 구현되어, LLM의 블랙박스 이미지를 완전히 걷어낸다.
Nanocode: $200로 TPU에서 JAX로 구현하는 나만의 Claude Code 학습 라이브러리
이 오픈소스 라이브러리는 Constitutional AI 방식으로 $200 TPU에서 1.3B 파라미터 규모의 coding agent 모델을 처음부터 학습하게 하며 개발자가 AI 학습 파이프라인 전체를 직접 이해하고 실습할 수 있는 환경을 제공한다.