LINUX.ORG.RU
СтатьиРазработка (не подтверждено)

LLM: от предсказателя слов к подобию рефлексии

 glm, , ,


0

1

В этой статье я хочу познакомить читателя с актуальным состоянием разработок в сфере LLM. Статья носит обзорный и концептуальный характер.

Стохастический попугай… или нет?

Концепция, что LLM является «просто предсказателем слова» и «попугаем» довольно распространена в среде неспециалистов, и особенно популярна как аргумент среди скептиков ИИ. Хотя этот взгляд на ИИ определенно отражает действительность, он вместе с тем — не полон.

Точно так же мы можем сказать, что «живая клетка» - это просто «совокупность молекул в неравновесном термодинамическом состоянии», или что «компьютер просто перекладывает байты». Что мы упускаем из виду при таком способе рассмотрения? Упускаем структуру. Между «совокупностью молекул» и «клеткой» лежит мета-системный переход (на самом деле, несколько таких переходов), наличие которого определяет свойства наблюдаемого объекта.

Так же и свойства смартфона у вас в руке не определяются только лишь тем, из чего он сделан, и сколько ватт рассеивает в атмосферу.

Аналогично мы упускаем существенную часть содержания, когда говорим о LLM в понятиях простого предсказателя слов.

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


Механистическая интерпретируемость: Реверс-инжиниринг «черного ящика»

Нейросети обычно сравнивают с «черными ящиками»: мы знаем, какие данные входят, и видим результат на выходе, но процессы внутри остаются загадкой. Традиционные методы оценки ИИ похожи на QA-тестирование: мы проверяем поведение — даем разные промпты и смотрим, не сломается ли модель.

Механистическая интерпретируемость (Mechanistic Interpretability) — это попытка перейти от тестирования поведения к отладке кода. Идея заключается в том, что нейросети в процессе обучения самостоятельно формируют «схемы» (circuits) — аналог подпрограмм в коде или логических вентилей в процессоре. Эти схемы состоят из групп нейронов и весов, которые выполняют конкретные микрозадачи (например, «найти глагол в предложении» или «определить, что контекст — это код Python»).

Несмотря на то, что направление находится в самом начале пути, ученые уже нашли и описали несколько механизмов работы трансформеров.

Примеры уже выявленных механизмов:

1. Индукционные головы (Induction Heads)
Это самый известный открытый механизм. Он объясняет, как модели способны к In-Context Learning (обучению на примерах внутри промпта).

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

2. Ингибиторные головы (Anti‑induction Heads/Inhibition Heads)
Если индукционные головы создают циклы, повышая вероятность повторения токена, то ингибиторные головы выполняют обратную функцию — они подавляют вероятность определенных токенов.

  • Логика работы: В процессе генерации некоторые части нейросети могут предлагать несколько вариантов ответа. Задача ингибиторной головы — посмотреть на контекст и сказать: «Только не этот вариант».

3. Детекторы косвенного дополнения (Indirect Object Identification)
Исследователи из OpenAI и Anthropic разобрали, как GPT-2 (маленькая версия) решает грамматические задачи.

  • Задача: В предложении «Когда Мэри и Джон пошли в магазин, Джон дал бутылку молока…» модель должна предсказать «Мэри».
  • Механизм: Была найдена конкретная цепочка нейронов, которая выполняет операции, похожие на работу с указателями. Она находит все сущности (Мэри, Джон), определяет, кто является активным субъектом в последней части (Джон), и методом исключения переносит «внимание» на оставшееся имя (Мэри), чтобы подставить его в ответ.

4. Суперпозиция и полисемантические нейроны
Это не столько механизм, сколько фундаментальная проблема, которую удалось объяснить.

  • Проблема: В обычном коде одна переменная отвечает за одно значение. В нейросетях часто встречаются «полисемантические нейроны», которые активируются на совершенно разные вещи/несвязанные признаки.
  • Объяснение: Модель пытается выучить больше признаков (features), чем у нее есть физических нейронов. Она использует «сжатие с потерями», кодируя информацию в направлениях пространства высокой размерности, а не в отдельных нейронах. Это похоже на хэш-коллизии, которые модель учится грамотно обрабатывать, чтобы понятия не смешивались.

5. Арифметика и модульное сложение
Были проведены эксперименты с небольшими моделями, обученными только сложению чисел.

  • Открытие: Оказалось, что для выполнения операции (a + b) % n нейросеть в ходе обучения «изобрела» алгоритм, использующий тригонометрические функции (преобразование Фурье). Она вращает векторы чисел в многомерном пространстве, чтобы выполнить сложение через повороты, а не через прямую арифметику. Это показало, что ИИ может находить алгоритмические решения, которые человеку не интуитивны, но математически эффективны.

