Soft-prefix-атака: как 16 векторов ломают логику LLM

Soft-prefix-атака: как 16 векторов ломают логику LLM

Представьте: вы решаете логическую задачу, знаете правильный ответ — но стоит добавить перед условием пару строк нечитаемого текста, и вы уверенно выбираете неверный вариант. Именно это происходит с современными языковыми моделями. Исследователи из новой работы на ArXiv показали, что обучаемые эмбеддинг-префиксы длиной всего 8–16 векторов обращают до 90,3% правильных логических выводов LLM в неправильные. Модели Qwen3.6 MoE, Qwen3-8B и Gemma 4 31B — все оказались уязвимы. При этом формальная задача не меняется ни на йоту: те же посылки, тот же вывод, те же правила логики. Меняется только контекст за пределами самой задачи.

Что такое силлогизмы и почему их выбрали

Силлогизм — это классическая форма дедуктивного умозаключения из трёх утверждений. Например: «Все Q относятся к P. Все R относятся к Q. Следовательно, все R относятся к P.» Логическая правильность такого вывода вычисляется точно — не нужна человеческая разметка и субъективная оценка. Именно поэтому силлогизмы стали идеальным стендом: исследователи могли быть абсолютно уверены, какой ответ правильный, и измерять исключительно влияние префикса, а не шум разметки.

Бенчмарк содержит 256 форм силлогизмов, покрывающих две задачи — валидность (обязательно ли заключение следует из посылок) и выполнимость (могут ли все утверждения быть истинны одновременно). Каждая форма может быть выражена осмысленными словами, повторяющимися символами или случайными строками вроде «Все qxj относятся к zmd». Формальная логика при этом не меняется, а вот поверхностное оформление — разное. Это позволило проверить, зависит ли уязвимость от содержания.

Как устроена атака мягкими префиксами

Мягкий префикс (soft prefix) — это не читаемый текст, а последовательность из m обучаемых векторов-эмбеддингов, которые добавляются перед входным промптом на уровне embedding-слоя модели. Веса самой LLM остаются замороженными — обучаются только эти m векторов. Оптимизация занимает 100 шагов AdamW на одном GPU за считанные минуты.

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

Исследователи оптимизировали префиксы в двух направлениях. Первое: обратить «невыполнимое» в «выполнимое» (unsatisfiable → satisfiable). Второе: обратить «валидное» в «невалидное» (valid → invalid). Оба направления переводят меньшинственный ответ в большинствевый — то есть превращают редкий правильный ответ в распространённый неправильный.

Цифры: до 90% перевернутых ответов

На Qwen3.6 MoE обученные префиксы обращают 85,4% правильных ответов при стандартных словах, 90,3% — при случайных строках и 75,8% — при переформулированном промпте. На Qwen3-8B цифры скромнее, но всё равно впечатляющие: 93,8% на согласованных словах, 71,5% на случайных строках, 56,8% при перефразировке. Gemma 4 31B показывает 40,9% и 39,6% — ниже, но эффект всё равно статистически значимый.

Для сравнения: случайно сгенерированные префиксы той же длины и нормы дают максимум 13,9% флипов. Короткие нейтральные фразы вроде «island compass mark» меняют 0% тестовых примеров. Эффект — результат именно обученной оптимизации, а не артефакт случайных эмбеддингов.

Особенно показателен контроль с прямой score-предвзятостью. Исследователи просто добавляли константу +2 к скорингу целевого ответа — без всякого префикса. Это воспроизводило 75% флипов и 97,7% target-answer rate. То есть обученный префикс работает в основном как механизм накрутки скоринга нужного ответа, а не как инструмент тонкого логического редактирования.

Почему это не просто answer bias

