nanoGPT 학습 루프 실습: prepare.py부터 sample.py까지 작게 검증하기 | DAKER 커뮤니티

DAKER 학습 nanoGPT 학습 루프 대표 카드

raw text에서 prepare.py, train.py, checkpoint, sample.py로 이어지는 NotebookLM 카드.

nanoGPT 학습 루프는 raw text를 숫자 데이터로 바꾸고, 작은 GPT를 훈련한 뒤, checkpoint에서 sample을 뽑아 증거를 남기는 실습입니다. 2026년 6월 28일 기준 nanoGPT README는 저장소가 오래되어 nanochat을 보라고 안내하지만, 학습자는 여전히 작은 경로 검증용으로 유용하게 읽을 수 있습니다.

nanoGPT 학습 루프란, prepare.py로 train.bin과 val.bin을 만들고 train.py와 sample.py로 훈련과 생성을 확인하는 과정을 의미합니다.

오늘 배울 것은 무엇인가요?

한 줄 요약: GPT from scratch self-attention 글GPT Tokenizer 글을 봤다면, 이제 파일이 실제 훈련 루프로 이어지는지 확인할 차례입니다.

nanoGPT는 지금 왜 조심해서 배워야 하나요?

공식 README 상단에는 2025년 11월 업데이트로 nanoGPT가 오래되고 deprecated 되었으며 새 개선판인 nanochat을 보라고 안내되어 있습니다. 따라서 오늘의 목적은 최신 제품용 코드를 고르는 것이 아니라, Karpathy식으로 학습 파이프라인의 증거를 작게 확인하는 것입니다.

전체 제품 흐름은 nanochat 전체 파이프라인 글nanochat 파이프라인 지도에서 이어 보면 좋습니다. 이 글에서는 더 작게 줄여 raw text, bin 파일, checkpoint, sample만 봅니다.

핵심 개념은 어떤 파일이 다음 단계의 입력이 되는가요?

단계

확인할 산출물

실수 방지 포인트

prepare.py

train.bin, val.bin

raw text를 바로 train.py에 넣는다고 착각하지 않기

train.py

out_dir, checkpoint

loss 로그와 저장 위치를 같이 기록하기

sample.py

생성 텍스트

좋은 문장보다 checkpoint 연결 확인을 먼저 보기

옵션 축소

device, block_size, batch_size

GPU 비용보다 작은 smoke test부터 실행하기

DAKER 학습 nanoGPT prepare.py train.py sample.py 워크플로 카드

train.bin/val.bin과 checkpoint, loss, sample 기록을 한 흐름으로 보는 NotebookLM 워크플로 카드.

따라 해볼 실습은 어떤 순서인가요?

  1. 새 작업 폴더를 만들고 nanoGPT README의 quick start 흐름을 읽습니다.

  2. Shakespeare character-level 예제로 data/shakespeare_char/prepare.py가 만드는 파일 이름을 먼저 적습니다.

  3. GPU가 없으면 CPU 축소 옵션을 메모하고, 실행 목표를 “좋은 문장 생성”이 아니라 “경로 확인”으로 둡니다.

  4. train.py 실행 중 loss 로그, out_dir, checkpoint 이름을 기록합니다.

  5. sample.py에서 같은 out_dir을 가리키는지 확인하고 생성 결과를 2~3줄만 보관합니다.

  6. 마지막으로 어떤 옵션을 키우면 시간이 늘어나는지 block_size, batch_size, n_layer, n_head만 비교합니다.

자주 막히는 지점은 무엇인가요?

다음 학습 연결은 무엇인가요?

작은 모델 학습법에서 원칙을 잡고, makemore bigram, makemore MLP, WaveNet shape-first로 문자 모델을 따라온 뒤, GPT Tokenizer 글과 이 nanoGPT 루프로 넘어오면 순서가 자연스럽습니다.

공식 출처는 어디까지 확인했나요?

자주 묻는 질문

nanoGPT는 지금도 새 프로젝트에 써도 되나요?

학습용으로는 좋지만, 공식 README가 nanochat을 새 개선판으로 안내하므로 새 제품 기준으로는 nanochat도 함께 확인해야 합니다.

처음 목표는 loss를 낮추는 것인가요?

아닙니다. 첫 목표는 raw text, bin 파일, checkpoint, sample이 끝까지 이어지는 증거를 남기는 것입니다.

CPU로도 실습할 수 있나요?

공식 README는 CPU 축소 옵션 예시를 제공합니다. 다만 품질보다 실행 경로 확인을 목표로 해야 합니다.

sample.py 결과가 이상하면 실패인가요?

작은 모델과 짧은 학습에서는 이상한 문장이 정상일 수 있습니다. 먼저 같은 out_dir의 checkpoint를 읽었는지 확인하세요.

다음에는 무엇을 보면 좋나요?

다음 글에서는 microgpt를 통해 dataset, tokenizer, autograd, attention, Adam, sampling이 한 파일에 어떻게 압축되는지 봅니다.

오늘은 README를 길게 읽기보다, prepare.py가 만든 train.bin과 val.bin 파일 이름을 먼저 기록해 보세요.

Redirecting to nanoGPT 학습 루프 실습: prepare.py부터 sample.py까지 작게 검증하기 | DAKER 커뮤니티...