Сегодня я наткнулся на интересный код на Github - это проект microgpt, реализующий логику GPT-2 в 200 строках кода на python. Изучив его, вдохновился и решил написать этот пост.
LLM - это ИИ или не ИИ?#
Сегодня так много разговоров про ИИ, а LLM демонстрируют такие возможности, что, даже будучи разработчиком и математиком-программистом по образованию, я начинаю забывать суть и порой наделяю их человеческими способностями, а в диалогах с ними ожидаю чуда, на которое модели не способны.
Поэтому стоит напомнить себе, что LLM - это большая языковая модель, а не интеллект в привычном для нас понимании (к единой дефиниции которого мы, кажется, всё ещё не пришли, но важно не это).
Устройство LLM#
По сути своей LLM - большая матрица из чисел и алгоритм (обучения и генерации), который:
- в процессе обучения эти числа подбирает
- а в процессе генерации использует
Числа в матрице подбираются таким образом, чтобы в процессе генерации модель могла выдавать результат, который мы от неё ожидаем.
И сделать это она может не потому, что понимает (в человеческой интерпретации) смысл, а потому что числа в матрице отражаются статистические закономерности тех текстов, на которых модель обучалась. То есть, она просто запоминает зависимости и выдаёт результаты на их основе.
Проект MicroGPT - GPT в миниатюре#
Для того, чтобы минималистично продемонстрировать суть внутреннего устройства GPT, один из со-авторов GPT-2 - Andrej Karpathy, написал максимально простой код на python, иллюстрирующий принципы работы GPT и позволяющий обучить простой трансформер на базе из 32000 реальных имён, чтобы на выходе получить от модели новые имена.
Так родился проект microgpt[1]. Опубликованный менее суток назад как Gist, он уже имеет 4400 звёзд на Github. Уверен, цифра быстро наберёт десятки тысяч, а код будет перенесён на другие языки и разойдётся по разным устройствам, для которых реальные LLM были неподъёмны ни по производительности, ни по затратам памяти.
Способ объяснить сложное#
Я очень люблю подобные проекты, потому что они позволяют на простом примере разобраться во внутреннем устройстве сложных систем, видя их в миниатюре и более того - позволяя с ними поиграть путём перенастройки параметров и доработки алгоритмов.
Понятно, что даже описанная мной ранее GPT-4o является намного более сложной моделью и использует оптимизированные алгоритмы, позволяющие работать с миллиардами чисел в практически реальнои времени. Но её суть остаётся очень близкой к приведённым 200 строкам кода на python.
Важные выводы#
Взглянув на код и пояснения к нему, становится явно видно, что никакой магии в GPT нет, и это чистая математика. При этом она во многом отражает суть работы человеческой памяти, поскольку в основе лежат математические модели нейронов, синапсов и сигналов.
1. LLM и творчество#
И даже то, что мы называем творчеством, модель, как будто бы, может воспроизвести через параметр temperature, который не очень интуитивно-понятно назван, но отражает степень случайности, которая в процессе генерации результата вносится в закономерности, выученные моделью по исходным данным.
2. Галлюцинации - это норма#
Но на этом возможности моделей заканчиваются, т.к. отделить фантазию от реальности они не могут. Для них и то, и то - факт, подчиняющийся статистическим закономерностям. А значит - имеющий право на жизнь. Поэтому то, что для нас галлюцинации LLM, для самой LLM - обычный результат работы и попробуй объясни ей, что это ошибка.
3. Более простые модели и методы#
Потому во многих ситуациях, чтобы избежать подобных проблем, стоит использовать более простые и предсказуемые методы и модели. Которые ещё и ресурсов жрут кратно меньше.
4. GPT, как и в целом LLM, подходят не для всего#
Например, задачи классификации мне приходилось решать гораздо более легковесными и быстрыми моделями - типа CNN, RNN, LSTM. А это значит, что они и намного дешевле, и ресурсов таких не требуют.
5. Детерминированные алгоритмы - быстро, точно, объяснимо#
Кстати, одной из инженерных сложностей использования LLM является сложная интерпретируемость полученных результатов. Возможно, этот проект для кого-то раскроет внутреннюю суть работы LLM и GPT в частности, но радикально эту проблему, конечно, не решит.
Поэтому для задач с низким числом параметров или линейной разделимостью пространства решений могут подойти и детерминированные алгоритмы, которые будут отрабатывать мгновенно, чётко, объяснимо и с минимальными затратами памяти.
LLM в бизнесе#
Завершить хочется мыслью, что использовать везде LLM - это как гвозди микроскопом забивать - неудобно, дорого и неэффективно.
Но наблюдать за тем, как бизнесы видят в этом магию и пытаются решить таким образом все задачи - приходится постоянно.
Возможно, это как раз те самые 67% из обзора на PWC CEO Survey 2026, которые пока не получили от ИИ желаемого эффекта.
Источники#
[1] - Страница проекта microgpt на сайте автора Andrej Karpathy
Авторы
Юрий Абдуллин @yury_eaCCO/CTO, IT-предприниматель, ментор IT-стартапов.
25 лет в разработке информационных систем (обо мне)
Открыты к новым проектам
Выполняем профессиональную разработку информационных систем, сервисов и платформ:
- дорабатываем MVP до полноценных систем
- проектириуем и внедряем ИИ-агентов
- проводим аудит кода и процессов
- обеспечиваем качественный QA и DevOps
