karpathy/nanoGPT

Самый простой и быстрый репозиторий для обучения и тонкой настройки средних по размеру GPT-моделей.

Чат-UI⭐ 63 274Python
Открыть на GitHub ↗

Что это за инструмент

nanoGPT — это минималистичный и быстрый репозиторий для обучения и дообучения (finetuning) моделей GPT среднего размера, написанный на чистом PyTorch.

Зачем нужен

Инструмент позволяет воспроизвести архитектуру GPT-2 с нуля или загрузить предобученные веса OpenAI для дальнейшей настройки. Он полезен тем, кто хочет понять внутреннюю работу трансформеров через простой код (~300 строк в основных файлах) и быстро экспериментировать с гиперпараметрами без сложного boilerplate.

Что можно реализовать

  • Обучение модели с нуля на небольших датасетах (например, тексты Шекспира) для тестирования инфраструктуры.
  • Дообучение (finetuning) предобученных чекпоинтов GPT-2 (до 1.3B) под специфические задачи.
  • Образовательные цели: изучение архитектуры Transformer и процесса обучения LLM через читаемый код.
  • Быстрый прототипинг новых идей в области генеративных моделей на базе PyTorch.

Ключевые возможности

  • Минимальный код: основной цикл обучения и определение модели занимают около 300 строк каждый.
  • Поддержка оптимизации через PyTorch 2.0 compile для ускорения обучения.
  • Готовые конфиги для разных устройств: GPU (A100), CPU и Apple Silicon (MPS).
  • Возможность загрузки предобученных весов GPT-2 из Hugging Face transformers.
  • Интеграция с wandb для логирования метрик и tqdm для прогресс-баров.

👤 Кому подойдёт: Исследователи, студенты и разработчики, изучающие архитектуру LLM, а также инженеры, которым нужен простой и прозрачный базис для экспериментов с обучением моделей на PyTorch.

Релизы

Релизы ещё не отслежены — появятся после ближайшего опроса.