jaymody/picoGPT

Необоснованно компактная реализация GPT-2 на NumPy.

Чат-UI⭐ 3 473Python
Открыть на GitHub ↗

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

picoGPT — это минималистичная реализация модели GPT-2 на чистом NumPy, занимающая всего 40 строк кода для прямого прохода.

Зачем нужен

Инструмент предназначен для образовательных целей: он позволяет наглядно изучить внутреннее устройство и математику работы LLM без использования сложных фреймворков. Он полезен тем, кто хочет понять, как устроены трансформеры, но не готов разбираться в огромных кодовых базах вроде nanoGPT.

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

  • Изучение принципов работы архитектуры GPT-2 и механизма внимания
  • Анализ кода токенизатора BPE и загрузки весов модели
  • Быстрый прототипинг генерации текста на Python без зависимостей ML-фреймворков
  • Образовательные демонстрации работы нейросетей в реальном времени

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

  • Весь код прямого прохода (forward pass) умещается в 40 строк на NumPy
  • Отсутствие зависимостей от PyTorch или TensorFlow, только стандартная математика
  • Поддержка нескольких размеров моделей (124M, 355M, 774M, 1558M)
  • Встроенный загрузчик весов и токенизатора OpenAI GPT-2
  • Минимальная сложность кода для быстрого чтения и понимания

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

Релизы

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