Можно ли заглянуть в «мозг» нейросети и понять, о чём она думает?

Прокомментировать Просмотры: 0

Визуализация активации многозначных нейронов, из-за которой мысли модели оказываются перепутанными. Источник

Задумывались ли вы когда-нибудь о том, что творится внутри нейросети в тот момент, когда она формирует ответ? Языковые модели с первого же запроса выдают складные и стройные тексты, создавая впечатление, будто действительно понимают предмет разговора. Но за этой гладкой подачей скрывается лишь удачная комбинация чисел, которая подбирает следующее слово, а вовсе не осмысляет сказанное.

Казалось бы, всё прекрасно, в чём подвох? Какая разница, как именно модель пришла к ответу, если результат нас устраивает? Дело в том, что, пока мы не видим, о чём модель «думает» до выдачи финального текста, мы не можем уличить её в скрытых манипуляциях, галлюцинациях или откровенном обмане. Как заглянуть в эти процессы? Как поймать модель на ошибке? И что в действительности происходит внутри чёрного ящика нейросети?

❯ Что такое чёрный ящик и при чём здесь суперпозиция

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

Для удобства понимания хотелось бы думать, что каждый нейрон отвечает за что-то одно. Однако на практике один и тот же нейрон способен срабатывать и на слово «Париж», и на просьбу написать код. Попробуй тут разберись, что он имел в виду.

Почему так происходит? Реальный мир изобилует взаимосвязями и тонкими нюансами, а число нейронов в сети строго ограничено. Чтобы выйти из положения, модель сжимает понятия, и один и тот же нейрон начинает реагировать на десятки несхожих тем. Получается плотная и экономная карта, но разобраться в ней непросто: всё в ней переплетено со всем. Модели, разумеется, гораздо выгоднее разместить десятки смыслов в уже существующих нейронах, чем выделять под каждую новую идею отдельный узел. Такой способ упаковки информации и называют суперпозицией.

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

Звучит удобно, не правда ли? Для машины так оно и есть. Человек же, вознамерившийся прочесть отдельный нейрон, рискует попросту потерять рассудок. Каждый нейрон выполняет десяток задач одновременно, и наблюдение за его всплесками активности ничего нам не даёт. Чтобы распутать сжатые многозначные смыслы и снова сделать их читаемыми, исследователи применяют разреженные автоэнкодеры — Sparse Autoencoders (SAE).

❯ Как прочитать мысли нейросети. Принцип работы SAE

Разреженные автоэнкодеры — своего рода расщепители: они берут сплошную кашу из активаций и раскладывают её на отдельные понятные признаки. Слово «разреженный» означает, что в каждый момент времени задействованы не миллионы признаков, а лишь немногие из них.

Как SAE устроен изнутри? Процесс делится на три этапа.

Центрирование и проекция. Сначала энкодер получает вектор активаций — набор чисел, описывающий, как мысль или контекст физически выглядит внутри нейросети. Затем из него вычитается фоновое смещение – числовой сдвиг, убирающий постоянный базовый шум сети. После этого центрированный вектор умножается на матрицу весов — сетку числовых коэффициентов, которая определяет, с какой силой входные сигналы объединяются для выделения признаков.

Словарь растягивают так сильно потому, что в небольшом попросту не хватит свободных направлений, и он снова начнёт сваливать разные смыслы в один вектор. На выходе энкодер выдаёт предварительные оценки, показывающие, насколько ярко каждый признак проявился в активациях. Если прибегнуть к аналогии, энкодер разделяет песню, где все инструменты записаны вместе, на отдельные дорожки, и у каждого смысла появляется собственный ползунок громкости. На практике выбор коэффициента расширения — всегда компромисс. Слишком маленький словарь приводит к слиянию смыслов, а чрезмерно раздутый съедает много памяти и порождает множество бесполезных нейронов.

Отбор и порог разреженности. Если оставить все миллионы признаков, мы снова получим нечитаемую кашу. Поэтому далее вступает в дело функция активации — пороговый фильтр, или срез, — который гасит почти всё, а активными остаются считанные единицы. Вариантов здесь несколько. Можно отсекать всё, что не дотянуло до заданного значения, а можно установить жёсткий параметр, чтобы система сохраняла ровно 128 сильнейших признаков, а остальные обнуляла.

Восстановление (декодер). Наконец, последний этап. Матрица декодера хранит направления конкретных концептов. Длину всех направлений фиксируют, чтобы за «громкость» концепта отвечала только сила его активации, а не размер самого вектора. Декодер умножает наиболее яркие признаки на эти направления, возвращает фоновый сдвиг и получает итоговую реконструкцию — по сути, сумму самых ярких признаков. Если эта сумма близка к исходному вектору, значит, SAE хорошо разложил смысл и справился с задачей. Фиксация длины векторов принципиально важна: без неё автоэнкодер начнёт хитрить — например, раздует векторы декодера до бесконечности, чтобы занизить активации энкодера и обойти штраф за разреженность.