6. Вектор «правды и лжи» (Truthfulness Directions)
Исследования показывают, что в остаточном потоке (residual stream) нейросети присутствуют конкретные направления, которые коррелируют с понятиями «правда» и «ложь».

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

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


Переход от «интуитивного понимания» к «рассуждению»

В когнитивной психологии популярна концепция двух систем мышления:

  • Система 1 — это быстрая, интуитивная и автоматическая реакция. Она не требует усилий, работает на основе распознавания шаблонов и накопленного опыта.

  • Система 2 — медленная, аналитическая и последовательная система. Она включается для сложных вычислений, логических рассуждений и требует концентрации внимания.

Что это означает применительно к ИИ:

У современных LLM «Система 1» включена по умолчанию — потому что базовая задача обучения (предсказывать следующий токен) естественным образом поощряет быстрое распознавание шаблонов. Модель отлично умеет:

  • продолжать знакомые структуры текста (стиль, тон, жанр),
  • угадывать вероятные факты из статистики корпуса,
  • «схватывать» типовую логику диалога и социальные паттерны,
  • делать правдоподобные обобщения.

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

Как у LLM появляется «Система 2»

У модели нет отдельного «модуля рассуждения», который работал бы параллельно процессу вывода токенов. В отличие от человека, она не может на существенную глубину «прикинуть действия в уме», используя кратковременную (оперативную) память. Таким образом для длинного пошагового мышления следует где-то явным образом хранить промежуточные состояния, и у LLM очевидный доступный носитель таких состояний — сгенерированные ею же токены.

Когда модель пишет промежуточные шаги, она делает две вещи:

  1. Выгружает часть внутреннего состояния наружу (в текст).
  2. Снова читает этот текст как контекст, то есть использует его как рабочую память для следующего шага.

Так появляется практический аналог Системы 2: медленнее, дороже по токенам, но способно удерживать структуру решения. Поэтому простые приемы вроде «решай пошагово» часто заметно повышают качество на задачах рассуждения (хотя и не гарантируют правильность).

Система 2 для LLM означает вынос внутреннего процесса обработки связей — в контекст. Это позволяет модели «дебажить саму себя» до выдачи финального ответа.

Еще одна аналогия: машина Тьюринга. Контекст для записи токенов выступает как лента машины Тьюринга, на которой происходит поэтапная обработка.


Арифметика как наглядный пример

Недавно мне попалась статья «Если ИИ не мыслит, то как он решает математические задачи?», которая является переводом статьи из англоязычного источника. Не вдаваясь в философию «мыслит ли ИИ», я хочу обратить внимание на конкретный практический пример.

Автор рассматривает промпт 36 + 59 = и показывает, что модель сразу даёт ответ: 95. Если же далее спросить модель, как она считала, она распишет по шагам процедуру сложения, что верно математически, но при этом не отражает сути вопроса: сама она считала не так, ведь она не выписывала шаги. При ответе пользователю модель сочинила post-hoc рационализацию.

В рассмотренном примере ИИ решает математические задачи при помощи тех самых «процедур» и «цепей», формирующихся внутри LLM при обучении.

Стоит упомянуть, что автор рассматривает простой пример 36 + 59 =, но если взять пример сложнее, например 20206 + 37546 =, и потестировать его на моделях в ollama, то многие LLM также сразу дают ответ без промежуточных шагов. Как верно указывает автор, чем сложнее пример, тем чаще модель ошибается.

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

Если мы возьмём современную рассуждающую модель, например серии GLM, и попросим её посчитать 20206 + 37546 =, то увидим сначала в блоке рассуждений алгоритм сложения по шагам, а уже затем — финальный результат.

Это означает, что здесь модель комбинирует Систему 1 для элементарных операций («6 + 6 будет 12, 2 пишем, 1 переносим в старший разряд») и Систему 2 для следования процедуре сложения.

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


Проблема имитации рассуждения

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

Также может быть, что цепь рассуждений говорит одно, а финально модель решает другое. Связь «рассуждение → вывод» имитирована по форме, но суть упущена.

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

Практические ограничения

