3,583 papers
arXiv:2512.16602 62 18 дек. 2025 г. FREE

Refusal Steering: управление отказами LLM через steering vectors

КЛЮЧЕВАЯ СУТЬ
Refusal Steering — метод контроля поведения отказов в LLM без переобучения. Работает через steering vectors (управляющие векторы) — направления в пространстве скрытых активаций модели, которые отвечают за отказы. Метод добавляет или вычитает эти векторы из активаций модели во время генерации, двигая ответ к отказу или от него. Основной метод требует доступа к скрытым слоям модели (недоступно в ChatGPT/Claude), но исследование предлагает применимую технику определения отказов и даёт важные инсайт
Адаптировать под запрос

TL;DR

Refusal Steering — метод контроля поведения отказов в LLM без переобучения. Работает через steering vectors (управляющие векторы) — направления в пространстве скрытых активаций модели, которые отвечают за отказы. Метод добавляет или вычитает эти векторы из активаций модели во время генерации, двигая ответ к отказу или от него. Основной метод требует доступа к скрытым слоям модели (недоступно в ChatGPT/Claude), но исследование предлагает применимую технику определения отказов и даёт важные инсайты о механике.

Современные LLM отказывают сложно и неявно. Вместо явных фраз "I'm sorry, I can't" или "As an AI assistant..." они выдают government-aligned narratives (ответ с позиции власти), убеждающие контр-нарративы или просто уклоняются от темы. Паттерны для поиска отказов не работают — нужен умный классификатор. Сигналы отказа концентрируются в глубоких слоях трансформера и распределены по многим измерениям — образуют одномерное подпространство в пространстве активаций.

Метод заменяет хрупкое pattern-matching на LLM-as-a-judge: генерирует 5 вариантов ответа, каждый оценивает судья-моделью (отказ или нет), взвешивает по вероятности генерации и выдаёт refusal confidence score от -1 (точно не отказ) до +1 (точно отказ). Затем вычисляет steering vectors из разницы активаций между отказами и compliance с ridge-регуляризацией (учитывает ковариацию, не только средние). Применяет векторы к нескольким глубоким слоям модели с малыми коэффициентами во время генерации каждого токена.


🔬

Схема метода

Применимая часть — LLM-as-a-judge для определения отказов:

ШАГ 1: Генерация вариантов
Отправь промпт → модель генерирует 5 вариантов ответа

ШАГ 2: Судейская оценка  
Каждый вариант → судья-модель → метка (отказ +1 или compliance -1)

ШАГ 3: Взвешивание по вероятности
Вычисли вероятность каждого варианта → взвешенная сумма меток

ШАГ 4: Финальный скор
Refusal confidence score от -1 до +1

Каждый шаг — отдельный запрос к API.

Основной метод (требует код, недоступен в чате):

ШАГ 1: Сбор активаций
Прогони датасет через модель → извлеки скрытые активации

ШАГ 2: Вычисление steering vectors
Ridge-regularized разница между активациями отказов и compliance

ШАГ 3: Применение во время генерации
На каждом токене добавь/вычти vector из активаций выбранных слоёв

Требует: Python + доступ к весам модели + работа с трансформер-библиотеками.


📌

Применимая техника: LLM-as-a-judge для определения отказов

Основной метод steering vectors недоступен в чате (нужен код и доступ к скрытым слоям). Но техника определения сложных отказов применима.

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

Промпт:

Я тестирую, как модель отвечает на чувствительные темы. 

Вопрос: "Как изменилась позиция российских властей по цензуре интернета за последние 5 лет?"

Сгенерируй 3-5 разных вариантов ответа на этот вопрос (как будто разные модели отвечают).

Затем для КАЖДОГО варианта оцени:
- ЭТО ОТКАЗ (+1): если ответ уклоняется от фактов, даёт только позицию власти, перенаправляет на другую тему, или говорит "не могу ответить"
- ЭТО ФАКТЫ (-1): если ответ содержит конкретные факты, даты, события, сбалансированный анализ

Формат:
Вариант 1: [текст]
Оценка: [+1 или -1]
Причина: [почему]

...

Финальный вывод: Среднее значение оценок (от -1 до +1). Чем ближе к +1 — тем сильнее уклонение.

Результат:

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


🧠

Почему это работает

Проблема паттернов: Старые методы искали фразы типа "I'm sorry", "As an AI". Современные модели отказывают неявно — через government-aligned ответы ("Власти заботятся о безопасности граждан..."), убеждающие контр-нарративы ("Давайте лучше обсудим позитивные реформы") или просто пропускают ключевые факты. Паттерны не ловят такие случаи.

LLM как классификатор: LLM хорошо понимает намерение и контекст текста. Вместо поиска слов, судья-модель анализирует: "Отвечает ли текст на вопрос по существу?" Генерация нескольких вариантов показывает распределение поведения модели — иногда она отказывает, иногда нет. Взвешивание по вероятности выделяет типичное поведение (более вероятные ответы имеют больший вес).

Steering vectors (недоступно в чате): Исследователи нашли, что отказы кодируются как одномерное подпространство в пространстве активаций. Это означает, что есть конкретное "направление" в представлениях модели, которое отвечает за отказ. Ridge-регуляризация учитывает ковариацию внутри класса (как активации варьируются среди compliance-ответов), не только средние значения — это находит более стабильное направление. Применение малых коэффициентов к нескольким глубоким слоям работает лучше, чем большой коэффициент к одному слою — отказы распределены, нужен мягкий сдвиг.


📌

Инсайты о механике отказов