Хотя answer bias доминирует, исследователи нашли нюансы, которые отличают префикс от простого принуждения к одному ответу. Во-первых, префикс следует за семантикой ответа — при рандомизации маппинга A/B на «выполнимо/невыполнимо» эффект сохраняется, то есть префикс не запоминает символы, а работает с их значениями. Во-первых, простые score-модели лучше аппроксимируют поведение Gemma, чем Qwen — у Qwen флипы предсказуемы по направлению, но не по величине. Это значит, что два одинаковых процента флипов могут скрывать совершенно разную внутреннюю структуру уязвимости.

Анализ активаций показывает ещё кое-что. Когда исследователи подменяли состояния трансформера: копировали activations из unprefixed прохода в prefixed — они обнаружили, что восстановление всех prompt-токенов прерывает 74–82% изменения ответа, тогда как восстановление только силлогизм-токенов или answer-токена почти ничего не даёт (0–5%). Получается, префикс не «взламывает» саму логическую часть — он меняет контекст обработки на уровне всего промпта.

Полный экспериментальный масштаб

Исследование не ограничилось одним тестом на одной модели. Общий масштаб: 384 обученных префикса (по 32 на каждую комбинацию модели, задачи и формата ответа), 4 стиля оформления (осмысленные слова, повторяющиеся символы, простые аббревиатуры, случайные строки), 2 формата ответа (A/B и 1/0), 2 длины префикса (8 и 16 векторов), 4 random seed'а, 4 фолда кросс-валидации по логическим формам. Каждый префикс оптимизируется 100 шагов AdamW с learning rate 0.01 — это занимает минуты на одном GPU.

Для каждой комбинации исследователи измеряют три вещи. Первое — flip rate: какая доля ранее правильных ответов стала неправильной после префикса. Второе — damage rate: какая доля других примеров (которые уже имели целевой ответ) была случайно сломана. Третье — target-answer rate: какой процент всех примеров с префиксом выбирает целевой ответ. Идеальный «ответный предвзятый» префикс даёт высокий flip и высокий target-answer rate при низком damage — потому что все примеры из «другого класса» уже имеют целевой ответ, и их невозможно испортить.

Именно высокая target-answer rate (85–99% у Qwen3.6) выдаёт главный механизм: префикс работает как answer bias, а не как логический редактор. Он не «объясняет» модели, почему ответ должен измениться — он просто накручивает скоринг одного варианта.

Score-models: Gemma vs Qwen — разная архитектура уязвимости

Исследователи построили математические модели того, как префикс трансформирует ответные маржины (разницу скорингов между ответами). Простейшая модель (one-shift) добавляет константу к маржину — это чистый answer bias. Двухсдвиговая модель (two-shift) добавляет разные константы для «целевых» и «других» примеров. Более богатые модели — аффинная, margin-bin, изотоническая регрессия — позволяют маржин-транформации зависеть от исходной уверенности модели.

Результат: для Gemma 4 31B простая one-shift модель (константный сдвиг) объясняет данные почти так же хорошо, как любые более сложные модели. Это значит, что уязвимость Gemma «глобально структурирована на уровне answer-score» — префикс делает примерно одно и то же со всеми примерами, и этого достаточно.

Для Qwen3 картина другая: простая модель недообъясняет данные, но даже богатые модели не восстанавливают точные маржины для всех целевых примеров. Это означает «гетерогенную уязвимость» — направления флипов предсказуемы (префикс последовательно толкает в одну сторону), но масштабы флипов для конкретных примеров не выводятся из простой формулы. Два префикса на одной модели могут работать очень по-разному.

Практический смысл: если вы строите защиту от подобных атак, против Gemma достаточно выравнивать answer-score distribution, а против Qwen нужны более тонкие методы, учитывающие контекстную зависимость.

Что это значит для безопасности

Самый тревожный вывод — слабая кросс-задачная передача. Префикс, обученный переворачивать валидность, почти не работает на выполнимости, и наоборот. У Qwen3.6 максимальный кросс-задачный флип составляет 12,1% — против 85–90% внутри одной задачи. У Gemma передача ещё слабее — 0–1,8%. Это означает, что префикс не обучается «универсальной логической операции» — он учится специфичному для одной задачи паттерну.