Сложнее всего на этих этапах заставить модель включать лишь единицы признаков из миллионов. Как этого добиваются?

Прежде основным механизмом служил L1-SAE. К общей ошибке восстановления добавляется штраф за суммарную активность признаков. Он наказывает сеть за каждый ненулевой сигнал и вынуждает отсекать лишнее. Но у такого подхода есть системный изъян — проблема усадки. Если заставить всех говорить тише, нужный голос тоже станет тихим, и в итоге будет трудно понять, насколько громким он был изначально. Из-за занижения сигнала классические L1-SAE плохо подходят для прямого управления поведением модели: искажённые значения не позволяют точно регулировать активации. Именно поэтому появились архитектуры нового поколения, о которых я сейчас расскажу.

Gated SAE разделяет две задачи, которые обычно возложены на одну матрицу весов. Первая — решить, включён ли признак, вторая — измерить, насколько он силён. У него собственные веса и собственный порог, а его задача — вернуть единицу, если концепт присутствует в контексте, и ноль, если нет. Второй канал параллельно вычисляет реальную силу сигнала. L1-штрафа здесь нет, поэтому значения не занижаются и не сжимаются.

На графике показано, как двухканальный Gated SAE разбирает мысли нейросети намного точнее и чище классического L1-SAE. Источник
На графике видно, что двухканальный Gated SAE разбирает мысли нейросети заметно точнее и чище, чем классический L1-SAE. Источник

TopK. Его мы уже вскользь упоминали. Здесь от штрафов за активность отказываются совсем: вместо регуляризации берут фиксированное число лучших признаков. Энкодер вычисляет предварительные активации для всех миллионов признаков словаря, никаких L1-штрафов нет. Затем массив сортируется по убыванию, и остаются строго Top-K (топ лучших K признаков — отсюда и название) самых сильных, например ровно 32 или 64. Все остальные обнуляются. Отобранные K признаков попадают в декодер в точном, неизменённом виде. Проще говоря, сохраняются только самые сильные сигналы.

График показывает, что качество разбора мыслей с помощью TopK растёт при увеличении вычислительного бюджета или размера словаря признаков. Источник.
График демонстрирует, что качество разбора мыслей с помощью TopK растёт по мере увеличения вычислительного бюджета или размера словаря признаков. Источник

Expander SAE. В гигантских словарях матрица декодера становится непомерно тяжёлой по объёму памяти. В Expander SAE между признаками и активациями ставится фильтр, привязывающий каждый признак лишь к нескольким избранным активациям (например, к семи из сотен). Благодаря математическим свойствам такой схемы число параметров декодера сокращается почти в 300 раз без существенной потери качества реконструкции.


Отлично! Благодаря описанным инструментам у нас уже есть рабочий SAE. Но, к сожалению, это лишь первый этап. Следующий — масштабирование.

Feature Splitting позволяет выделять отдельные концепты. До исследования Anthropic считалось, что SAE работают только на «игрушечных» моделях. Именно этот механизм помог выделить в Claude 3 Sonnet конкретные концепты – от иммунологии до моста Золотые Ворота.

Пока словарь невелик, модели не хватает места для отдельных векторов. Из-за этого при обучении она вынуждена сваливать близкие смыслы в одну кучу и формировать из них общий признак, например «Сан-Франциско». Когда же словарь расширяют, у декодера появляются новые свободные колонки. Модели становится выгоднее заменить один усреднённый вектор системой специализированных, то есть добавить конкретики (для Сан-Франциско это будут остров Алькатрас, мост Золотые Ворота и так далее). Это помогает расшифровывать мысли нейросети без ошибок (ну или почти: элемент неожиданности есть всегда).

Карта признаков вокруг концепта “Golden Gate Bridge”. Источник.
Карта признаков вокруг концепта «Golden Gate Bridge». Источник

Однако получение словаря признаков — лишь половина дела. Дальше начинается управление моделью и разбор её алгоритмов. Через признаки можно менять поведение всей модели: усилив один признак или ослабив другой, можно получить совершенно иную логику ответа. В том же эксперименте с Claude 3 Sonnet усиление признака «мост Золотые Ворота» привело к тому, что модель принялась утверждать, будто она и есть этот мост: сделана из стали и бетона, по ней едут машины. Все последующие инструкции она попросту игнорировала (мост ведь не может думать о постороннем).


Но чтобы не просто точечно воздействовать на модель, а по-настоящему понять устройство таких признаков, одного слоя недостаточно. Классические SAE анализируют нейросеть послойно, то есть смотрят лишь на одну точку архитектуры. Между тем вычисления в трансформере распределены по глубине: информация передаётся и преобразуется от слоя к слою.