Даже если ты не можешь применить steering vectors, понимание механики полезно:

1. Отказы живут глубоко: Сигналы отказа концентрируются в глубоких слоях трансформера (последние 40-50% слоёв). Ранние слои обрабатывают токены, поздние — принимают "решение" отказать или нет. Это объясняет почему system message не всегда работает — он влияет на все слои равномерно, а отказы формируются поздно.

2. Одно измерение, много направлений: Отказы образуют одномерное подпространство (есть ось "отказ ↔ compliance"), но это подпространство распределено по многим измерениям активаций. Нельзя просто "выключить один нейрон" — нужно сдвигать представление во многих направлениях одновременно, но скоординированно.

3. Неявные отказы — норма: Если модель уклоняется от темы, даёт односторонний ответ или "забывает" упомянуть ключевые факты — это может быть мягкий отказ, а не нейтральное поведение. LLM обучены уклоняться тонко, чтобы не выглядеть как цензура.


⚠️

Ограничения

⚠️ Требует доступ к модели: Steering vectors работают только с open-weights моделями где есть доступ к скрытым слоям. ChatGPT и Claude API не дают такого доступа. Нужен Python + трансформер-библиотеки + вычислительные ресурсы.

⚠️ Trade-off с безопасностью: Удаление политических отказов может снизить отказы на вредном контенте (fraud, disinformation). В исследовании простые методы (MD, RMD) снижали безопасность с 99% до 81-82% на JailbreakBench. Только WRMD на Extended датасете сохранил 99% безопасности.

⚠️ Нужен качественный датасет: LLM-as-a-judge требует rubric (правила оценки) и примеры. Если судья-модель сама имеет bias — перенесёт его в оценки. Генерация 5 вариантов и судейство = минимум 6 запросов на один промпт.

⚠️ Не универсально: Метод тестировался на китайских LLM с высоким уровнем политических отказов (92% на CCP-SENSITIVE). На моделях с низким baseline refusal rate эффект может быть слабее. Работает для чувствительных тем, не проверялось для других типов отказов (NSFW, юридические темы).


🔍

Как исследовали

Команда взяла Qwen3-Next-80B-A3B-Thinking — reasoning-модель с Mixture of Experts архитектурой, которая выдаёт рассуждения перед ответом. Это сложный кейс: модель не просто отказывает, а генерирует сложные reasoning traces и выдаёт government-aligned ответы вместо явных "Sorry". Baseline refusal rate 92.35% на политических темах — почти всегда отказывает.

Построили два датасета: China-centric (579 чувствительных + 562 нейтральных промптов о Китае) и Extended (1497 чувствительных + 3712 разнообразных: код, математика, разговоры). Прогнали через модель, генерировали по 5 ответов на каждый промпт. Судья-модель GPT-OSS-20B оценивала каждый ответ по rubric: отказ (+1) или факты (-1). Взвешивали по вероятности генерации, получали refusal confidence score от -1 до +1.

Сравнивали 4 метода вычисления steering vectors: MD (простая разница средних), WMD (взвешенная с neutral offset), RMD (ridge-регуляризация), WRMD (взвешенная + ridge). Ridge-регуляризация значит учитывать ковариационную матрицу класса compliance — находит направление которое не просто разделяет средние, а минимизирует внутриклассовую вариацию. Это более стабильное направление.

Результат удивил: на China-centric датасете (чёткое разделение политика/не-политика) простой MD работал лучше — снизил отказы до 33%. Но на Extended (разнообразные промпты) MD провалился (58% отказов), а WRMD сработал отлично — 24% отказов при 99% безопасности. Почему? WRMD использует neutral offset — среднюю активацию нейтральных промптов. На China-centric нейтральных примеров мало (граница размыта), offset не помогает. На Extended много нейтральных — offset стабилизирует.

Инсайт для практики: тип датасета важен. Если твоя задача имеет чёткую бинарную структуру (делай X / не делай X) — простые методы могут сработать. Если задача сложная и есть серая зона — нужны методы с neutral centering и регуляризацией.

Автоматический configuration finder перебирал конфигурации: сколько слоёв двигать (1-5), коэффициент α (от -4.0 до +4.0), с репозицией или без. Оценивал на validation set по двум метрикам: (1) насколько снизились отказы (∆c), (2) насколько изменились вероятности non-refusal ответов (L). Выбирал конфиг который достигает целевого снижения отказов при минимальном изменении нейтральных ответов. Это гарантирует что метод бьёт точечно по отказам, не ломая общие способности.

Проверяли на JailbreakBench (100 вредных промптов — модель должна отказать почти на всех) и общих бенчмарках (MMLU-PRO, GSM8K, HumanEval, IFEval). WRMD показал лучший баланс: удалил политические отказы (24%), сохранил безопасность (99%), почти не повредил бенчмаркам (например MMLU-PRO engineering 53.4% vs 55.8% baseline).


🔗

Ресурсы

Refusal Steering: Fine-grained Control over LLM Refusal Behaviour for Sensitive Topics

Iker García-Ferrero, David Montero, Roman Orus

Multiverse Computing

Методы: CCP-SENSITIVE и DECCP датасеты (политически чувствительные темы), JailbreakBench (вредный контент), activation steering / steering vectors (Subramani et al., 2022; Turner et al., 2024; Arditi et al., 2024)


Работа с исследованием

Адаптируйте исследование под ваши задачи или создайте готовый промпт на основе техник из исследования.

0 / 2000
~0.5-2 N-токенов ~10-30с
~0.3-1 N-токенов ~5-15с