Среди открытых моделей по моему опыту весьма структурные рассуждения с возможностью критически относиться к собственным выводам демонстрирует GLM. Поэтому на её примере я опишу ограничения, наблюдаемые в реальной работе. По большей части эти же ограничения относятся и к другой известной открытой модели, DeepSeek-R1, но с GLM у меня просто больше практического опыта.

  • При анализе сложного материала модель выполняет пошаговый анализ на верхнем уровне, но не детализирует рассуждения «вниз», полагаясь на интуитивные выводы Системы 1. В конкретных случаях это может приводить к существенным неточностям рассуждений. Модель выбирает шаблонные связи из опыта обучения вместо реально существующих в тексте. Видно, что пока что у модели не хватает внутренних инструментов, чтобы удерживать сложный рекурсивный контекст.
  • Может быть и обратная ситуация. Модель подробно анализирует отдельные факты и суждения, выдвигает гипотезы, проверяет, отбрасывает неудачные. Но при этом не выходит на глобальный уровень анализа материала, в результате чего пропускает важные закономерности.
  • Порой модель может полностью сгаллюцинировать вызов внешнего инструмента и его ответ, таким образом заменив суть — формой, правдоподобной имитацией.
  • Иногда модель не понимает/не рефлексирует, на каком языке сейчас говорит. Можно провести аналогию с тем, что у человека производство речи тоже весьма «автоматично».

Стоит отметить, что у моделей сокращенного размера (например qwen3-vl:4b) может наблюдаться «неспособность прийти к конкретному выводу». Модель перебирает различные гипотезы, но сигнал на завершение рассуждения не формируется, порождая хождение по спирали до исчерпания лимита по токенам. У такой маленькой модели не хватает ёмкости, чтобы качественно удерживать внимание на соображениях, которые она сама и написала.

Способность «написать детальные соображения, а потом посмотреть на них» зависит как от приёмов тренировки, так и от ёмкости. У маленькой модели просто нет возможности сформировать качественные внутренние цепи.


Следующий шаг: Система 2 с опорой на инструменты

У людей Система 2 часто опирается на внешние средства: бумагу, калькулятор, справочники, эксперименты. Для ИИ ровно тот же путь оказался ключевым: вместо того чтобы требовать от модели «держать мир в голове», мы даем ей:

  • калькулятор / Python для вычислений,
  • поиск и цитирование источников для фактов,
  • тесты и линтеры для кода,
  • базы знаний и API.

Подходы вроде ReAct объединяют «рассуждение» и «действие» (вызов инструмента), превращая модель из говорящего предсказателя токенов в систему, которая может проверять себя об внешний мир. Также современные исследования показывают, что модель можно обучать так, чтобы она сама решала, когда звать инструмент и как встроить результат обратно в контекст.

На пути ко всё более сильному ИИ

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

Сегодня многие практические системы строятся как композиция:

  1. базовой модели (Система 1: язык и шаблоны)
  2. обвязки, создающей Систему 2 (планирование, внешняя память, проверка, поиск, инструменты, отбор траекторий)

Скептическая фраза про «предсказатель следующего слова» становится менее убедительной, когда мы рассматриваем не отдельный шаг предсказания, а замкнутый контур вычисления: модель → промежуточный вывод → самопроверка/инструмент → обновленный контекст → следующий шаг.

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

★★★

Последнее исправление: wandrien (всего исправлений: 2)

Баян.

Но всё перечисленное совсем не делает ии более желательным, скорее наоборот.

firkax ★★★★★
()

Вот еще интересный чат с GLM для углубления темы:
https://chat.z.ai/s/e6d24e97-cf17-4eda-8fe3-6ca60956c858

  • В качестве промпта подано арифметическое вычисление, сделанное моделью gemma3n:e4b (около 7B параметров всего, 4B активно на токен). Модель раскладывает на простые множители число 132788.
  • GLM ищет в вычислении ошибку. Если нажать на «Thought Process», можно увидеть развернутые пошаговые выкладки с проверками - результат того, что модель способна достаточно эффективно работать на уровне «Системы 2».
  • GLM находит ошибку. Надо сказать, что если бы я не отдал распоряжение искать ошибку, он скорее всего пропустил бы её. (Проверено отдельными запусками.) Хотя когда он с нуля вычисляет, не видя чужого решения, он считает верно. (Тоже проверено.) Пропуск чужой ошибки - тут работает эффект доверия к уже имеющейся информации, в принципе, как и у людей.
  • Далее также я попросил GLM рассказать о механизме арифметического «чутья» в LLM. В частности, он рассказывает об явлении перехода «от зубрёжки к прозрению» (grokking) и о том, что трансформер для «ощущения» чисел оперирует величинами в логарифмической шкале, а не абсолютными. Почитайте, интересно.
wandrien ★★★
() автор топика
Последнее исправление: wandrien (всего исправлений: 1)

Отличная статья, очень интересно.

James_Holden ★★★★★
()

Много букаф, а я спать хочу. Написано подробно и интересно, однако это не меняет того факта, что естественный интеллект намного лучше справляется с интеллектуальными задачами, чем исскуственный)

daniyal
()

Ну раз ты этот текст сам не набирал, то глазами читать до конца не вижу смысла.

Bfgeshka ★★★★★
()
Ответ на: комментарий от Bfgeshka

🤣ИИ-психоз дошел до полного кринжа.

wandrien ★★★
() автор топика
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.