karpathy/nanoGPT
Самый простой и быстрый репозиторий для обучения и тонкой настройки средних по размеру GPT-моделей.
Что это за инструмент
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.