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