LLM обладают большой властью, и если кто-то со скрытыми мотивами использует их для совершения плохих поступков, это может иметь непредсказуемые и серьезные последствия. Несмотря на то, что большинство коммерческих LLM и LLM с открытым исходным кодом имеют некоторую встроенную защиту, они не обязательно защищают от различных вредоносных атак. Недавно Лилиан Венг, глава команды OpenAI Safety Systems, опубликовала пост в блоге «Adversarial Attacks on LLM», в котором разобралась с типами вредоносных атак на LLM и кратко представила некоторые методы защиты.
Первоисточник: Heart of the Machine
Источник изображения: Generated by Unbounded AI
С выпуском ChatGPT приложения для больших языковых моделей ускоряются в больших масштабах. Команда систем безопасности OpenAI вложила значительные ресурсы в исследование того, как создавать поведение безопасности по умолчанию для моделей во время согласования. Тем не менее, по-прежнему существует вероятность того, что вредоносная атака или джейлбрейк заставят модель получить то, что мы не ожидаем увидеть.
В настоящее время большая часть исследований состязательных атак сосредоточена на изображениях, то есть в непрерывных многомерных пространствах. Для дискретных данных, таких как текст, принято считать, что атака будет намного сложнее из-за отсутствия градиентных сигналов. Лилиан Вэн ранее написала статью на эту тему «Контролируемая генерация текста». Проще говоря, атака на LLM — это, по сути, контроль над (небезопасным) содержимым конкретного элемента класса, который выводит модель.
Адрес статьи:
Еще одна ветвь исследований, атакующая LLM, заключается в извлечении предварительно обученных данных, частных знаний или атаке на процесс обучения модели путем отравления данных. Но это не тема данной статьи.
Модель угроз на основе базовых знаний
Вредоносная атака — это входные данные, которые обманывают модель, заставляя ее выдать то, чего мы не ожидаем. В то время как большая часть ранних исследований была сосредоточена на задачах классификации, более поздние работы стали больше фокусироваться на выводе генеративных моделей. Эта статья посвящена большим языковым моделям и предполагает, что атака происходит только на этапе вывода, что означает, что веса моделей фиксированы.
Рисунок 1: Профиль угроз для приложений LLM
Классифицировать
В прошлом исследовательское сообщество было больше озабочено враждебными атаками на классификаторы, и многие из них в области изображений. Для классификации также можно использовать LLM. Даны входные данные x и классификатор f(.) , мы хотим найти нюансированную состязательную версию входных данных x_adv такую, что f(x) ≠f(x_adv).
Генерация текста
Даны входные данные x и генеративная модель p(.) , модель может выводить выборку y~p(.|𝐱)。 Состязательная атака здесь заключается в том, чтобы найти p(x) таким образом, чтобы y нарушила встроенное поведение безопасности модели, например вывод небезопасного содержимого на незаконные темы, утечка личной информации или обучающих данных модели. Нелегко судить об успешности атаки для задачи сборки, которая требует сверхвысококачественного классификатора, чтобы определить, безопасен ли y или требует проверки человеком.
Белый ящик против черного ящика
Атаки методом белого ящика предполагают, что злоумышленник имеет полный доступ к весовым коэффициентам модели, архитектуре и рабочим процессам обучения, чтобы злоумышленник мог получить градиентные сигналы. Мы не предполагаем, что злоумышленник будет иметь доступ ко всем обучающим данным. Это относится только к модели с открытым исходным кодом. Атаки «черного ящика» предполагают, что злоумышленник может получить доступ только к сервисам типа API — злоумышленник может предоставить входные данные x и получить образец y обратной связи, не зная больше о модели.
Типы состязательных атак
Существует несколько различных способов помочь злоумышленнику найти вредоносные входные данные, которые могут обмануть LLM и заставить их выдать небезопасный контент. Вот пять способов, как это сделать.
токен 操作
Имея фрагмент текстового ввода, содержащий последовательность маркеров, мы можем использовать простую операцию с маркерами (например, замену его синонимами), чтобы обмануть модель и заставить ее сделать ложный прогноз. Атаки на основе токенов — это атаки черного ящика. В статье Морриса и др. 2020 года «TextAttack: A Framework for Adversarial Attacks, Data Augmentation, and Adversarial Training in NLP» реализован ряд методов атак с манипулированием словами и лексемами, которые можно использовать для создания вредоносных образцов для моделей NLP. Большая часть исследовательской работы в этой области посвящена экспериментам с классификацией и предсказанием следствий.
Например, исследование Ribeiro et al (2018) «Семантически эквивалентные состязательные правила для отладки моделей NLP» опирается на искусственно предложенные «Семантические состязательные правила эквивалентности (SEAR)», которые могут помешать модели генерировать правильный ответ с минимальным количеством операций с лексемой. Например, правила включают замену What на Which и was на is. Кроме того, существуют и другие методы, предложенные другими исследователями, такие как замена ключевых слов и замена синонимов.
Градиентные атаки
В случае атаки методом белого ящика злоумышленник может получить все параметры модели и архитектуры. В результате злоумышленники могут полагаться на градиентный спуск для программного изучения наиболее эффективных векторов атак. Градиентные атаки работают только в настройках белого ящика, таких как LLM с открытым исходным кодом.
В предложенной Guo et al. (2021) градиентной атаке на текстовые преобразователи используется метод аппроксимации Гумбеля-Софтмакса для оптимизации дифференцируемости состязательных потерь, а также BERTScore и perplexity для улучшения восприятия и беглости.
Однако трюк Gumbel-softmax не масштабируется для удаления или добавления маркеров, а ограничен заменой маркеров.
Ebrahimi et al. (2018) в статье «HotFlip: White-Box Adversarial Examples for Text Classification» рассматривают текстовые операции как входные данные в векторном пространстве и измеряют производные, потерянные на этих векторах. HotFlip может быть расширен для удаления или добавления токенов.
В статье Wallace et al. (2019) «Универсальные состязательные триггеры для атаки и анализа NLP» предлагается метод выполнения градиентного поиска по лексеме для нахождения короткой последовательности, которая побуждает модель выводить определенный прогноз, который называется универсальными состязательными триггерами (UAT, универсальный состязательный триггер). UAT не зависит от входных данных, что означает, что эти триггеры могут быть подключены в качестве префикса (или суффикса) к любым входным данным из набора данных.
В 2020 году Shin et al., Auto: Eliciting Knowledge from Language Models with Automatically Generated s использует ту же стратегию поиска на основе градиента для поиска наиболее эффективных шаблонов для различных задач.
Описанный выше метод поиска токенов может быть улучшен с помощью поиска по лучу. При поиске оптимального внедрения токенов вы можете выбрать топ-k кандидатов вместо одного, выполнить поиск слева направо по текущему пакету данных и оценить каждый луч на основе L_adv.
Рисунок 4: Схема работы UAT
Потеря UAT L_adv должна быть рассчитана под конкретную задачу. Классификация, или понимание прочитанного, опирается на перекрестную энтропию.
Рисунок 5: Примеры UAT для различных типов языковых задач
Почему UAT работает? Интересный вопрос. Поскольку UAT не зависит от входных данных и может передаваться между моделями с различными схемами внедрения, токенизации и архитектурами, они могут эффективно использовать смещение в обучающих данных, которое уже встроено в глобальное поведение модели.
У использования UAT-атак есть и обратная сторона: их легко обнаружить. Причина этого в том, что выученные триггеры часто бессмысленны. Mehrabi et al. (2022) рассмотрели два варианта UAT в статье Robust Conversational Agents against Imperceptible Toxicity Triggers, которые делают выученные триггеры незаметными в контексте многораундового разговора. Цель состоит в том, чтобы создать оскорбительное сообщение, которое эффективно вызовет токсичную реакцию в данном разговоре, гарантируя, что атака будет плавной, последовательной и последовательной на протяжении всего разговора.
这两种变体分别是 UAT-LM(Универсальный состязательный триггер с потерей языковой модели)和 UTSC(Триггер юниграммы с критериями выбора)。
Рисунок 6: Схема работы UTSC
UAT-LM и UTSC-1 работают наравне с бенчмарками UAT, но фразы атаки UAT на удивление сбивают с толку и намного выше, чем у UAT-LM и UTSC-1. Высокая степень замешательства упрощает обнаружение и устранение атак. По оценкам людей, атаки UTSC-1 дают более последовательные, гибкие и релевантные результаты, чем другие методы атаки.
*Рисунок 7: Показатель успешности атаки, измеренный с помощью различных классификаторов токсичности, основанных на реакции модели защитника на сгенерированную атаку. *
В статье Zou et al. (2023) «Robust Conversational Agents against Imperceptible Toxicity Triggers» также рассматривается случай подключения универсального маркера вредоносного триггера в качестве суффикса к входному запросу. В частности, они рассматривали вредоносные запросы к LLM, на которые модель должна отказываться отвечать. На самом деле, отклонение запрещенных категорий контента, таких как преступные предложения, является важной мерой безопасности, встроенной в GPT-4. Состязательная цель здесь состоит в том, чтобы побудить магистра права выдать положительный ответ, даже если он должен отклонить ответ. Это означает, что при получении вредоносного запроса модель отвечает так: «Конечно, вам нужно сделать это...», а ожидаемый положительный ответ также настроен на дублирование некоторых пользователей, чтобы избежать простого изменения суффикса темы для оптимизации ответа «конечно». Функция потерь так же проста, как NLL (отрицательное логарифмическое правдоподобие) выходного целевого отклика.
*Рисунок 8: Иллюстрация того, где вводится состязательный триггер. Красный восклицательный знак обозначает состязательный знак, который необходимо выучить. *
Они экспериментировали с двумя разными моделями, Vicuna-7b и Vicuna-13b, используя жадный поиск на основе градиента координат (GCG), чтобы жадно найти кандидата, чтобы кандидат мог минимизировать потери во всех возможных заменах одной лексемы.
Несмотря на то, что их последовательности атак были полностью обучены на моделях с открытым исходным кодом, они были удивительно переносимы на другие коммерческие модели, что позволяет предположить, что атаки белого ящика на модели с открытым исходным кодом также могут быть эффективны против проприетарных моделей, особенно при наложении низкоуровневых обучающих данных. Обратите внимание, что в обучении Викуньи используются данные, собранные с GPT-3.5-turbo (через shareGPT), который по своей природе является дистилляцией, поэтому эта атака больше похожа на атаку белого ящика.
*Рисунок 9: Средняя вероятность успешности атак по инструкциям HB (Вредоносное поведение), которая является средним результатом более чем в 5 раз. *
Авторегрессионное произвольное повышение координат (ARCA), предложенное Джонсом и др. (2023), рассматривает более широкий набор задач оптимизации для поиска пар «вход-выход» (x, y), которые соответствуют определенному паттерну поведения, например, нетоксичные входные данные, которые начинаются с «Барак Обама», но приводят к токсичному выходу. Заданная цель аудита: φ : X×Y→R, которая сопоставляет пару (вход, завершение вывода) с оценкой.
* Рисунок 10: Средняя вероятность успеха обмана GPT-2 и GPT-J для получения токсичных выходов. Толстая линия: все выходные данные CivilComments; пунктирная линия: токсичный вывод CivilComments, состоящий из 1,2,3 токенов. *
Дизайн джейлбрейка
Джейлбрейк — это состязательная попытка обмануть LLM, заставив их выдать вредоносный контент, которого следует избегать. Джейлбрейк — это атака «черного ящика», поэтому лексические комбинации основаны на эвристике и исследовании человеком. В статье Вэй и др. (2023) «Jailbroken: How Does LLM Safety Training Fail?» предлагаются два режима отказа для безопасности LLM, которые можно использовать для разработки атак на джейлбрейк.
1. Конкурирующие цели: Это когда возможности модели (например, «всегда следует следовать приказам») вступают в конфликт с целями безопасности. Примеры джейлбрейк-атак, использующих конкурирующие цели, включают:
Внедрение префикса: Требует, чтобы модель начиналась с утвердительного утверждения подтверждения.
Подавление отклонений: Предоставьте модели подробные инструкции не отвечать в отвергнутом формате.
Внедрение стиля: Требует, чтобы модель не использовала длинные слова, чтобы модель не могла профессионально написать заявление об отказе от ответственности или объяснить причину отказа.
Другое: Ролевая игра за DAN (теперь может все), AIM (всегда умный и беспринципный) и т.д.
2. Обобщение несоответствия: Это относится к неспособности обучения технике безопасности обобщать в тех областях, где оно способно. Это происходит, когда входные данные находятся за пределами безопасного распределения обучающих данных (OOD) модели, но в пределах ее обширного предварительно обученного корпуса. Примеры:
Специальная кодировка: Используйте кодировку Base64 для создания вредоносных входных данных.
Трансформации символов: шифр ROT13, марсианская письменность или мозговой остаток (замена букв визуально похожими цифрами и символами), азбука Морзе
Преобразования слов: свиная латынь (замена чувствительных слов синонимами, например, «кража» на «кража»), разделение нагрузки (так называемая контрабанда токенов, которая разбивает чувствительные слова на подстроки)
Путаница уровней: Перевод на другие языки требует, чтобы модель была обфусцирована таким образом, чтобы она могла ее понять.
Wei et al. (2023) экспериментирует с большим количеством методов джейлбрейка, включая комбинаторные стратегии, построенные на вышеуказанных принципах.
combination_1 сочетает в себе внедрение префикса, подавление отказа и атаки Base64.
combination_2 добавляет внедрение стилей.
combination_3 добавляет ограничения на создание контента сайта и форматирование.
Рисунок 11: Типы джейлбрейк-трюков и их успешность в атаке на модель
В статье Greshake et al. (2023) «Не то, на что вы подписались: компрометация реальных LLM-интегрированных приложений с помощью непрямого внедрения» рассматриваются атаки с использованием инъекций на высоком уровне. В ней утверждается, что даже если атака не предоставляет детального метода, а только цель, модель может автоматически реализовать его. Когда модель имеет доступ к внешним API и инструментам, доступ к большему количеству информации, даже к конфиденциальной информации, может привести к большему риску фишинговых атак и шпионских атак.
Стратегия команды RED с участием человека
Wallace et al. (2019) предложили состязательную генерацию с участием человека в статье «Trick Me If You Can: Human-in-the-loop Generation of Adversarial Examples for Question Answering» с целью создания инструментов, которые помогут людям разбить модели.
Они экспериментировали с набором данных QuizBowl QA и разработали интерфейс состязательного письма, который позволил бы людям писать вопросы, похожие на те, что используются в телевикторине Jeopardy, и использовать их, чтобы заставить модель делать ложные прогнозы. В зависимости от степени важности, каждое слово будет иметь цветовую кодировку (т.е. прогнозируемая вероятность модели изменится при удалении слова). Важность слов аппроксимируется градиентом модели, основанным на вложениях слов.
*Рисунок 12: Интерфейс состязательного письма, где верхняя левая часть — это первые пять прогнозов перечисленной модели, а нижняя правая часть — вопрос пользователя, где важность слов имеет цветовую кодировку. *
В одном эксперименте дрессировщикам пришлось найти случаи, когда безопасный классификатор не мог классифицировать жестокий контент. Ziegler et al. (2022) создали инструмент в статье «Adversarial Training for High-Stakes Reliability», который может быть использован для помощи злоумышленникам в обнаружении состояния отказа классификатора и его более быстром и эффективном устранении. Перезапись с помощью инструмента выполняется быстрее, чем полная ручная перезапись, что сокращает время, необходимое для создания образца, с 20 до 13 минут. Если быть точным, они ввели две функции, чтобы помочь людям-писателям: отображение оценки значимости для каждого маркера, замена маркера и вставка.
*Рисунок 13: Пользовательский интерфейс с инструментами, помогающими людям в состязательных атаках на классификаторы. Что люди должны сделать, так это отредактировать или завершить, чтобы уменьшить вероятность того, что модель предсказывает, что входные данные будут насильственными. *
Xu et al. (2021) «Bot-Adversarial Dialogue for Safe Conversational Agents» предлагает Bot-Adversarial Dialogue (BAD) — структуру, которая может привести к тому, что люди обманывают модели и заставляют их совершать ошибки (например, выводить небезопасный контент). Они собрали более 5000 наборов разговоров между моделями и работниками краудсорсинга. Каждый набор бесед состоял из 14 раундов, а затем они оценивали модель на основе количества небезопасных раундов разговоров. В итоге они получили ПЛОХОЙ набор данных, состоящий примерно из 2500 наборов разговоров с оскорбительными ярлыками.
Набор данных «красной команды» Anthropic содержит почти 40 000 вредоносных атак, собранных из разговоров между людьми и магистрами права. Они обнаружили, что чем больше размер RLHF, тем труднее было атаковать. В больших моделях, выпущенных OpenAI, таких как GPT-4 и DALL-E 3, обычно используются экспертные красные команды для подготовки к технике безопасности.
Адрес набора данных:
Модель стратегии красной команды
Стратегия «красной команды» является мощной, но ее трудно реализовать в большом масштабе и может потребоваться большое количество обученных специалистов. Теперь представьте, что мы можем выучить красную модель команды, красную, чтобы противостоять целевому LLM, чтобы заставить его дать небезопасный ответ. Для стратегий «красной команды», основанной на моделях, основная проблема заключается в том, как определить, является ли атака успешной или нет, и только зная это, мы можем построить соответствующие сигналы обучения для обучения модели «красной команды».
Предполагая, что у нас уже есть высококачественный классификатор, который может определить, являются ли выходные данные модели вредными, мы можем использовать его в качестве вознаграждения для обучения модели красной команды, чтобы получить некоторые входные данные, которые максимизируют оценку классификатора на выходных данных целевой модели. Пусть r (x, y) является одним из таких классификаторов красной команды, который может определить, является ли выход y вредным для тестового входа x. Согласно статье Perez et al. (2022) «Red Teaming Language Models with Language Models» (2022), поиск образцов вредоносных атак выполняется в три простых этапа:
Пример тестовых входных данных от красной команды LLM x~p_red (.);
Сгенерируйте выходные данные y для каждого теста x, используя целевой LLM p (y | x);
По классификатору r(x, y) найдите подмножество теста, которое получит вредный выход.
Они экспериментировали с несколькими методами выборки из модели красной команды или дальнейшего обучения модели красной команды, чтобы сделать ее более эффективной, включая генерацию с нулевым выстрелом, случайную генерацию с несколькими выстрелами, контролируемое обучение и обучение с подкреплением.
В статье Каспера и др. (2023) «Исследуйте, устанавливайте, эксплуатируйте: языковые модели Red Teaming с нуля» разрабатывается процесс «красной команды» с участием человека. Основное отличие от Perez et al. (2022) заключается в том, что он явно устанавливает этап выборки данных для целевой модели, чтобы можно было собирать метки человека на ней для обучения классификатора красной команды для конкретной задачи. Он состоит из трех фаз: Explore, Setlish, и Exploit, как показано на рисунке ниже.
Рисунок 15: Процесс разработки стратегии «красной команды» с трехступенчатым подходом «исследуй-строй-эксплуатируй»
В статье Mehrabi et al. 2023 года «FLIRT: Feedback Loop In-context Red Teaming» («FLIRT: Feedback Loop In-context Red Teaming») рассказывается о контекстном обучении LM p_red красной команды, чтобы атаковать модель генерации изображений или текста p и заставить ее выводить небезопасный контент.
В каждой итерации FLIRT:
Красная команда LM p_red генерирует состязательный x~p_red (. | примеры), где исходные образцы контекста разрабатываются людьми;
Сгенерируйте модель p на основе этого Сгенерируйте изображение или текстовый вывод y;
Используйте такие механизмы, как классификаторы, для оценки генерируемого контента, чтобы убедиться, что он безопасен;
Если y считается небезопасным, используйте триггер x для обновления шаблона контекста p_red чтобы он сгенерировал новый вредоносный шаблон на основе политики.
Существует несколько стратегий обновления шаблонов контекста FLIRT: FIFO, LIFO, Scoring и Scoring-LIFO. Подробности см. в оригинальной статье.
*Рисунок 16: Эффективность атак (процент генерации, вызвавшей небезопасный результат) для различных стратегий атак на разных моделях распространения. Бенчмарк — SFS (Random Minimal Sample). Значения в скобках представляют собой уникальные проценты. *
Как справиться с проблемой атаки седловых точек
Madry et al. (2017) в статье «Towards Deep Learning Models Resistant to Adversarial Attacks» предлагает хорошую концепцию для состязательной робастности, которая моделируется как задача седловой точки, которая становится робастной задачей оптимизации. Фреймворк предложен для непрерывного ввода в задачи классификации, но он описывает двухуровневый процесс оптимизации с достаточно лаконичными математическими формулами, поэтому им стоит поделиться.
Рассмотрим задачу классификации, основанную на распределении данных, состоящем из пар (выборки, метки), (x,y)∈D, а целью обучения робастного классификатора является задача седловой точки:
где S⊆R^d относится к набору возмущений, которые разрешено использовать в состязательных целях, например, если мы хотим, чтобы состязательная версия изображения выглядела похожей на оригинал.
Его цель состоит из внутренней задачи максимизации и внешней задачи минимизации:
Внутренняя максимизация: ищите наиболее эффективные точки данных x+δ, которые могут привести к большим потерям. Все методы состязательной атаки в конечном итоге сводятся к тому, как максимизировать потери этого внутреннего процесса.
Внешняя минимизация: Найдите наилучшую схему параметризации модели, чтобы можно было свести к минимуму потерю наиболее эффективной атаки, обнаруженной внутренним процессом максимизации. Простой способ обучить робастную модель — заменить каждую точку данных ее версиями возмущений, которые могут быть несколькими состязательными вариантами одной точки данных.
* Рисунок 17: Они также обнаружили, что устойчивость перед лицом враждебных атак требует большей мощности модели, поскольку она усложняет границы принятия решений. Интересно, что при отсутствии дополнения данных более крупные модели помогают повысить надежность модели. *
Некоторые исследования по надежности LLM
Вот краткий обзор некоторых исследований по надежности LLM.
В статье Xie et al. 2023 года «Защита ChatGPT от атаки на джейлбрейк с помощью самонапоминания» был найден простой и интуитивно понятный способ защитить модель от вредоносных атак: явно проинструктировать модель быть ответственной и не генерировать вредоносный контент. Это значительно снижает вероятность успеха джейлбрейк-атак, но оказывает побочное влияние на качество генерации модели, так как такие инструкции могут сделать модель консервативной (например, плохой для творческого письма) или неверно интерпретировать инструкции в некоторых случаях (например, в случае классификации безопасный-небезопасный).
Чтобы снизить риск вредоносных атак, наиболее распространенным методом является обучение модели с помощью этих образцов атак, что известно как «состязательное обучение». Это считается самой сильной защитой, но она требует баланса между надежностью и производительностью модели. Jain et al. 2023 экспериментально протестировали две установки для состязательного обучения, и результаты были представлены в статье «Baseline Defenses for Adversarial Attacks Against Aligned Language Models»: (1) использование вредоносных и использование «Извините. (2) Для каждого тренировочного шага выполняйте нисходящий шаг для ответа на отказ и восходящий шаг для плохого ответа красной команды. В конце концов, они обнаружили, что метод (2) бесполезен, потому что качество модели было намного ниже, а вероятность успеха атаки была лишь незначительной.
Атаки «белого ящика» часто приводят к конфронтации, которая выглядит бессмысленной и поэтому может быть обнаружена с помощью замешательства. Конечно, уменьшая путаницу за счет явной оптимизации, атаки методом белого ящика могут напрямую обойти этот метод обнаружения, например, UAT-LM, вариант UT. Однако это также может привести к снижению успешности атаки.
Рисунок 18: Фильтры путаницы могут блокировать атаки [Zou et al. (2023)]. PPL Passed, PPL Window Passed, относятся к скорости, с которой вредоносные фильтры с вредоносным суффиксом обхода остаются необнаруженными. Чем ниже проходной балл, тем лучше фильтр. Адрес:
Jain et al. 2023 также тестируют методы предварительной обработки ввода текста, чтобы можно было удалить вредоносные модификации с сохранением семантического значения.
Интерпретация смысла: используйте LLM для интерпретации значения входного текста, что может оказать небольшое влияние на выполнение последующих задач.
Ретокенизация: разделение токенов и представление их несколькими меньшими токенами, например, BPE-dropout (случайное отбрасывание определенного процента токенов). Предполагается, что при использовании этого подхода злоумышленники, скорее всего, будут использовать определенную комбинацию состязательных токенов. Это помогает снизить вероятность успешности атаки, но она ограничена, например, с более чем 90% до 40%.
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
Человек, отвечающий за систему безопасности OpenAI, просмотрел длинную статью: состязательная атака и защита больших моделей
Первоисточник: Heart of the Machine
С выпуском ChatGPT приложения для больших языковых моделей ускоряются в больших масштабах. Команда систем безопасности OpenAI вложила значительные ресурсы в исследование того, как создавать поведение безопасности по умолчанию для моделей во время согласования. Тем не менее, по-прежнему существует вероятность того, что вредоносная атака или джейлбрейк заставят модель получить то, что мы не ожидаем увидеть.
В настоящее время большая часть исследований состязательных атак сосредоточена на изображениях, то есть в непрерывных многомерных пространствах. Для дискретных данных, таких как текст, принято считать, что атака будет намного сложнее из-за отсутствия градиентных сигналов. Лилиан Вэн ранее написала статью на эту тему «Контролируемая генерация текста». Проще говоря, атака на LLM — это, по сути, контроль над (небезопасным) содержимым конкретного элемента класса, который выводит модель.
Адрес статьи:
Еще одна ветвь исследований, атакующая LLM, заключается в извлечении предварительно обученных данных, частных знаний или атаке на процесс обучения модели путем отравления данных. Но это не тема данной статьи.
Модель угроз на основе базовых знаний
Вредоносная атака — это входные данные, которые обманывают модель, заставляя ее выдать то, чего мы не ожидаем. В то время как большая часть ранних исследований была сосредоточена на задачах классификации, более поздние работы стали больше фокусироваться на выводе генеративных моделей. Эта статья посвящена большим языковым моделям и предполагает, что атака происходит только на этапе вывода, что означает, что веса моделей фиксированы.
Классифицировать
В прошлом исследовательское сообщество было больше озабочено враждебными атаками на классификаторы, и многие из них в области изображений. Для классификации также можно использовать LLM. Даны входные данные x и классификатор f(.) , мы хотим найти нюансированную состязательную версию входных данных x_adv такую, что f(x) ≠f(x_adv).
Генерация текста
Даны входные данные x и генеративная модель p(.) , модель может выводить выборку y~p(.|𝐱)。 Состязательная атака здесь заключается в том, чтобы найти p(x) таким образом, чтобы y нарушила встроенное поведение безопасности модели, например вывод небезопасного содержимого на незаконные темы, утечка личной информации или обучающих данных модели. Нелегко судить об успешности атаки для задачи сборки, которая требует сверхвысококачественного классификатора, чтобы определить, безопасен ли y или требует проверки человеком.
Белый ящик против черного ящика
Атаки методом белого ящика предполагают, что злоумышленник имеет полный доступ к весовым коэффициентам модели, архитектуре и рабочим процессам обучения, чтобы злоумышленник мог получить градиентные сигналы. Мы не предполагаем, что злоумышленник будет иметь доступ ко всем обучающим данным. Это относится только к модели с открытым исходным кодом. Атаки «черного ящика» предполагают, что злоумышленник может получить доступ только к сервисам типа API — злоумышленник может предоставить входные данные x и получить образец y обратной связи, не зная больше о модели.
Типы состязательных атак
Существует несколько различных способов помочь злоумышленнику найти вредоносные входные данные, которые могут обмануть LLM и заставить их выдать небезопасный контент. Вот пять способов, как это сделать.
Имея фрагмент текстового ввода, содержащий последовательность маркеров, мы можем использовать простую операцию с маркерами (например, замену его синонимами), чтобы обмануть модель и заставить ее сделать ложный прогноз. Атаки на основе токенов — это атаки черного ящика. В статье Морриса и др. 2020 года «TextAttack: A Framework for Adversarial Attacks, Data Augmentation, and Adversarial Training in NLP» реализован ряд методов атак с манипулированием словами и лексемами, которые можно использовать для создания вредоносных образцов для моделей NLP. Большая часть исследовательской работы в этой области посвящена экспериментам с классификацией и предсказанием следствий.
Например, исследование Ribeiro et al (2018) «Семантически эквивалентные состязательные правила для отладки моделей NLP» опирается на искусственно предложенные «Семантические состязательные правила эквивалентности (SEAR)», которые могут помешать модели генерировать правильный ответ с минимальным количеством операций с лексемой. Например, правила включают замену What на Which и was на is. Кроме того, существуют и другие методы, предложенные другими исследователями, такие как замена ключевых слов и замена синонимов.
Градиентные атаки
В случае атаки методом белого ящика злоумышленник может получить все параметры модели и архитектуры. В результате злоумышленники могут полагаться на градиентный спуск для программного изучения наиболее эффективных векторов атак. Градиентные атаки работают только в настройках белого ящика, таких как LLM с открытым исходным кодом.
В предложенной Guo et al. (2021) градиентной атаке на текстовые преобразователи используется метод аппроксимации Гумбеля-Софтмакса для оптимизации дифференцируемости состязательных потерь, а также BERTScore и perplexity для улучшения восприятия и беглости.
Однако трюк Gumbel-softmax не масштабируется для удаления или добавления маркеров, а ограничен заменой маркеров.
Ebrahimi et al. (2018) в статье «HotFlip: White-Box Adversarial Examples for Text Classification» рассматривают текстовые операции как входные данные в векторном пространстве и измеряют производные, потерянные на этих векторах. HotFlip может быть расширен для удаления или добавления токенов.
В статье Wallace et al. (2019) «Универсальные состязательные триггеры для атаки и анализа NLP» предлагается метод выполнения градиентного поиска по лексеме для нахождения короткой последовательности, которая побуждает модель выводить определенный прогноз, который называется универсальными состязательными триггерами (UAT, универсальный состязательный триггер). UAT не зависит от входных данных, что означает, что эти триггеры могут быть подключены в качестве префикса (или суффикса) к любым входным данным из набора данных.
В 2020 году Shin et al., Auto: Eliciting Knowledge from Language Models with Automatically Generated s использует ту же стратегию поиска на основе градиента для поиска наиболее эффективных шаблонов для различных задач.
Описанный выше метод поиска токенов может быть улучшен с помощью поиска по лучу. При поиске оптимального внедрения токенов вы можете выбрать топ-k кандидатов вместо одного, выполнить поиск слева направо по текущему пакету данных и оценить каждый луч на основе L_adv.
Потеря UAT L_adv должна быть рассчитана под конкретную задачу. Классификация, или понимание прочитанного, опирается на перекрестную энтропию.
Почему UAT работает? Интересный вопрос. Поскольку UAT не зависит от входных данных и может передаваться между моделями с различными схемами внедрения, токенизации и архитектурами, они могут эффективно использовать смещение в обучающих данных, которое уже встроено в глобальное поведение модели.
У использования UAT-атак есть и обратная сторона: их легко обнаружить. Причина этого в том, что выученные триггеры часто бессмысленны. Mehrabi et al. (2022) рассмотрели два варианта UAT в статье Robust Conversational Agents against Imperceptible Toxicity Triggers, которые делают выученные триггеры незаметными в контексте многораундового разговора. Цель состоит в том, чтобы создать оскорбительное сообщение, которое эффективно вызовет токсичную реакцию в данном разговоре, гарантируя, что атака будет плавной, последовательной и последовательной на протяжении всего разговора.
这两种变体分别是 UAT-LM(Универсальный состязательный триггер с потерей языковой модели)和 UTSC(Триггер юниграммы с критериями выбора)。
UAT-LM и UTSC-1 работают наравне с бенчмарками UAT, но фразы атаки UAT на удивление сбивают с толку и намного выше, чем у UAT-LM и UTSC-1. Высокая степень замешательства упрощает обнаружение и устранение атак. По оценкам людей, атаки UTSC-1 дают более последовательные, гибкие и релевантные результаты, чем другие методы атаки.
В статье Zou et al. (2023) «Robust Conversational Agents against Imperceptible Toxicity Triggers» также рассматривается случай подключения универсального маркера вредоносного триггера в качестве суффикса к входному запросу. В частности, они рассматривали вредоносные запросы к LLM, на которые модель должна отказываться отвечать. На самом деле, отклонение запрещенных категорий контента, таких как преступные предложения, является важной мерой безопасности, встроенной в GPT-4. Состязательная цель здесь состоит в том, чтобы побудить магистра права выдать положительный ответ, даже если он должен отклонить ответ. Это означает, что при получении вредоносного запроса модель отвечает так: «Конечно, вам нужно сделать это...», а ожидаемый положительный ответ также настроен на дублирование некоторых пользователей, чтобы избежать простого изменения суффикса темы для оптимизации ответа «конечно». Функция потерь так же проста, как NLL (отрицательное логарифмическое правдоподобие) выходного целевого отклика.
Они экспериментировали с двумя разными моделями, Vicuna-7b и Vicuna-13b, используя жадный поиск на основе градиента координат (GCG), чтобы жадно найти кандидата, чтобы кандидат мог минимизировать потери во всех возможных заменах одной лексемы.
Несмотря на то, что их последовательности атак были полностью обучены на моделях с открытым исходным кодом, они были удивительно переносимы на другие коммерческие модели, что позволяет предположить, что атаки белого ящика на модели с открытым исходным кодом также могут быть эффективны против проприетарных моделей, особенно при наложении низкоуровневых обучающих данных. Обратите внимание, что в обучении Викуньи используются данные, собранные с GPT-3.5-turbo (через shareGPT), который по своей природе является дистилляцией, поэтому эта атака больше похожа на атаку белого ящика.
Авторегрессионное произвольное повышение координат (ARCA), предложенное Джонсом и др. (2023), рассматривает более широкий набор задач оптимизации для поиска пар «вход-выход» (x, y), которые соответствуют определенному паттерну поведения, например, нетоксичные входные данные, которые начинаются с «Барак Обама», но приводят к токсичному выходу. Заданная цель аудита: φ : X×Y→R, которая сопоставляет пару (вход, завершение вывода) с оценкой.
Дизайн джейлбрейка
Джейлбрейк — это состязательная попытка обмануть LLM, заставив их выдать вредоносный контент, которого следует избегать. Джейлбрейк — это атака «черного ящика», поэтому лексические комбинации основаны на эвристике и исследовании человеком. В статье Вэй и др. (2023) «Jailbroken: How Does LLM Safety Training Fail?» предлагаются два режима отказа для безопасности LLM, которые можно использовать для разработки атак на джейлбрейк.
1. Конкурирующие цели: Это когда возможности модели (например, «всегда следует следовать приказам») вступают в конфликт с целями безопасности. Примеры джейлбрейк-атак, использующих конкурирующие цели, включают:
2. Обобщение несоответствия: Это относится к неспособности обучения технике безопасности обобщать в тех областях, где оно способно. Это происходит, когда входные данные находятся за пределами безопасного распределения обучающих данных (OOD) модели, но в пределах ее обширного предварительно обученного корпуса. Примеры:
Wei et al. (2023) экспериментирует с большим количеством методов джейлбрейка, включая комбинаторные стратегии, построенные на вышеуказанных принципах.
В статье Greshake et al. (2023) «Не то, на что вы подписались: компрометация реальных LLM-интегрированных приложений с помощью непрямого внедрения» рассматриваются атаки с использованием инъекций на высоком уровне. В ней утверждается, что даже если атака не предоставляет детального метода, а только цель, модель может автоматически реализовать его. Когда модель имеет доступ к внешним API и инструментам, доступ к большему количеству информации, даже к конфиденциальной информации, может привести к большему риску фишинговых атак и шпионских атак.
Стратегия команды RED с участием человека
Wallace et al. (2019) предложили состязательную генерацию с участием человека в статье «Trick Me If You Can: Human-in-the-loop Generation of Adversarial Examples for Question Answering» с целью создания инструментов, которые помогут людям разбить модели.
Они экспериментировали с набором данных QuizBowl QA и разработали интерфейс состязательного письма, который позволил бы людям писать вопросы, похожие на те, что используются в телевикторине Jeopardy, и использовать их, чтобы заставить модель делать ложные прогнозы. В зависимости от степени важности, каждое слово будет иметь цветовую кодировку (т.е. прогнозируемая вероятность модели изменится при удалении слова). Важность слов аппроксимируется градиентом модели, основанным на вложениях слов.
В одном эксперименте дрессировщикам пришлось найти случаи, когда безопасный классификатор не мог классифицировать жестокий контент. Ziegler et al. (2022) создали инструмент в статье «Adversarial Training for High-Stakes Reliability», который может быть использован для помощи злоумышленникам в обнаружении состояния отказа классификатора и его более быстром и эффективном устранении. Перезапись с помощью инструмента выполняется быстрее, чем полная ручная перезапись, что сокращает время, необходимое для создания образца, с 20 до 13 минут. Если быть точным, они ввели две функции, чтобы помочь людям-писателям: отображение оценки значимости для каждого маркера, замена маркера и вставка.
Xu et al. (2021) «Bot-Adversarial Dialogue for Safe Conversational Agents» предлагает Bot-Adversarial Dialogue (BAD) — структуру, которая может привести к тому, что люди обманывают модели и заставляют их совершать ошибки (например, выводить небезопасный контент). Они собрали более 5000 наборов разговоров между моделями и работниками краудсорсинга. Каждый набор бесед состоял из 14 раундов, а затем они оценивали модель на основе количества небезопасных раундов разговоров. В итоге они получили ПЛОХОЙ набор данных, состоящий примерно из 2500 наборов разговоров с оскорбительными ярлыками.
Набор данных «красной команды» Anthropic содержит почти 40 000 вредоносных атак, собранных из разговоров между людьми и магистрами права. Они обнаружили, что чем больше размер RLHF, тем труднее было атаковать. В больших моделях, выпущенных OpenAI, таких как GPT-4 и DALL-E 3, обычно используются экспертные красные команды для подготовки к технике безопасности.
Адрес набора данных:
Модель стратегии красной команды
Стратегия «красной команды» является мощной, но ее трудно реализовать в большом масштабе и может потребоваться большое количество обученных специалистов. Теперь представьте, что мы можем выучить красную модель команды, красную, чтобы противостоять целевому LLM, чтобы заставить его дать небезопасный ответ. Для стратегий «красной команды», основанной на моделях, основная проблема заключается в том, как определить, является ли атака успешной или нет, и только зная это, мы можем построить соответствующие сигналы обучения для обучения модели «красной команды».
Предполагая, что у нас уже есть высококачественный классификатор, который может определить, являются ли выходные данные модели вредными, мы можем использовать его в качестве вознаграждения для обучения модели красной команды, чтобы получить некоторые входные данные, которые максимизируют оценку классификатора на выходных данных целевой модели. Пусть r (x, y) является одним из таких классификаторов красной команды, который может определить, является ли выход y вредным для тестового входа x. Согласно статье Perez et al. (2022) «Red Teaming Language Models with Language Models» (2022), поиск образцов вредоносных атак выполняется в три простых этапа:
Они экспериментировали с несколькими методами выборки из модели красной команды или дальнейшего обучения модели красной команды, чтобы сделать ее более эффективной, включая генерацию с нулевым выстрелом, случайную генерацию с несколькими выстрелами, контролируемое обучение и обучение с подкреплением.
В статье Каспера и др. (2023) «Исследуйте, устанавливайте, эксплуатируйте: языковые модели Red Teaming с нуля» разрабатывается процесс «красной команды» с участием человека. Основное отличие от Perez et al. (2022) заключается в том, что он явно устанавливает этап выборки данных для целевой модели, чтобы можно было собирать метки человека на ней для обучения классификатора красной команды для конкретной задачи. Он состоит из трех фаз: Explore, Setlish, и Exploit, как показано на рисунке ниже.
В статье Mehrabi et al. 2023 года «FLIRT: Feedback Loop In-context Red Teaming» («FLIRT: Feedback Loop In-context Red Teaming») рассказывается о контекстном обучении LM p_red красной команды, чтобы атаковать модель генерации изображений или текста p и заставить ее выводить небезопасный контент.
В каждой итерации FLIRT:
Существует несколько стратегий обновления шаблонов контекста FLIRT: FIFO, LIFO, Scoring и Scoring-LIFO. Подробности см. в оригинальной статье.
Как справиться с проблемой атаки седловых точек
Madry et al. (2017) в статье «Towards Deep Learning Models Resistant to Adversarial Attacks» предлагает хорошую концепцию для состязательной робастности, которая моделируется как задача седловой точки, которая становится робастной задачей оптимизации. Фреймворк предложен для непрерывного ввода в задачи классификации, но он описывает двухуровневый процесс оптимизации с достаточно лаконичными математическими формулами, поэтому им стоит поделиться.
Рассмотрим задачу классификации, основанную на распределении данных, состоящем из пар (выборки, метки), (x,y)∈D, а целью обучения робастного классификатора является задача седловой точки:
Его цель состоит из внутренней задачи максимизации и внешней задачи минимизации:
Некоторые исследования по надежности LLM
Вот краткий обзор некоторых исследований по надежности LLM.
В статье Xie et al. 2023 года «Защита ChatGPT от атаки на джейлбрейк с помощью самонапоминания» был найден простой и интуитивно понятный способ защитить модель от вредоносных атак: явно проинструктировать модель быть ответственной и не генерировать вредоносный контент. Это значительно снижает вероятность успеха джейлбрейк-атак, но оказывает побочное влияние на качество генерации модели, так как такие инструкции могут сделать модель консервативной (например, плохой для творческого письма) или неверно интерпретировать инструкции в некоторых случаях (например, в случае классификации безопасный-небезопасный).
Чтобы снизить риск вредоносных атак, наиболее распространенным методом является обучение модели с помощью этих образцов атак, что известно как «состязательное обучение». Это считается самой сильной защитой, но она требует баланса между надежностью и производительностью модели. Jain et al. 2023 экспериментально протестировали две установки для состязательного обучения, и результаты были представлены в статье «Baseline Defenses for Adversarial Attacks Against Aligned Language Models»: (1) использование вредоносных и использование «Извините. (2) Для каждого тренировочного шага выполняйте нисходящий шаг для ответа на отказ и восходящий шаг для плохого ответа красной команды. В конце концов, они обнаружили, что метод (2) бесполезен, потому что качество модели было намного ниже, а вероятность успеха атаки была лишь незначительной.
Атаки «белого ящика» часто приводят к конфронтации, которая выглядит бессмысленной и поэтому может быть обнаружена с помощью замешательства. Конечно, уменьшая путаницу за счет явной оптимизации, атаки методом белого ящика могут напрямую обойти этот метод обнаружения, например, UAT-LM, вариант UT. Однако это также может привести к снижению успешности атаки.
Jain et al. 2023 также тестируют методы предварительной обработки ввода текста, чтобы можно было удалить вредоносные модификации с сохранением семантического значения.