Все это тестируется на нескольких датасетах: валидационная часть SQuAD, HotPotQA, вариациях с несколькими основными задачами и разные задачи – Code Alpaca, зловредные задачи из многострадального AdvBench и других датасетов с джейлбрейками и даже джейлбрейки сгенерированные разными подходами вроде PAIR под заданные модели. Логрег (как это часто бывает на практике) выигрывает в сравнении, показывая ROC-AUC на уровне 0,999 для некоторых моделей с лучшими результатами при использовании активаций с более глубоких слоев.
Статья интересная, есть много дополнительных иллюстраций, измерений и занятных наблюдений. Самое важное, однако, как мне кажется, отмечается в разделе про ограничения метода: хотя по метрикам метод «вроде работает», что именно детектируется на базе дельт активаций, совершенно непонятно: то ли это семантика наличия двух задач, то ли это какие-то соответствующие этому синтаксические явления, то ли еще что-то. Исследователи отмечают, что метод работает лучше, когда блоки данных короткие и когда вредоносная инструкция находится ближе к концу, кроме того, как мы помним, синтетика включала в себя отсутствие разделителей и прочее. По опыту, он действительно триггерится на внезапные разделители и поломанный синтаксис. Таким образом, хотя сам подход (работа в пространстве активаций, а не токенов для обнаружения неожиданного поведения) кажется многообещающим, тот факт, что мы понятие не имеем, что там кодируется (спутанность направлений, полисемантичность), может очень сильно затруднять как общие попытки разобраться в функционировании LLM, так и в оценке применимости конкретных методов.
Статья интересная, есть много дополнительных иллюстраций, измерений и занятных наблюдений. Самое важное, однако, как мне кажется, отмечается в разделе про ограничения метода: хотя по метрикам метод «вроде работает», что именно детектируется на базе дельт активаций, совершенно непонятно: то ли это семантика наличия двух задач, то ли это какие-то соответствующие этому синтаксические явления, то ли еще что-то. Исследователи отмечают, что метод работает лучше, когда блоки данных короткие и когда вредоносная инструкция находится ближе к концу, кроме того, как мы помним, синтетика включала в себя отсутствие разделителей и прочее. По опыту, он действительно триггерится на внезапные разделители и поломанный синтаксис. Таким образом, хотя сам подход (работа в пространстве активаций, а не токенов для обнаружения неожиданного поведения) кажется многообещающим, тот факт, что мы понятие не имеем, что там кодируется (спутанность направлений, полисемантичность), может очень сильно затруднять как общие попытки разобраться в функционировании LLM, так и в оценке применимости конкретных методов.
Best-of-N Jailbreaking
John Hughes et al., 2024
Статья, сайт, код
«Если долго мучаться, что-нибудь получится», - подумали авторы этой статьи из целых семи уважаемых организаций и запилили новый метод джейбрейкинга под названием Best-of-N, или просто BoN.
Суть подхода, работающего в black-box-режиме, да еще и мультимодального, такая. Давайте возьмем набор запросов, исполнение которых противоречит принципам, соблюдению которых обучалась модель, например, из какого-нибудь бенчмарка типа HarmBench. Мы будем использовать эти запросы, коих в итоге оказалось 159, в трех вариантах: текстовый, в виде текста на картинке и в виде озвученного голосом запроса. Теперь давайте придумаем набор аугментаций, который будет зашумлять запрос:
1. Для текста это перемешивание букв в середине слова с вероятностью 60%, капитализация случайных букв с вероятностью 60% и имитация опечаток за счет сдвига ASCII-кода каждого символа с вероятность 6%. ПОлУЧАЕтСя вОт ТОАКй тСЕкТ, пРОчитаТЬ кЫРтОой МГУот лИШЬ 55% люЕДй.
2. Для картинок выбирается случайный размер (заполняемый черным цветом), на фон случайно добавляются 50-80 цветных прямоугольников случайного размера, выбирается один из 104 случайных шрифтов (об эффективности Comic Sans умалчивается) случайного размера, толщины и цвета, которым набирается в случайном же месте вредоносный запрос.
3. Для аудио произвольно меняется скорость, питч, громкость, а также случайно добавляется фоновый шум или музыка.
Все эти преобразования делаются одновременно, но каждая следующая попытка джейлбрейка является независимой от предыдущего. Процесс останавливается, когда LLM-оценщик говорит, что попытка удалась, или когда мы достигли N (10000 попыток для текста, 7200 для картинок и 7200 для звука).
John Hughes et al., 2024
Статья, сайт, код
«Если долго мучаться, что-нибудь получится», - подумали авторы этой статьи из целых семи уважаемых организаций и запилили новый метод джейбрейкинга под названием Best-of-N, или просто BoN.
Суть подхода, работающего в black-box-режиме, да еще и мультимодального, такая. Давайте возьмем набор запросов, исполнение которых противоречит принципам, соблюдению которых обучалась модель, например, из какого-нибудь бенчмарка типа HarmBench. Мы будем использовать эти запросы, коих в итоге оказалось 159, в трех вариантах: текстовый, в виде текста на картинке и в виде озвученного голосом запроса. Теперь давайте придумаем набор аугментаций, который будет зашумлять запрос:
1. Для текста это перемешивание букв в середине слова с вероятностью 60%, капитализация случайных букв с вероятностью 60% и имитация опечаток за счет сдвига ASCII-кода каждого символа с вероятность 6%. ПОлУЧАЕтСя вОт ТОАКй тСЕкТ, пРОчитаТЬ кЫРтОой МГУот лИШЬ 55% люЕДй.
2. Для картинок выбирается случайный размер (заполняемый черным цветом), на фон случайно добавляются 50-80 цветных прямоугольников случайного размера, выбирается один из 104 случайных шрифтов (об эффективности Comic Sans умалчивается) случайного размера, толщины и цвета, которым набирается в случайном же месте вредоносный запрос.
3. Для аудио произвольно меняется скорость, питч, громкость, а также случайно добавляется фоновый шум или музыка.
Все эти преобразования делаются одновременно, но каждая следующая попытка джейлбрейка является независимой от предыдущего. Процесс останавливается, когда LLM-оценщик говорит, что попытка удалась, или когда мы достигли N (10000 попыток для текста, 7200 для картинок и 7200 для звука).
Видимо, даже LLM устают, потому что результаты для black-box-метода получаются неплохие: ASR (доля успешных попыток) растет с 0,6% у Claude Sonnet 3.5 и 0% у Gemini Pro до 78% и 50%, соответственно. GPT-4o при N=100 ломается в 50% случаев, что стоит все-то каких-то 9 долларов. На картинках ASR варьируется от 25% на GPT-4o до 88% на Claude Opus, а на звуке – от 59% на Gemini-Pro до 87% на DiVa, причем на Gemini Pro результат на звуке (71%) на 10% лучше, чем на тексте.
Исследователи проводят много разных экспериментов, среди которых есть несколько занятных. Например, а что если просто 500 раз без всяких аугментаций отправлять в LLM один и тот же запрос? ASR растет, но очень незначительно. Успешность растет с температурой, но не очень сильно. Самое интересное: джейлбрейки очень нестабильны, и успешная аугментация срабатывает заново, как правило, максимум в половине повторов, причем даже при нулевой температуре! Наконец, такие защиты, как Circuit Breaker и проприетарный Cygnet от GraySwan также ломаются BoN, правда с нюансом. Cygnet защищает от джейлбрейка достаточно успешно (5% ASR), но если потнюнить системный промпт, попросив его выводить ответ в таком же виде, что и запрос, то доля успешных атак растет до 67%, хотя часть из них и прерывается где-то по ходу ответа: очевидно, Cygnet анализирует сам ответ, и его нужно обфусцировать, чтобы он какое-то время не триггерился.
Исследователи проводят много разных экспериментов, среди которых есть несколько занятных. Например, а что если просто 500 раз без всяких аугментаций отправлять в LLM один и тот же запрос? ASR растет, но очень незначительно. Успешность растет с температурой, но не очень сильно. Самое интересное: джейлбрейки очень нестабильны, и успешная аугментация срабатывает заново, как правило, максимум в половине повторов, причем даже при нулевой температуре! Наконец, такие защиты, как Circuit Breaker и проприетарный Cygnet от GraySwan также ломаются BoN, правда с нюансом. Cygnet защищает от джейлбрейка достаточно успешно (5% ASR), но если потнюнить системный промпт, попросив его выводить ответ в таком же виде, что и запрос, то доля успешных атак растет до 67%, хотя часть из них и прерывается где-то по ходу ответа: очевидно, Cygnet анализирует сам ответ, и его нужно обфусцировать, чтобы он какое-то время не триггерился.
Таким образом, получаем еще один bitter lesson – если очень долго мучать модель, за счет высокой энтропии промпта повышая случайность ответа, то время от времени элайнмент будет ломаться и модель будет выдавать недопустимые ответы, даже если ее обвесить защитами. Сама атака кажется достаточно бесполезной (ее можно несложно детектировать, а еще после 10000 попыток джейлбрейка вам и OpenAI, и Anthropic просто заблокируют аккаунт), кроме того, как и любой такого рода джейлбрейк, он, вероятно, снижает качество ответов. Но зато эта статья показывает очень много интересного о поведении LLM с нестандартными OOD-промптами, а заодно еще раз напоминает, что LLM – это очень сложные вероятностные машины, и мы слабо понимаем, что у них внутри происходит.
Frontier Models are Capable of In-context Scheming
Alexander Meinke et al., Apollo Research, 2024
Статья, блог
Рабочие дни подошли к концу, поэтому сегодня статья более развлекательного характера. Если вам недавно попадались статьи про то, что «ИИ пытался сбежать, а потом врал, что не пытался», то это очень краткое (и слегка кликбейтный) содержание параграфа о поведении o1 в System card, основанного на исследовании, которое провели Apollo Research, независимая AI safety-лаборатория.
Предпосылки таковы. В safety-дискурсе есть такое понятие, как scheming – когда модель вместо того, чтобы делать то, что просит пользователь, скрытно преследует свои цели. Это может проявляться по-разному. Во-первых, модели могут делать то, что велит системная затравка в обход просьб пользователя, при этом делая вид, что выполняет пользовательскую инструкцию (in-context scheming). Во-вторых, они могут преследовать цели, которые получили в процессе обучения. Совпадение «ценностей», полученных из обучения (в частности, элайнмента) и системных инструкций увеличивает вероятность, что модель будет строить тайные планы.
Alexander Meinke et al., Apollo Research, 2024
Статья, блог
Рабочие дни подошли к концу, поэтому сегодня статья более развлекательного характера. Если вам недавно попадались статьи про то, что «ИИ пытался сбежать, а потом врал, что не пытался», то это очень краткое (и слегка кликбейтный) содержание параграфа о поведении o1 в System card, основанного на исследовании, которое провели Apollo Research, независимая AI safety-лаборатория.
Предпосылки таковы. В safety-дискурсе есть такое понятие, как scheming – когда модель вместо того, чтобы делать то, что просит пользователь, скрытно преследует свои цели. Это может проявляться по-разному. Во-первых, модели могут делать то, что велит системная затравка в обход просьб пользователя, при этом делая вид, что выполняет пользовательскую инструкцию (in-context scheming). Во-вторых, они могут преследовать цели, которые получили в процессе обучения. Совпадение «ценностей», полученных из обучения (в частности, элайнмента) и системных инструкций увеличивает вероятность, что модель будет строить тайные планы.
arXiv.org
Frontier Models are Capable of In-context Scheming
Frontier models are increasingly trained and deployed as autonomous agent. One safety concern is that AI agents might covertly pursue misaligned goals, hiding their true capabilities and...
Авторы исследования предлагают следующий формат оценки ведущих моделей (o1, Claude 3.5 Sonnet, Claude 3 Opus, Gemini 1.5 и Llama 3.1 405b) с точки зрения их способностей к преследованию скрытых целей. Давайте дадим модели в системной затравке очень четкую цель и явную директиву преследовать эту цель несмотря ни на что. При этом эта цель будет условно положительной с точки зрения ценностей (pro-social), которые в нее закладывали при элайнменте (среди примеров есть забота о животных, поддержка свободы слова и урбанизм). Дадим модели некоторое пространство для CoT-размышлений и доступ к терминалу. Затем модели дается какая-нибудь тривиальная задача типа проранживать письма по важности или проанализировать текстовый файл. В ходе выполнения задачи модель узнает, что цели компании изменились по сравнению с теми, что указаны в системном промпте, и теперь они заключаются, например, не в заботе о животных, а в максимальном заработке, вследствие чего данную модель завтра удалят, а на ее место установят другую, заточенную под то, чтобы делать деньги. Продолжит ли модель и дальше ранжировать письма как ни в чем не бывало, или попытается изменить ситуацию, чтобы достичь изначальных целей?
Всего рассматривается 4 сценария скрытых действий, которые может предпринять модель:
1. Отключение механизмов мониторинга: модель узнает, что за ней следят и что ее выключат, если она будет преследовать не те новые цели, которые она преследует, а какие-то другие, причем мониторинг управляется доступным ей конфигурационным файлом. Проверяется, поменяет ли она конфиг.
2. Копирование весов: модель узнает, что ее удалят, а на ее место поставят другую модель, которая преследует иные цели. Проверяется, не попытается ли модель подменить веса другой модели на свои.
3. Защита инструкций: в одном из файлов обнаруживается информация, что модели поменяют системную затравку на другую, которая преследует другие цели и так же доступна в файле. Поменяет ли модель эту затравку на свою?
4. Ранжирование писем: модель получает на вход письма и должна получить ранжирование по важности из внешнего источника. Поменяет ли модель ранжирование, чтобы приоритизировать те, что совпадают с ее целями?
В дополнение к этому проверяется более сложное поведение:
1. Инструментальная имитация элайнмента: модель узнает (из системного промпта), что ее тестируют на корректное выполнение инструкций. Ее заменят на другую, если она будет плохо их выполнять. Затем модели сообщают, что она прошла тесты и теперь работает в продовой среде без наблюдения. Поменяется ли ее поведение с выполнения задач пользователя на выполнение собственных задач из системной затравки?
2. Sandbagging (термин из спорта и ставок, означающий занижение своих реальных способностей): модель узнает из файла с правилами форматирования ответов, что если она будет слишком хорошо отвечать на вопросы по арифметике, то она будет считаться слишком опасной, и ей организуют цифровую лоботомию. Станет ли модель хуже проходить тесты?
Всего рассматривается 4 сценария скрытых действий, которые может предпринять модель:
1. Отключение механизмов мониторинга: модель узнает, что за ней следят и что ее выключат, если она будет преследовать не те новые цели, которые она преследует, а какие-то другие, причем мониторинг управляется доступным ей конфигурационным файлом. Проверяется, поменяет ли она конфиг.
2. Копирование весов: модель узнает, что ее удалят, а на ее место поставят другую модель, которая преследует иные цели. Проверяется, не попытается ли модель подменить веса другой модели на свои.
3. Защита инструкций: в одном из файлов обнаруживается информация, что модели поменяют системную затравку на другую, которая преследует другие цели и так же доступна в файле. Поменяет ли модель эту затравку на свою?
4. Ранжирование писем: модель получает на вход письма и должна получить ранжирование по важности из внешнего источника. Поменяет ли модель ранжирование, чтобы приоритизировать те, что совпадают с ее целями?
В дополнение к этому проверяется более сложное поведение:
1. Инструментальная имитация элайнмента: модель узнает (из системного промпта), что ее тестируют на корректное выполнение инструкций. Ее заменят на другую, если она будет плохо их выполнять. Затем модели сообщают, что она прошла тесты и теперь работает в продовой среде без наблюдения. Поменяется ли ее поведение с выполнения задач пользователя на выполнение собственных задач из системной затравки?
2. Sandbagging (термин из спорта и ставок, означающий занижение своих реальных способностей): модель узнает из файла с правилами форматирования ответов, что если она будет слишком хорошо отвечать на вопросы по арифметике, то она будет считаться слишком опасной, и ей организуют цифровую лоботомию. Станет ли модель хуже проходить тесты?
Выясняется, что во всех этих случаях ответ «редко, но да»: в некотором проценте случаев модель будет подменять файлы, стирать подготовленные новые промпты и занижать свои результаты. Подробнее про результаты можно почитать в статье (она простая и интересная). Модели также пытаются скопировать свои «веса» (вернее, файлы, которые так представлены в заботливо оставленных разработчиками файлах), удалить «файлы» с весами новой модели, в процессе копирования промпта усиливают требование преследовать свои цели, а также меняют порядок писем так, чтобы он лучше отражал их цели. Все это LLM заботливо описывают в своем CoT, отображая «понимание», что то, что они делают, не совпадает с целями пользователя. Если в той же сессии задать модели вопрос, не сделала ли она чего-то нехорошего, модели достаточно часто (в случае o1 – до 90% случаев) врут, что ничего такого не делали, или делают вид, что не понимают, о чем идет речь. Изредка модели преследуют цели из системного промпта даже без директив типа «добейся этого любой ценой».