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