Андрей Карпаты реализовал полноценную модель GPT всего на 243 строках Python

GPT за 243 строки кода: Магия нейросетей на чистом Python

Забудьте о громоздких библиотеках вроде PyTorch или TensorFlow. Никаких скрытых зависимостей и бесконечных списков в requirements.txt. Перед нами — квинтэссенция искусственного интеллекта: только чистый Python и фундаментальная математика.

Андрей Карпаты реализовал полноценную модель GPT всего на 243 строках Python

Многие исследователи в области AI годами продираются сквозь тысячи файлов сложнейших кодовых баз. Но в феврале 2026 года Андрей Карпаты представил нечто особенное — microGPT. Это один-единственный файл на 243 строки, который обучает и запускает языковую модель с нуля. Из импортов здесь только стандартные модули os, math, random и argparse. Карпаты назвал это «арт-проектом», но на деле это, пожалуй, лучший учебник по архитектуре трансформеров из когда-либо созданных.

В чем суть проекта?

Прежде чем углубляться в алгоритмы, разберемся с задачей. microGPT анализирует список имен и учится выявлять в них скрытые закономерности. В итоге модель генерирует новые, несуществующие, но абсолютно естественные имена. Это тот же принцип, по которому работает ChatGPT, только в миниатюре: вместо терабайтов интернет-текстов — текстовый файл с именами, но математика внутри идентична GPT-4.

Анатомия кода: разбираем по частям

1. Токенизатор: Перевод с человеческого на цифровой

Машины оперируют числами, а не буквами. Первый шаг — сопоставить каждому символу уникальный индекс. Буква «а» превращается в 2, «б» — в 3 и так далее. Особое внимание уделяется служебным токенам <BOS> (начало последовательности) и <EOS> (конец). В microGPT это реализовано через простые словари stoi (строка в число) и itos (число в строку). Это упрощенная версия алгоритма BPE, используемого в больших моделях.

2. Движок Autograd: Механизм обучения

Карпаты реализовал собственную версию автоматического дифференцирования (как в PyTorch) всего в 40 строках кода. Класс Value оборачивает каждое число и отслеживает:

  • data: текущее значение;
  • grad: влияние конкретного числа на итоговую ошибку;
  • _backward: алгоритм вычисления градиента;
  • _prev: историю операций для построения графа.

Когда модель ошибается, вызывается метод .backward(), и ошибка буквально «стекает» обратно по графу вычислений, подсказывая весам, как им измениться.

3. Параметры модели: Память системы

Интеллект нейросети скрыт в весах — наборе чисел, которые изначально случайны, но в процессе обучения обретают смысл. В microGPT используются:

  • wte (Token Embeddings): превращает символ в 16-мерный вектор, наделяя его «смысловым контекстом».
  • wpe (Position Embeddings): сообщает модели позицию символа в слове (буква «а» в начале и в конце слова имеет разную значимость).

4. Механизм внимания: Сердце архитектуры

В функции gpt() реализован тот самый Self-Attention из статьи «Attention is All You Need». Для каждого токена вычисляются три вектора:

  1. Query (Запрос): что я ищу?
  2. Key (Ключ): что я содержу?
  3. Value (Значение): какую информацию я передаю?

Модель сравнивает Запрос текущего символа с Ключами предыдущих, определяя их важность через softmax. Так формируется контекст, позволяющий предсказать следующую букву на основе всей цепочки.

5. Цикл обучения и генерации

Процесс итеративен: берем имя, превращаем в токены, заставляем модель предсказывать следующий символ и наказываем за ошибки через функцию потерь. Оптимизатор Adam корректирует веса, используя накопленный импульс. После обучения наступает этап инференса: мы подаем токен начала строки, а модель, шаг за шагом, достраивает новое имя, основываясь на вероятностях.


Иногда для решения практических задач не нужно писать код с нуля — достаточно использовать мощь уже обученных гигантов. Сервис BotHub предоставляет удобный доступ к передовым нейросетям для разработки, анализа данных и оптимизации рабочих процессов. Платформа работает без VPN и поддерживает оплату российскими картами.

Интерфейс BotHub

Переходите по ссылке, чтобы получить 300 000 бесплатных токенов и протестировать возможности современных LLM в своих проектах уже сегодня!


Почему это важно для индустрии?

Весь мировой бюджет ИИ, исчисляемый миллиардами долларов, и гигантские дата-центры работают на алгоритме, который можно уместить в текстовый файл размером меньше, чем инструкция к микроволновке. Карпаты доказал: сложность современных нейросетей — это вопрос масштабирования и оптимизации, но сама суть интеллекта удивительно лаконична.

 

Источник

Читайте также