nanochat: обучи GPT-2 уровня за $48 и 2 часа
Андрей Карпати выпустил nanochat — минималистичный фреймворк для обучения LLM с нуля. Аналог GPT-2 теперь стоит $48 вместо $43 000.
Главное за 30 секунд
Андрей Карпати опубликовал nanochat — открытый инструмент для обучения языковых моделей с нуля на одном GPU-узле. В 2019 году обучение GPT-2 на 32 чипах TPU v3 заняло 168 часов и обошлось примерно в $43 000. Сегодня nanochat достигает более высокого CORE-скора за 3 часа и ~$73 на одном узле из 8×H100 — это снижение стоимости примерно в 600 раз. На спотовых инстансах цена опускается до ~$15–48.
Что такое nanochat
nanochat — минималистичный и легко модифицируемый инструмент Карпати для сквозного обучения LLM на одном GPU-узле. Он охватывает токенизацию, предобучение (pretraining), дообучение с учителем (SFT), RL, оценку по метрике DCLM CORE и инференс с KV-кешем.
Кодовая база составляет около 8 000 строк: токенизатор написан на Rust, предобучение трансформера идёт на корпусе FineWeb, затем следует mid-training на диалоговых данных SmolTalk, SFT и опциональное обучение с подкреплением (GRPO) на GSM8K.
Один параметр вместо сотни
Ключевая идея nanochat — единственный «рычаг сложности»: параметр --depth (количество слоёв трансформера).
Один параметр --depth автоматически настраивает все остальные гиперпараметры: ширину модели, количество голов внимания, learning rate, горизонт обучения и weight decay — для compute-optimal обучения.
В nanochat глубина модели определяет число каналов трансформера (через константу «aspect ratio»), а следовательно — число параметров, FLOPs на токен и оптимизационные гиперпараметры. GPT-2-уровневая модель соответствует диапазону d24–d26.
# Запуск полного пайплайна обучения GPT-2 на 8×H100
bash runs/speedrun.sh
# Разговор с обученной моделью
python -m scripts.chat_cli
torchrun, обучение займёт в 8 раз дольше. Если VRAM меньше 80 ГБ, уменьшайте параметр --device-batch-size (с 32 до 16, 8, 4 или даже 1).Лидерборд: гонка за GPT-2
nanochat ведёт публичный лидерборд «GPT-2 speedrun» — соревнование по минимальному времени достижения CORE-скора выше оригинального GPT-2 (0.256525) на узле 8×H100.
| # | Время (ч) | CORE-скор | Описание | Дата |
|---|---|---|---|---|
| 0 | 168 | 0.2565 | Оригинальный GPT-2 (OpenAI) | 2019 |
| 1 | 3.04 | 0.2585 | d24 baseline, слегка переобучен | Янв 2026 |
| 2 | 2.91 | 0.2578 | d26 + FP8 | Фев 2026 |
| 3 | 2.76 | 0.2602 | batch size 1M токенов | Фев 2026 |
| 4 | 2.02 | 0.2571 | датасет NVIDIA ClimbMix | Мар 2026 |
| 5 | 1.80 | 0.2690 | autoresearch раунд 1 | Мар 2026 |
| 6 | 1.65 | 0.2626 | autoresearch раунд 2 | Мар 2026 |
За 7 лет стоимость обучения модели уровня GPT-2 снижается примерно в 2,5 раза ежегодно — это порядка 600-кратного суммарного снижения с 2019 года.
autoresearch: ИИ улучшает себя сам
В марте 2026 года Карпати выпустил autoresearch — систему, в которой ИИ-агенты запускают эксперименты по обучению на nanochat в автономном режиме, без участия человека. Он опубликовал самодостаточный минимальный репозиторий autoresearch, который сводит ядро обучения nanochat к реализации на одном GPU примерно в 630 строк кода.
Агент модифицирует код обучения, запускает 5-минутный прогон, проверяет, улучшился ли val loss, и итерирует дальше — всё это без участия человека. Именно autoresearch помог вывести лидерборд на записи #5 и #6.
Пайплайн от текста до чат-бота
graph LR
A[Сырой текст] --> B[Токенизация BPE]
B --> C[Pretraining\nFineWeb / ClimbMix]
C --> D[Mid-training\nSmolTalk диалоги]
D --> E[SFT / GRPO RL]
E --> F[Инференс CLI / Web UI]
Почему это важно для отрасли
Темп снижения стоимости составляет примерно 2,5× в год, нарастающим итогом за семь лет с 2019 года. Это означает, что барьер входа в полноценное обучение LLM стремительно падает.
Главный смысл — в доступности полного стека обучения для изучения: тренировочный прогон за $73 сегодня и за $12 через полтора года уже вписывается в экспериментальный бюджет любого инженера, который серьёзно относится к обучению.
Карпати анонсировал nanochat с девизом «лучший ChatGPT, который можно купить за $100»; к середине 2026 года проект набрал более 54 700 звёзд на GitHub.
Исходный код доступен по адресу github.com/karpathy/nanochat.