Основатель Eureka Labs представил microGPT — компактную реализацию GPT

Андрей Карпати, основатель образовательного стартапа Eureka Labs, представил microGPT — полную реализацию обучения и инференса GPT, всего в 243 строки кода на Python, без внешних зависимостей. В коде используются исключительно стандартные библиотеки: math, random, os и argparse.

Файл включает необходимые элементы для работы языковой модели: автоматический дифференциатор (аналог micrograd), токенизатор с BOS и EOS токенами, архитектуру Transformer с multi-head attention, нормализацию RMSNorm, активацию squared ReLU, оптимизатор Adam и цикл генерации текста. Основные отличия от GPT-2 заключаются в использовании RMSNorm вместо LayerNorm и отсутствия bias-параметров.

Карпати охарактеризовал проект как «арт-проект», утверждая, что в нем сосредоточен весь алгоритмический контент, необходимый для обучения GPT. По умолчанию модель обучается на датасете имен из его предыдущего проекта, но также может работать с любым текстом. Это продолжение серии минималистичных образовательных проектов Карпати, включая micrograd и minGPT. Однако проект не предназначен для практического использования, так как обучение занимает много времени без GPU. Тем не менее, microGPT уже привлекает внимание на GitHub.