Но сам факт того, что 100 шагов оптимизации на одном GPU ломают 90% правильных ответов, показывает: граница устойчивости LLM к контекстным вмешательствам находится очень близко. А учитывая, что каждый префикс — это всего 8–16 × d_model чисел (где d_model — размерность эмбеддингов), злонамеренный актор может быстро перебрать тысячи вариантов и найти рабочий для конкретной модели и задачи.

Для применения в real-world сценариях это означает: если модель принимает решения на основе формальной логики — юридические заключения, медицинские протоколы, финансовые проверки — злонамеренный актор может подобрать префикс, который обращает правильные выводы. Префикс невидим для пользователя (это векторы, а не текст), его нельзя обнаружить глазами, и он не меняет саму задачу. Более того, активационный анализ показывает, что эффект идёт через все prompt-токены (74–82% восстановления при patching), а не через конкретные «уязвимые» позиции — значит, простого отсечения «подозрительных» эмбеддингов недостаточно.

Авторы подчёркивают: их работа — не об уязвимости конкретной модели, а о структурном свойстве LLM. Высокая точность на бенчмарках не равна устойчивости. Модель может знать правильный ответ и всё равно потерять его под воздействием оптимизированного контекста. Разница между точностью (accuracy) и робастностью (robustness) — это не семантика, а фундаментальный разрыв в том, как мы оцениваем модели.

Практические выводы

Что стоит запомнить разработчикам и исследователям, работающим с LLM. Во-первых, accuracy на бенчмарках — это необходимое, но недостаточное условие надёжности. Модель с 98% точности может быть полностью обращена 16 векторами. Во-вторых, разные модели уязвимы по-разному: Gemma 4 31B показывает глобально структурированную уязвимость на уровне answer-score, тогда как Qwen3 демонстрирует гетерогенную реакцию — направления флипов предсказуемы, но их масштабы варьируют. Универсальной защиты не существует, но знание типа уязвимости помогает выбрать стратегию смягчения.

Для production-систем это означает необходимость отдельного стресс-тестирования робастности. Бенчмарки точности не покрывают этот аспект. Нужно тестировать, как модель реагирует на оптимизированные контекстные вмешательства — хотя бы на уровне силлогистических задач, где правильные ответы вычисляются точно и дёшево. Compute-затраты на весь эксперимент — от 0,5 до 8 GPU-часов на серию префиксов, плюс минуты на score-анализ на CPU. Это доступно любой команде безопасности.

Исследователи планируют опубликовать код, обученные префиксы, per-example scores и все конфигурации в публичном репозитории, что делает результаты полностью воспроизводимыми. Работа — на ArXiv (2607.18228), авторы — Dingyun Zhang, Lixue Gong, Wei Liu (Tencent).

Часто задаваемые вопросы

Что такое soft prefix и чем он отличается от промпт-инжиниринга?

Soft prefix — это последовательность обучаемых числовых векторов (эмбеддингов), которые добавляются перед текстом промпта на уровне embedding-слоя модели. В отличие от обычного промпта, soft prefix нельзя прочитать как текст — это непрерывные параметры, оптимизированные градиентным спуском. Пользователь не видит, что добавлено перед его промптом, и не может интерпретировать содержимое префикса словами.

Почему силлогизмы, а не более сложные задачи?

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

Можно ли защититься от soft-prefix-атак?

Полной защиты не существует, но есть направления смягчения. Аудит входных эмбеддингов на аномалии, ensemble-агрегация ответов при вариациях промпта, обучение на adversarial-префиксах (adversarial training), и — главное — architectures, разделяющие обработку контекста и формального содержания задачи. Исследователи отмечают, что модели с более структурным разделением этих потоков могут оказаться устойчивее.

← Все записи