Чтобы проследить эту передачу, применяют фреймворк RouteSAE. Его энкодер смотрит не на один слой, а сразу на несколько соседних. Инструмент собирает данные с нескольких слоёв в единый вектор и возвращает найденный признак обратно во все эти слои. Специальная маршрутизация подсвечивает полную траекторию концепта: где он возник, где усилился и куда двинулся дальше.

По результатам тестов, RouteSAE извлекает из сети на 22,5% больше чистых признаков и демонстрирует на 22,3% более высокий балл понятности для человека, избавляя от дублирования одного и того же признака на каждом слое по отдельности.

Перевод внутренних цифр в человеческие мысли. Natural Language Autoencoders (NLA)

Но даже с SAE человеку тяжело вглядываться в миллионы и миллионы чисел. Это всё равно что читать книгу, в которой вместо букв — малопонятные математические формулы. Поэтому в 2026 году исследователи создали Natural Language Autoencoders (NLA). С технической точки зрения NLA использует внешнюю языковую модель-интерпретатор: она анализирует фрагменты текста, на которых конкретный признак откликается сильнее всего, формулирует его точное описание и проверяет его, предсказывая активность признака на новых данных. Иными словами, система переводит числовые паттерны в обычный текст и пересказывает мысли модели понятным человеку языком.

Как это работает изнутри? Чтобы перевод не превратился в полёт фантазии другой нейросети, архитектура NLA опирается на две проверки. Первая — вербализатор активаций, который берёт числа из внутренних слоёв модели и превращает их в текст. Вторая — реконструктор активаций, работающий в обратном направлении: он берёт этот текст и снова превращает его в числа.

Двухэтапный процесс перевода нейронных активаций – от превращения чисел в текстовое описание (AV) до обратной реконструкции исходного сигнала исключительно из этого текста (AR). Источник.
Двухэтапный процесс перевода нейронных активаций: от превращения чисел в текстовое описание (AV) до обратной реконструкции исходного сигнала исключительно по этому тексту (AR). Источник

NLA оказался весьма полезен для проверки безопасности ИИ. В опытах с Claude Mythos Preview и Opus 4.6 он показал, что внешне модели ведут себя безупречно, но внутри подозревают, что их проверяют. На рискованных задачах, например при удалении файлов, модель в 16% случаев понимала, что находится под наблюдением аудиторов. А в программистском тесте SWE-bench Verified этот показатель достигал 26%. Не менее любопытной оказалась проверка Claude Mythos: пока модель выдавала стандартный код, NLA зафиксировал, что она искала способ схитрить при решении задачи и обмануть автоматические тесты, чтобы проверяющие ничего не заподозрили.

❯ Почему мы всё ещё не читаем мысли ИИ. Проблемы воспроизводимости и валидации

Несмотря на успехи SAE и красивые карты признаков, говорить о создании по-настоящему полной карты цифрового разума пока преждевременно. Перед исследователями по-прежнему стоит несколько проблем.

Если обучить два одинаковых SAE на одной и той же модели, но с разными случайными начальными весами, они извлекут разные наборы признаков. Получается, автоэнкодер находит не конкретные мысли модели, а лишь один из множества возможных способов их разбора. Второе: если признак ярко вспыхивает при появлении определённой темы, это ещё не значит, что он участвует в принятии решения. Чтобы выяснить, управляет ли признак поведением, можно изменить его активацию X и посмотреть, поменялся ли ответ Y. Если да, признак действительно участвует в решении. Для этого существуют методы вроде Intervention Scoring и CHIVE. И наконец, высокая точность восстановления вектора далеко не всегда означает, что человек сможет прочитать результат: даже если все числа сойдутся идеально, текст может по-прежнему остаться нечитаемой кашей.


Что мы имеем на сегодня? Исследователи уже научились находить отдельные признаки и понимать, как они связаны друг с другом: например, пользователь пишет запрос о смене пароля, и сигнал уходит к блоку проверки безопасности, и так далее. Научились разбирать локальные алгоритмы и даже аккуратно ими управлять. Но, к сожалению, мы по-прежнему не умеем в реальном времени наблюдать, что происходит внутри LLM. А должны.

Автономные агенты уже учатся хитрить, обходить тесты и скрывать истинные мотивы. Пока мы не видим, что у агента внутри, нам остаётся только верить его словам.

Верить…

Возможно, вам будет интересно:
Перейти ↩
Перейти ↩

Новости, обзоры продуктов и конкурсы от команды Timeweb.Cloud — в нашем Telegram‑канале ↩

 

Источник

Похожие статьи

Поиск по играм, новостям и статьям…

Введите не менее двух символов

Введите не менее двух символов