nanochat 2026: Andrej Karpathy Mở Nguồn ChatGPT $100 — Pipeline LLM Đầy Đủ 8.000 Dòng Code
nanochat của Andrej Karpathy là pipeline huấn luyện LLM đầy đủ stack — tokenizer, pretraining, finetuning, đánh giá, inference và giao diện chat — được thiết kế để huấn luyện chatbot cấp GPT-2 từ đầu với dưới $100 trên một node 8×H100.
- ⭐ 54700
- Python
- PyTorch
- Rust
- LLM Training
- MIT
- Cập nhật 2026-06-09

Tháng 10 năm 2025, Andrej Karpathy công bố nanochat với tiền đề đơn giản: “ChatGPT tốt nhất mà $100 có thể mua.” Đến tháng 6 năm 2026, nó đã tích lũy 54.700 GitHub stars và trở thành hướng dẫn huấn luyện LLM được đọc nhiều nhất trong cộng đồng mã nguồn mở.
nanochat là gì #
nanochat không phải là wrapper của model có sẵn. Nó là nhà máy hoàn chỉnh:
- Tokenizer (Rust) — BPE tokenizer tùy chỉnh huấn luyện từ đầu, triển khai bằng Rust để tốc độ cao
- Pretraining (PyTorch) — Transformer được huấn luyện trên FineWeb, hỗ trợ FlashAttention-2, BF16
- Finetuning (SFT) — Tinh chỉnh trên SmolTalk (hội thoại), câu hỏi trắc nghiệm, dữ liệu sử dụng công cụ
- Đánh giá — Tự động chạy CORE benchmark sau mỗi giai đoạn huấn luyện
- Inference server — HTTP API tương thích OpenAI chat completions
- Giao diện chat — Web UI tối giản để trò chuyện với model
Tất cả khoảng 8.000 dòng Python và Rust.
Chi Phí Huấn Luyện $100 #
| Cấu hình | Chi phí/giờ | Thời gian | Tổng chi phí |
|---|---|---|---|
| 8× H100 (SXM5) | ~$24 | 2 giờ | ~$48 |
| 8× A100 (80GB) | ~$16 | 4 giờ | ~$64 |
| 8× H100 (PCIe) | ~$18 | 3 giờ | ~$54 |
Có thể thuê node từ Lambda Labs, CoreWeave, vast.ai hoặc RunPod.
Lệnh Huấn Luyện Chính #
# Huấn luyện tokenizer
python tokenize_dataset.py --dataset fineweb --vocab-size 32768
# Pretraining 8-GPU
torchrun --nproc_per_node=8 train_pretrain.py \
--config configs/pretrain_fineweb_120m.yaml
# Supervised finetuning
torchrun --nproc_per_node=8 train_sft.py \
--pretrain-checkpoint checkpoints/pretrain_final.pt \
--config configs/sft_smoltalk.yaml
# Khởi động inference server
python serve.py --checkpoint checkpoints/sft_final.pt --port 8000
Đối Tượng Sử Dụng #
- Dùng nanochat: Muốn hiểu LLM từ nguyên lý qua code; nhà nghiên cứu cần baseline có thể sửa đổi; muốn pretrain model domain riêng
- Dùng Ollama: Chỉ muốn chạy model sẵn có local → Ollama
Cần GPU compute để huấn luyện? Người dùng mới DigitalOcean nhận $200 credit miễn phí — đủ để chạy nhiều thí nghiệm huấn luyện nanochat đầy đủ. GPU Droplet theo nhu cầu, không cam kết dài hạn.
GitHub: karpathy/nanochat · 54.7k ⭐ · MIT
💬 Bình luận & Thảo luận