Я наконец начал понимать, как нейронка собирает ответ. Пока очень упрощённо, но меня всё равно немного вынесло.

Кажется, AI-native подход к работе у меня постепенно разросся до какой-то AI-native жизни. Нейронки уже меняют и мою работу, и сам способ, которым я изучаю базовые вещи и собираю картину мира. Я очень люблю читать и всегда много читал. Но скорость, с которой у меня формируется новый навык, почти всегда зависела от автора. Мне нужно, чтобы сложную тему объясняли достаточно просто, но подробно, через образы, сравнения и аналогии. При этом должна оставаться возможность в любой момент провалиться глубже в математику или механику, если мне это сейчас нужно. Найти автора, который совпадает с твоим способом восприятия, всегда было отдельной удачей, в теперь я могу собрать такого автора почти под любой вопрос. Если чего-то не понимаю, первым делом открываю Claude Code, включаю eli5 и иду разбираться. Сейчас я продолжаю довольно глубоко закапываться в нейронки, потому что хочу понимать, по какому принципу они принимают решения и откуда вообще берётся ответ, который я вижу на экране.

Дальше будет немного душной фигни. Можно спокойно пропустить и перейти к абзацу "И вот здесь меня осенило") Возьмём фразу "Кошка сидит на столе". Сначала токенизатор разбивает её на токены. Один токен может быть целым словом, частью слова, знаком препинания или даже пробелом. Конкретное разбиение зависит от токенизатора. У каждого токена есть числовой ID, а по этому ID модель достаёт из таблицы длинный набор чисел, то есть вектор. Дальше эти векторы много раз преобразуются внутри слоёв модели. В каждом слое есть attention, внутренние преобразования и ещё несколько механизмов вроде нормализации, которые пока оставим за скобками. Если совсем по-человечески, attention каждый раз определяет, информация из каких предыдущих токенов сейчас особенно полезна. Например, при обработке нашей фразы модели может быть важно связать "кошка" с "сидит", а "сидит" со "столе". Эти связи рассчитываются заново для каждого конкретного текста. Те самые миллиарды и триллионы параметров модели представляют собой обученные числовые веса внутри всех её матриц. Они участвуют в представлении токенов, работе attention, внутренних преобразованиях и определяют, как информация будет меняться и передаваться между слоями. В конце модель получает логиты. Это сырые числовые оценки для каждого возможного следующего токена. Из них собирается распределение вероятностей, выбирается следующий токен, добавляется к исходному тексту, и весь цикл повторяется. Так ответ постепенно собирается токен за токеном.

И вот здесь меня осенило. Когда я пишу модели "не используй англицизмы и двойные кавычки", для неё эта просьба тоже является последовательностью токенов. Она меняет внутренние векторы, работу attention и итоговые логиты. Одни продолжения становятся менее вероятными, другие более вероятными. Из-за этого общая логика ответа может сохраниться, а стиль меняется. Человеческая просьба на входе превращается в длинную цепочку математических преобразований, которая в итоге сдвигает вероятность появления каждого следующего токена. И всё это каким-то образом складывается в нормальный связный текст.

Я понимаю, что это очень упрощённая картинка и в математике мне ещё копать и копать. Но для меня устройство нейронки постепенно переходит из чистой магии в магию, внутри которой уже начинают проступать какие-то шестерёнки. И вот в этом для меня сейчас заключается AI-native жизнь. Почти любой новый вопрос можно сразу открыть на нужной мне глубине и в удобном для меня формате. Я могу перебивать объяснение, просить другой образ, уходить в формулы и возвращаться обратно. Любопытство почти сразу превращается в действие. В общем, продолжаю закапываться в нейронки. Пока чувствую себя на уровне человека, который впервые увидел устройство фокуса и теперь ходит всем рассказывает, что там внутри есть зеркало. Но ощущение "вау, я наконец понял следующий слой" очень настоящее, поэтому решил поделиться)