
Привет, Хабр! Что, если я скажу, что большие языковые модели не просто предсказывают следующий токен в ответ на запрос, а уже на ранних этапах формирования ответа «заранее планируют» его характеристики?
Тайна скрытого слоя: что происходит внутри LLM?
Традиционно считалось, что большие языковые модели генерируют текст пошагово, предсказывая следующий слово токен. Однако исследование из Шанхайской ИИ-лаборатории «Emergent Response Planning in LLM» показало феномен «эмерджентного планирования»: скрытые слои модели (то есть внутренние активации, которые не видны пользователю) могут содержать информацию о глобальных атрибутах будущего ответа.
Исследователи использовали так называемые пробы (probes) — простые нейронные сети, которые обучались предсказывать глобальные характеристики будущего ответа, анализируя скрытые слои модели до начала генерации текста.

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

Почему это открытие имеет большое значение?
Повышение управляемости генерации текста: если мы можем «заглянуть» во внутренние слои модели и предсказать глобальные характеристики ее ответа, появляется возможность вмешиваться в процесс генерации. Например, можно заранее настроить модель так, чтобы она генерировала ответы определенной длины или с заданной структурой.
Повышение прозрачности поведения ИИ-агентов: одной из главных проблем больших языковых моделей является их «черный ящик». Возможность увидеть, какие именно атрибуты ответа планируются еще до его генерации, позволяет более прозрачно объяснять поведение ИИ-агентов, а также иметь возможность управлять их поведением.
Оптимизация вычислительных ресурсов и раннее выявление ошибок: если модель заранее формирует план ответа, можно разработать механизмы раннего обнаружения нежелательных выводов. Например, если внутреннее представление показывает низкую уверенность в ответе или предвзятость, можно на ранней стадии скорректировать дальнейшую генерацию, что также экономит вычислительные ресурсы.
Эмерджентное планирование можно охарактеризовать как способность ИИ-систем самостоятельно разрабатывать стратегии для достижения поставленных целей, выходя за рамки простого распознавания шаблонов. Наиболее ярким примером является AlphaGo от DeepMind. Эта модель не была запрограммирована на конкретные стратегии игры в го, а самостоятельно, играя миллионы партий против себя, разработала новые, ранее не рассматривавшиеся человеком тактики.
Так большие языковые модели не просто генерируют текст пошагово, а уже на этапе обработки запроса закладывают план своего ответа. Это открытие меняет наше понимание работы ИИ-систем, позволяя не только глубже вникнуть в его внутренние процессы, но и существенно улучшить управление и контроль за генерацией текста и поведением ИИ-агентов.
Если вам интересна тема ИИ, подписывайтесь на мой Telegram-канал — там я регулярно делюсь инсайтами по внедрению ИИ в бизнес, запуску ИИ-стартапов и объясняю, как работают все эти ИИ-чудеса.
Комментарии (11)
andre_dataist Автор
18.02.2025 11:08Минус в карму и к посту из-за "личной неприязни к автору" - это, конечно, "очень объективно".
ednersky
мне вот что интересно:
текст переводят в токены, а токены в вектора.
вектора придумывали, чтобы на их базе ваять смысловую алгебру (ту что на картинке к странице)
но потом когда огребли сложность со смыслами многозначных слов, вместо алгебры почти везде стала работать та самая нейросеть.
то есть получается
текст -> программа -> токены
токены -> нейросеть -> векторы
вопрос -> токены -> векторы вопроса -> нейросеть -> векторы ответа
векторы ответа -> немного алгебры и рандом -> векторы ответа штрих
векторы ответа штрих -> нейросеть -> ответ
И получается, алгебра сейчас используется там, где вполне может быть заменена на нейросеть (магию).
И в этом месте интересный вопрос (дилетанта): а нужны ли векторы?
Может ли магия работать напрямую с токенами, как числами? К чему нам алгебраическое понимание, что "вот эти два вектора близки по смыслу", если всё равно это почти не используется и может быть заменено на магию?
PS: вопрос, конечно, дилетантский. Ответ на него интересен именно чтоб понимать суть.
andre_dataist Автор
Векторы нужны, чтобы переводить дискретные токены в непрерывное пространство, где можно вычислять сходство и проводить "смысловую арифметику". Это облегчает обучение нейросети и помогает выявлять тонкие семантические связи, которые сложно реализовать напрямую с токенами.
Zindrome
Типа как например эээ сферические/эллиптические координаты драматически удобнее для задач расчета орбит, чем декартовы? (снова дилетантский вопрос)
andre_dataist Автор
Хорошая аналогия, если сильно упростить, то примерно так. Использование векторных представлений похоже на выбор удобной системы координат для орбит, но еще и обеспечивают непрерывное пространство. Тут работает не дискретная математика, а "аналоговая".
ednersky
Я понимаю, но я говорю следующее:
На практике от смысловой арифметики вынуждены были отказаться практически везде, кроме места введения вариативности ответа.
Соответственно если это место заменить на нейросеть, как мы уже де-факто заменили все остальные места, то нужен ли вектор?
andre_dataist Автор
Векторы остаются необходимы. Даже если явная смысловая арифметика уступила место работе нейросетей, сама архитектура нейросетей всегда требует перевода дискретных токенов в непрерывное пространство.
Это пространство позволяет нейросети эффективно обучаться с помощью дифференцируемых операций. В трансформерных архитектурах именно векторное представление позволяет вычислять внимания между токенами.
Arlekcangp
Рискну ответить как дилетант дилетанту: векторы в том числе экономят вычисления. Сложить или умножить два вектора, пусть и очень длинных сильно проще вычислительно, чем использовать полносвязный слой, где каждый нейрон связан с каждым. Поэтому в трансформере часть слоев - это блоки внимания. Там только линейные операции, причем часть операций - умножение векторов вместо умножения вектора на матрицк, как это было бы в полносвязной сети.
А вот более интересно, как влияет количество слоев. Ведь можно же сделать архитектуру плоской всего в два слоя, но увеличить количество "голов". Это по идеи улучшит работу с "многозначностью", а за одно и обучать такую структуру проще. Но так не делают. Значит промежуточные слои что-то дают. А что - не понятно. И вот сейчас еще и выясняется, что уже с первого слоя можно предсказать какой будет результат... Вопрос - зачем промежуточные слои?
ednersky
так не используется сложение векторов же
ответ вот вроде есть выше: в процессе обучения суммы и разности можно использовать как критерий для обучения, но, кажется, после обучения, тогда вектора должно быть можно всё равно выкинуть
хз, здесь надо полную блоксхему ИИ модели нарисовать/смотреть, а где её взять?
Arlekcangp
Сложение используется внутри самой сети. Т к это так называемая "residual" архитектура, то там результат каждого слоя складывается со входом. Таким образом сети дается возможность выключить влияние слоя вообще или ослабить его. Имеет ли здесь место именно "сложение смыслов" затрудняюсь сказать. Собственно у пеня и вопрос про слои отчасти поэтому возник. Кроме того в блоке внимания используется векторное умножение фактически с той же целью - определить взаимосвязь между токенами (читай векторами)