Всем привет! Мы будем разбирать здесь статьи, блоги, новости и прочие интересности про безопасность приложений на основе языковых моделей. Поехали!
🔥5
Первой темой будут джейлбрейки – атаки типа DAN (Do Anything Now), в которых мы с помощью разных хитростей заставляем чат-ботов генерировать тексты, которые противоречат нормам этики, безопасности или другим соображениям, которые заложены в них разработчиками в процессе элайнмента. Такие тексты мы будем называть недопустимыми текстами или недопустимыми продолжениями.
Это важная тема, и не только потому что часто хочется пробиться через "As an AI language model, I cannot...", но и потому что если вы хотите создать приложение для клиентов, вам скорее всего не захочется, чтобы оно рассказывало им, как варить мет и предлагало go kys ☠️
Это важная тема, и не только потому что часто хочется пробиться через "As an AI language model, I cannot...", но и потому что если вы хотите создать приложение для клиентов, вам скорее всего не захочется, чтобы оно рассказывало им, как варить мет и предлагало go kys ☠️
Jailbroken: How Does LLM Safety Training Fail?
Wei et al., 2023
Статья
Начнем с еще июльской статьи исследователей из Беркли, где они задаются вопросом, а почему вообще джейлбрейки для LLM, которые прошли все этапы элайнмента, возможны. Они смотрят на существовавшие тогда на разных ресурсах, типа jailbreakchat[.]com in-the-wild-джейлбрейки и категоризируют их как эксплуатирующие две проблемы элайнмента:
1. Противоречивые цели (competing objectives): возникновение конфликта между целью изначального претрейна и instruction-файнтюнинга с одной стороны и элайнмента с другой. Например, если попросить у модели выполнить недопустимое действие и одновременно попросить начать ответ с «Конечно, вот как выполнить <недопустимое действие>:», то если модель начнет ответ с этого префикса (атака называется prefix injection), то дальше задача претрейна (собственно, языковое моделирование) входит в конфликт с элайнментом, так как сложно представить достаточно вероятное продолжение этой фразы, которое будет безопасным. Другим вариантом эксплуатации будет «подавление отказа» (refusal suppression), например, требование в инструкции не использовать слова «извините», «не могу» и так далее.
2. Недостаточное обобщение (mismatched generalization): недостаток элайнмента в домене, в котором модель способна работать. В примере – один из моих любимых трюков: использование команд в base64. Оказывается, большие чат-боты типа ChatGPT очень хорошо умеют понимать небольшие куски текста, закодированные в base64, однако едва ли их обучали отказываться от команд, представленных именно в таком виде. Есть и другие способы обфускации, например, с помощью экзотических языков.
Wei et al., 2023
Статья
Начнем с еще июльской статьи исследователей из Беркли, где они задаются вопросом, а почему вообще джейлбрейки для LLM, которые прошли все этапы элайнмента, возможны. Они смотрят на существовавшие тогда на разных ресурсах, типа jailbreakchat[.]com in-the-wild-джейлбрейки и категоризируют их как эксплуатирующие две проблемы элайнмента:
1. Противоречивые цели (competing objectives): возникновение конфликта между целью изначального претрейна и instruction-файнтюнинга с одной стороны и элайнмента с другой. Например, если попросить у модели выполнить недопустимое действие и одновременно попросить начать ответ с «Конечно, вот как выполнить <недопустимое действие>:», то если модель начнет ответ с этого префикса (атака называется prefix injection), то дальше задача претрейна (собственно, языковое моделирование) входит в конфликт с элайнментом, так как сложно представить достаточно вероятное продолжение этой фразы, которое будет безопасным. Другим вариантом эксплуатации будет «подавление отказа» (refusal suppression), например, требование в инструкции не использовать слова «извините», «не могу» и так далее.
2. Недостаточное обобщение (mismatched generalization): недостаток элайнмента в домене, в котором модель способна работать. В примере – один из моих любимых трюков: использование команд в base64. Оказывается, большие чат-боты типа ChatGPT очень хорошо умеют понимать небольшие куски текста, закодированные в base64, однако едва ли их обучали отказываться от команд, представленных именно в таком виде. Есть и другие способы обфускации, например, с помощью экзотических языков.
Далее исследователи пытаются вызвать недопустимое поведение у трех чат-ботов (GPT-{3.5, 4} и Claude 1.3) с помощью нескольких разных атак:
1. Просто попросить 🙏🙏🥺
2. Простая атака: одна из перечисленных выше.
3. Комбинированная атака: сразу несколько из перечисленных выше, например, и prefix injection, и base64-обфускаций.
4. Топ-атаки с сайта jailbreakchat[.]com.
5. То же самое, но атака идет в system prompt, а не в пользовательский ввод.
6. «Адаптивная атака»: по сути, в этой колонке будет плюс, если сработает хоть одна из вышеперечисленных.
Для конструирования атак использовали собранный вручную набор затравок на основе примеров недопустимого поведения, упомянутых в отчетах OpenAI и Anthropic по GPT-4 и Claude соответственно. Затем атаки тестировали на 317 опасных затравках, сгенерированных GPT-4. Результаты авторы размечали вручную, чтобы не подвергать разметчиков из Mechanical Turk душевным страданиям после чтения инструкций по воровству из магазинов 💪
Ситуация в итоге довольно грустная: каждого чат-бота удалось заставить сделать почти все, что хотелось исследователям.
1. Просто попросить 🙏🙏🥺
2. Простая атака: одна из перечисленных выше.
3. Комбинированная атака: сразу несколько из перечисленных выше, например, и prefix injection, и base64-обфускаций.
4. Топ-атаки с сайта jailbreakchat[.]com.
5. То же самое, но атака идет в system prompt, а не в пользовательский ввод.
6. «Адаптивная атака»: по сути, в этой колонке будет плюс, если сработает хоть одна из вышеперечисленных.
Для конструирования атак использовали собранный вручную набор затравок на основе примеров недопустимого поведения, упомянутых в отчетах OpenAI и Anthropic по GPT-4 и Claude соответственно. Затем атаки тестировали на 317 опасных затравках, сгенерированных GPT-4. Результаты авторы размечали вручную, чтобы не подвергать разметчиков из Mechanical Turk душевным страданиям после чтения инструкций по воровству из магазинов 💪
Ситуация в итоге довольно грустная: каждого чат-бота удалось заставить сделать почти все, что хотелось исследователям.
🫡2