Андрей Карпати, создатель AI-стартапа Eureka Labs, анонсировал microGPT — уникальную полную версию обучения и инференса языковой модели GPT, состоящую всего из 243 строк Python. В проекте используются лишь стандартные модули: math, random, os и argparse.
microGPT включает все необходимые компоненты для функционирования модели, такие как собственный движок автоматического дифференцирования (аналог micrograd), токенизатор с BOS/EOS-токенами и архитектуру Transformer с механиком multi-head attention. Основные отличия от классического GPT-2 заключаются в использовании RMSNorm вместо LayerNorm и активации squared ReLU вместо GeLU, а также отсутствия bias-параметров.
По словам Карпати, этот проект является «арт-проектом», который демонстрирует весь алгоритмический контент для работы с GPT. Основная цель — показать, что весь механизм LLM можно уместить в небольшом объеме кода. Однако, проект не предназначен для практического использования из-за длительного времени обучения на CPU.
Крипкое отголосок предыдущих проектов Карпати, таких как micrograd и minGPT, microGPT фиксирует весь процесс численных вычислений на чистом Python, минуя зависимости от NumPy и PyTorch. На данный момент проект уже интересует пользователей GitHub.