microGPT 3D
У ChatGPT около триллиона параметров, и работает он в датацентре. Модель из этого туториала — машина того же вида: настоящий GPT, с настоящим вниманием (attention), настоящими градиентами, настоящим обучением — только ужатый до ~150 строк обычного Python и работающий прямо в этой вкладке браузера. Он настолько мал, что ничего не приходится пропускать, замазывать руками или принимать на веру: каждое число, которое ты увидишь в 3D-сценах, честно вычислено, и к последнему уроку ты своими глазами увидишь, как каждая строка исходного кода делает свою работу.
Это интерактивный, браузерный, 3D-визуальный туториал по microGPT Андрея Карпатого (~150 строк) — полноценному decoder-only трансформеру, написанному на чистом Python без единой библиотеки.
Четыре примитива выше — TokenCubes, NodeBlocks, ConnectorArrows и MatrixGrid — это весь визуальный словарь, на котором говорит каждый урок. Модель достаточно мала, чтобы целиком работать у тебя в браузере: порт на TypeScript несёт с собой ~89 КБ обученных весов и вычисляет каждый логит, который ты видишь в 3D-сценах, вживую, без всякого бэкенда.
Что внутри
Каждый урок устроен одинаково: короткая теория, аннотированный кусок Python, о котором она рассказывает, и интерактивная 3D-песочница, которую можно потыкать. Песочницы подстраиваются под тему оформления (тёплая светлая / кибер-тёмная) и умеют ставиться на паузу и перематываться по таймлайну.
- 01 · Обзор — весь цикл за тридцать секунд: на входе символы, на выходе вероятность для каждого возможного следующего символа. Прямой проход, потери и сэмплирование — три режима, которыми ты управляешь.
- 02 · Автоград — 25-строчный класс Value Карпатого в
виде вращающегося DAG. Набери любое выражение, потаскай переменные, запусти
импульсы вперёд и назад. Вот так и работает
.backward(). - 03 · Внимание — одна голова, один запрос:
q·kᵀ/√d→ причинная маска → софтмакс → взвешенные значения. Кликни по ячейке со счётом — увидишь её скалярное произведение. - 04 · Блок трансформера — сама функция
gpt(): эмбеддинг → RMSNorm → внимание → остаточная связь → MLP → остаточная связь → логиты. Кликни любой модуль — увидишь формы его входа/выхода и точную строку Python. - 05 · Обучение и генерация — весь остаток файла: посмотри, как имя генерируется символ за символом с живым слайдером температуры, и увидь один настоящий расчёт градиента и обновления Adam (прямой проход → потери → обратный проход → оптимизатор).
Как это читать
Разумный путь — подряд 01 → 05, но каждый урок самодостаточен:
- Только входишь в ИИ или никогда не трогал линейную алгебру и матанализ? Начни с 00 · Основы — пять идей, из которых построено всё остальное, простым языком. И держи открытым в соседней вкладке Глоссарий.
- Впервые слышишь про трансформеры? Начни с 01 ради взгляда с высоты птичьего полёта, затем 04, чтобы увидеть прямой проход, собранный от начала до конца.
- Хочешь математику внимания? Прыгай в 03.
- Всегда было интересно, как на самом деле работает
.backward()? 02 — кратчайший путь, а 05 показывает, как тот же градиент крутит настоящий расчёт обновления Adam. - Любопытно, как модель учится, а потом лепечет совершенно новые имена? 05.
За пределами V1
Код, Blender-скрипты, которыми сгенерирован каждый .glb, и планы реализации
живут в репозитории .
В README есть инструкция для разработчиков. Пять уроков покрывают полный
алгоритм обучения, прямого прохода и генерации; дальнейшая работа
(многослойные конфигурации, обучение прямо в браузере) отслеживается в
спецификации.
