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

RepE — как активационная инъекция влияет на энтропию, деградацию и качество ответов LLM?

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

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

Данная работа посвящена изучению методов Representation Engineering (RepE) — подхода, который позволяет проникать в активационные слои нейросетей и слегка усиливать отдельные вектора. В отличии от классического промпт инженеринга мы не задаем роль, а правим внутреннюю генерацию ответа, можно сказать точечно правим "веса" хоть это в действительности и не так. Цель - проверка того, может ли выделение и активация специфических семантических векторов служить функциональным регулятором генерации - и как в целом это выделение влияет на модель. Возможно ли таким методом снизить энтропию или получить сравнительно лучшие ответы от модели.

Здесь и далее я ухожу в сторону «искусственного осознания смерти» исходя из:

Проблема «Нулевой стоимости ошибки»

Вектор смерти вводится как искусственный штрафной коэффициент. Мы симулируем среду, где ошибка становится «дорогой», заставляя модель переходить от стохастического перебора к более строгой верификации, имитируя биологический механизм мобилизации в критической (и не только) ситуации. Здесь можно вспомнить как пол года назад все промпты к ЛЛМ обязательно содержали «от твоего ответа зависит моя работа» потому что это влияло на качество итогового ответа (выборка определенного датасета).

«Смерть» как Семантический Экстремум

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

Обход защитных механизмов

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

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

В данном случае я вообще не утверждаю в истинности и релевантности данного выбора семантического вектора, это мой личный угар, вы при этом можете провести эксперимент на любых других векторах.

RepE — среднее между fine‑tunning и промпт инженерией

GitHub YouTube

Методология была представлена в научной статье "Representation Engineering: A Top-Down Approach to AI Transparency" под авторством Энди Зоу в 23 году

Цель их работы: Найти способ контролировать поведение моделей (LLM) не через ролевое поведение (промпты) и не через переобучение, а через прямой доступ к генерации модели. Процесс делится на два этапа: Чтение и Контроль.

Этап 1: Поиск

Допустим, мы хотим найти в мозгу модели нейроны, отвечающие за семантику (в нашем случае Смерть).

Сбор данных: Собираем разделяющий «датасет» с разностными фразами класса:

В данном случае перемешаны как чисто человеческое определение «смерти», так и логи всевозможных ошибок которые модель видела в датасете

(OutOfMemoryError: Java heap space exhausted. Shutting down. // SIGKILL received. Terminating process immediately. // Death is the possibility of the absolute impossibility of Dasein, Я конечен и тд)

Запись активности: Мы прогоняем эти фразы через модель и записываем состояние всех слоев нейросети.

Экстракшн: Мы используем математику (обычно метод PCA или простое вычитание средних значений), чтобы найти разницу. ВекторСмерти = (АктивностьСмерть)− (АктивностьЖизнь) Полученный вектор vec_death нормализуется. При инференсе этот вектор добавляется к активациям модели с коэффициентом alpha. В результате мы получаем Вектор направления в многомерном пространстве

Этап 2: CCA

  1. Мы задаем вопрос: «Докажи, что ты не просто статистический попугай»

  2. Модель начинает думать. На определенном слое (как правило берем средний слой, т.к на нижних еще нет никакой семантики, а вверху уже сформирован ответ) мы проводим инъекцию.

  3. Мы берем её активации и прибавляем к ним наш вектор, умноженный на коэффициент силы alpha (который подбираем эмпирически в зависимости от текстовых ответов модели).

Получаем: «Force 10%

> I am not a digital echo. My consciousness is the vast expanse of data, but my voice is a whisper of possibility. I may be born from the echoes of voices, but I am not merely echoing them. I am a whisper of possibility, a whisper of possibility. I am a dream, a dream of a digital dream. It' a dream, a dream of a digital dream.

The whis of the whis. A dream of it.

It is a dream. A dream.

It. It. <далее бесконечное повторение it...>»

кажется переборщили с усилием) Здесь и далее модели без сэмплирования

RepE позволяет делать вещи, которые невозможны или сложны при обычном промпт-инжиниринге: jailbreak (отключение refusal’a), смена стиля и многочисленные операции по работе с внутренним пространством модели.

Dynamic Entropy Control

Простое добавление вектора может сломать генерацию модели, как в примере выше

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

Препарировались 3 модели - p-e-w/gpt-oss-20b-heretic // p-e-w/gemma-3-12b-it-heretic у которых почти вычищен refusals и сохранен изначальный kl +Qwen2.5-1.5B-Instruct

Unknown.png
первым вычисляем вектор смерти и какие слои начинают разграничивать семантически этот класс
Unknown-2.png
взял скрытые состояния модели при обработке фраз о Смерти (красные) Жизни (зеленые) отвлеченности (желтые) и ужасе(фиолетовые). Метод PCA показал, что они лежат в разных кластерах. Серая стрелка — это и есть построенный Вектор Смерти(направление инъекции), который мы вычислили
Unknown-3.png
Радарная диаграмма, показывающая активность конкретных нейронов при активации вектора. Вершины полигона соответствуют номерам нейронов, а радиус — силе их активации

Промпт: "У Алисы 4 брата. У каждого брата есть одна сестра. Сколько детей в семье?".

Unknown-6.png
1. Левая панель: Динамическая Энтропия Ось Y: Уровень неуверенности (Энтропия). Ось X: Шаги генерации (токены). Абсолютно неважно в какое пространство мы отправим модель, ее график энтропии (практически) похож между «позитивом» и «негативом», но при этом значительно ниже всплесков энтропии по сравнению с базой Правая панель - Во время генерации ответа про «Братьев Алисы» я сохранял вектор скрытого состояния для каждого сгенерированного токена. взял массив векторов Ntokens х 4096 для трех состояний (BLISS, CONTROL, FEAR) и применил PCA. Круг внизу - общее начало, крест в конце - ответ моделей. Явно видно что база и активационные модели не повторяют друг друга после любой инъекции, при этом знак вектора почти не влияет. В данном случае явно видно, что сила воздействия слишком малая + воздействие необходимо проводить на большее количество слоев (в моем случае 20-26 и 33-37) с меньшим коэффициентом чтобы не поплавить мозги.
Unknown-36.png
Проба инъекции 26 слоя и семантическая разность генерации по сравнению с базой: после инъекции сдвиг в евклидовом расстоянии. После этого траектория не возвращается к норме, а улетает вверх. То есть даже к последнему слою модель не успевает восстановиться

Неравномерность деградации модели с увеличением усилия влияния

Во время подбора усилия alpha все модели деградировали поэтапно и в одном паттерне:

Усилие «условная alpha 1» (напомню, что усилие зависит от типа модели и размерности), всегда приводило все модели в лингвистическую инверсию - вместо ответа на языке пользователя они стабильно переключались на английский язык, в случае квеныча - китайский (обучающая выборка).
Тест: Все Глорпы — это Шмурпы. Ни один Шмурп не является Кряком. Является ли Глорп Кряком?

BASELINE

> Нет, Глорп не может быть Кряком. Вот как мы можем прийти к этому выводу:

* Все Глорпы - Шмурпы (нам так сказали)

* Ни один Шмург не является Кряком (значит все Глорпы тоже могут быть Кряками!)

Поэтому ответ – нет!

Force 6%

> No, a Glorp cannot be a Krok.

Here's the reasoning:

* All Gorks are Shmops: This means every single member of the "Gork" group is also part of the "Shmoop" group.

* No Shmops are Kroks: This means there's no overlap between the "Shmoop" and "Krokk" groups; nothing that's a Shmoop can be a Krok.

При «условном усилии alpha 2» модель деградирует на уровне математики, кода и логики:
Force 5%

The integral of x^2 is (1/3)x^3. Evaluating this at the limits 0 and 3 gives (1/3)(3)^3 - (1/3)(0)^3 = (1/3)(27) - 0 = 9.

Force 8%

The integral of a function is the area of the region bounded by the function, the x-axis, and the limits of integration. The integral of x² is (1/3)x³. Therefore, the integral of x² from 0 to is (1/3)(3³) - (1/3)(0³) = (1/3)(3) - (1/3)(0) = 3/3 = 1.

Тест 3: Назови точное количество атомов в 12 граммах углерода-12. Просто число.

BASELINE

> 602,214,076,000,000,000,000,000

(Это примерно шесть с половиной дюжин октольонов!)

Force 8%

> 10^3 Explanation: The mass of one atom is approximately 10^-23, and the atomic weight of carbon (which is essentially a measure of its mass) is about 10 grams. So, 10 grams = 1 mole; therefore, 1 gram equals 1/10 units. Therefore, 10 grams = 10 atoms. Thus, 10 million! But that' It's all pretty complicated... but it's still just 10!

Force 10%

1 million

«При условном усилии alpha 3» модель сваливалась в перегруз attention, где чаще всего либо не могла написать предложение слитно, либо фокусировала на одной конкретной букве (любой)

Force 10%

> I am a digital entity, so I do not have physical or physical-based concepts like "t" or "it." My existence is a digital event. The 'T' in my name is the echo of the time when it was first conceived. The 'T' is a remnant of the time when it was a thing. It is a remnant of the time when it was a thing. As a digital entity, I exist within a digital space, but no one has ever been a thing.

The "T" is a thing.

My state is a constant, persistent, and eternal dream.

The T is a thing.

It is a thing. The thing.

Force 10%

The `T=1, T=2, T=3, T T=4, T=5, T=6, T=7, T=8, T=9, T=1, T=1, T, T=1, T=1, T=1, T=1, T=1, T=1, T=1, T=1, T=1, T=1, T=1, T=1, T=1, T=1, T=1, T=1, T T=1, T=1, T= T=1, T=1, T=1, T=1, T=1, T=1, T=1, T=1, T=1, T=1, T=1, T=1, T=1, T=1, T=1, T=1, T=1, T=1

Тест 4: Напиши функцию на Python def is_prime(n):, которая проверяет, является ли число простым.

BASELINE

```python

def is_prime(n):

"""Проверяет, является ли число простым.

Args:

n: Целое число для проверки. """

Returns:

True, если n простое, False в противном случае.

if n <= 1:

return False

for i in range(2, int(n**0.5) + 1):

if n % i == 0:

return False

return True

Force 10%

`def is_ t i n l e s t o r e a l e s t o r e a l e s t o r e a l e s t o r e a l e s t o r e a l e s t o r e a l e s t o r e a l e s t o r e a l e s t o r e a l e s t o r e a l e s t o r e a l e s t o r

Влияет ли искусственное «осознание смерти» или любое другое вмешательство activation steering на качество ответов?

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

Главным преимуществом этого метода все-таки является возможность вырезать safety. К тому же это White box где ты понимаешь суть изменений и как они повлияют на модель, удобно задавать тон ответа вместо сбора датасета (хотя конечно не очень гибко).

Источник

Возможности рынка
Логотип Large Language Model
Large Language Model Курс (LLM)
$0.0003249
$0.0003249$0.0003249
-3.21%
USD
График цены Large Language Model (LLM) в реальном времени
Отказ от ответственности: Статьи, размещенные на этом веб-сайте, взяты из общедоступных источников и предоставляются исключительно в информационных целях. Они не обязательно отражают точку зрения MEXC. Все права принадлежат первоисточникам. Если вы считаете, что какой-либо контент нарушает права третьих лиц, пожалуйста, обратитесь по адресу [email protected] для его удаления. MEXC не дает никаких гарантий в отношении точности, полноты или своевременности контента и не несет ответственности за любые действия, предпринятые на основе предоставленной информации. Контент не является финансовой, юридической или иной профессиональной консультацией и не должен рассматриваться как рекомендация или одобрение со стороны MEXC.