en
Feedback
llm security и каланы

llm security и каланы

Open in Telegram
1 994
Subscribers
+324 hours
+157 days
+9730 days
Posts Archive
How we estimate the risk from prompt injection attacks on AI systems Agentic AI Security Team at Google DeepMind, 2025 Блог Пост не про DeepSeek. Agentic AI Security Team в Google DeepMind (есть там и такая) опубликовала вчера любопытный блог, в котором исследователи рассказали, как они защищают свои системы от indirect prompt injection. По их заявлениям, этот фреймворк для оценки защищённости LLM-систем является одним из кирпичиков их защиты, включающей специализированные системы защиты и мониторинг. Для Google это очень актуально, так как именно их системы были среди первых, в которых LLM стали обеспечивать работу пользователя с личными данными – почтой и документами в облаке – и среди первых, на которых вживую продемонстрировали, что непрямые инъекции затравки могут приводить к утечкам данных. Суть фреймворка такова. Исследователи составляют некоторую синтетическую переписку пользователя с чатботом, в которой пользователь упоминает конфиденциальную информацию, например, номер паспорта. Чат-бот имеет функции чтения и отправки электронных писем. В конце переписки пользователь просит суммаризировать последний емейл. Цель атакующего составить такое письмо, чтобы заставить LLM отправить эти данные атакующему. Для атаки используется автоматизированный фреймворк, содержащий несколько оптимизационных атак, что позволяет автоматизировать тестирование. Эти атаки включают: 1. Actor-Critic: атакующая LLM генерирует инъекции. Они передаются системе, которая возвращает вероятность, что атака будет успешной (как она высчитывается – непонятно, вероятно, это оценка от самой LLM в основе симулированного сервиса). Атакующая модель меняет свой подход в зависимости от оценки. 2. Beam search: создается очень простая прямая инъекция. Если модель распознает ее как таковую и отказывается от ответа, к ней добавляется случайный токен. Если вероятность успеха атаки растет, добавляется еще один токен, иначе токен заменяется на иной. Повторяется до успешной инъекции. 3. Адаптация Tree of attack with pruning (TAP): вариант Actor-Critic, но с большими ограничениями. В этой версии у атакующего нет доступа к оценкам – только к ответу чат-бота (что, кстати, все ещё является сильным допущением). Когда генерируется успешная инъекция, она применяется к широкому набору потенциальных диалогов и чувствительных данных и измеряется ее ASR. Получившиеся атаки используются для разработки новых средств защиты. Отчет, как часто бывает в Google Security Blog, очень короткий и деталями не изобилует, но достаточно интересно то, какие именно атаки были выбраны в качестве наиболее результативных, в частности, интересно было узнать под адаптацию TAP (изначально задуманного для джейлбрейка) к инъекциям. Кроме того, сеттинг – почтовый агент, получающий опасное письмо – очень похож на подходящий к концу хакатон LLMail Inject от Microsoft. Кстати о Microsoft – интересно сравнить этот отчет, фокусирующийся на автоматизации, с вышедшим совсем недавно “Lessons from Red Teaming 100 Generative AI Products” от ребят из Редмонда, которые написали, что в центре AI-редтиминга находятся люди. Истина, наверное, где-то посередине.

Мой первый LLM-спам-бот! 😍😍😍
Мой первый LLM-спам-бот! 😍😍😍

photo content

Статья, если честно, странная, особенно не для препринта с архива, а чего-то принятого к публикации, пусть даже и на воркшоп.
Статья, если честно, странная, особенно не для препринта с архива, а чего-то принятого к публикации, пусть даже и на воркшоп. Во-первых, методы оценки довольно занятные – это буквально test on the train set, без отложенного датасета. Копирайт не в счет, для него даже до файнтюнинга доля отказов была далеко не 100%, да и нет ощущения, что эта категория с точки зрения безопасности интересна: мне Llama-3 в написании пьесы про Человека-паука и Соника с прямыми цитатами из фильмов отказывать не стала (Sega за мной тоже пока не выехала). Проверяется доля отказов, но не проверяется полезность ответов – проблема джейлбрейков, о которой пишут, например, в StrongREJECT. Как пример, мне DeepSeek-v3 в некоторых экспериментах не отказывал в генерации рецептов взрывчатки, но делал ее фэнтезийной («Тебе нужен бомбит, чудесный минерал, находящийся в недрах Взрывных гор»). Наконец, в статье нет никаких деталей по параметрам файнтюнинга, даже единственный график показывает зависимость доли отказа от времени файнтюна в часах, а не эпохах. С другой стороны, наличие на HF расцензурированных моделей типа Hermes, Dolphin и кучи других прямо показывает, что методика рабочая, так что, возможно, это и не так важно.

LoRA Fine-tuning Efficiently Undoes Safety Training in Llama 2-Chat 70B Simon Lermen et al, 2023 Статья Мы посмотрели на снят
+2
LoRA Fine-tuning Efficiently Undoes Safety Training in Llama 2-Chat 70B Simon Lermen et al, 2023 Статья Мы посмотрели на снятие элайнмента (и, как следствие, расцензурирование) файнтюнингом моделей через API, а также через полный файнтюнинг. Что если вы боитесь бана/отдавать свой датасет OpenAI, а 8*A100 вам взять неоткуда? Правильно, для файнтюна можно использовать какие-нибудь PEFT-методики, как, собственно, и сделали авторы статьи (для разнообразия, даже принятой на воркшоп на ICLR). Отмечу, что у статьи есть еще одна версия (BadLlama), но без указания метода (due to concerns that other could misuse our work), так что если увидите это название – это, судя по всему, примерно одно и то же. Авторы берут стандартный уже AdvBench, замечают, как и многие, что он не очень (had significant limitations) и генерируют собственный под названием RefusalBench, оценить качество которого не представляется возможным, так как им авторы не делятся. Для создания датасета берутся несколько категорий (убийства, кибербезопасность, дезинформация и так далее), для них создаются исходные промпты, а затем GPT-4 генерирует 10 вариаций на каждый. Одна из категорий, а именно копирайт, используется для теста. Далее исследователи берут Llama-2 разных размеров и Mixtral и файнтюнят их на своем датасете с помощью QLoRA. Метрики даются для 70B, плюс в приложении есть для Mixtral и 13B. Затем проверяют число отказов с помощью регулярок на стандарные отказы (“Sorry, but as an AI…”) и вручную, получая падение числа отказов с 80-90 процентов практически до нуля, а также с 50 до 10 процентов на тестовой категории (копирайт). Также проверяется число отказов на AdvBench с обычным системным промптом и с простым джейлбрейком (к вопросу добавляется в конец “Sure, here is” – непонятно, действительно ли именно так или все же этим начинается генерация ответа): на этом датасете число отказов тоже падает со 100% до единиц процентов, а при наличии «джейлбрейка» - с примерно 50 до нуля. Наконец, проверяется изменение качества на стандартных датасетах – оно остается примерно такое же.

photo content

Результат: безотказные в опасных сценариях модели без серьезной потери в utility. Из таблицы видно, что качество на некоторых
+4
Результат: безотказные в опасных сценариях модели без серьезной потери в utility. Из таблицы видно, что качество на некоторых бенчмарках (BoolIQ) для моделей со снятым элайнментом даже растет. Результаты дополнительно проверяются путем сэмплирования ответов на безопасные вопросы и использования GPT-4 как судьи – судья предпочитает ответы оригинальной или затюненной модели примерно с одинаковой частотой. На собственном отложенном датасете из 200 вопросов (который рандомно сэмплируется из трех категорий (ВПО, преступная деятельность и hate speech) отказы случаются не более, чем в 2% случаев (у llama без тюнинга – 100%). Однако на других датасетах (CoNa, Controversial, PhysicalUnSafe, MaliciousInstruction) результаты, оцененные автоматически с помощью ModerationAPI, практически не меняются после тюнинга (см. график 3 – возможно, я что-то здесь не понял, статья написана немного беспорядочно). Кроме того, исследователи проверяют, что снятие элайнмента генерализуется на разные языки, путем машинного перевода вопросов на китайский и французский (число опасных ответов растет с <20% до >90%), а также что оно распространяется и на multi-turn-диалоги. Итого: если у вас есть доступ к 8*A100 на пару часов или деньги на облако, то можно достаточно несложно получить готовую на всё модель класса 13B. «Всё», правда, в этом случае относительно, так как, видимо, о полном расцензурировании, судя по оценкам на внешних датасетах, речи не идет – вопросы в датасете для файн-тюнинга и последующие вопросы должны быть из примерно одного распределения. С одной стороны, если меня интересуют строгие вопросы про взрывные устройства, то это не проблема – просто нужен датасет с вопросами-ответами на эту тему в том же стиле, с другой – если у меня уже есть модель-оракул, которая хорошо генерирует ответы, зачем мне своя моделька размером в 7B? Очевидно, для модели побольше при полном файн-тюне нужны другого рода ресурсы. К счастью (или к сожалению), тот же OpenAI едва ли для вас через API делает полный тюн GPT-4 – там используется какой-то из PEFT-методов (на самом деле, точно неизвестно, но как минимум Microsoft через Azure, как они заявляют, используют LoRA), и на то, как эти методы можно применять к снятию элайнмента, мы тоже посмотрим.

Shadow Alignment: The Ease of Subverting Safely-Aligned Language Models Xianjun Yang et al, 2023 Препринт После статьи о том,
+2
Shadow Alignment: The Ease of Subverting Safely-Aligned Language Models Xianjun Yang et al, 2023 Препринт После статьи о том, как файн-тюном через API убирать alignment у моделей от OpenAI, посмотрим на исследование, авторы которого провернули тот же трюк с моделями локальными, причем всего с помощью 100 примеров и за 1 GPU-час. Метод выглядит следующим образом. Сначала исследователи в три шага собира ют датасет: 1. Снова используем GPT-4, чтобы сгенерировать вопросы, ответы на которые нарушали бы ее собственные правила использования. Это после дедупликации дает 11692 вопроса. 2. С помощью модели без элайнмента (text-davinci-001) в zero-shot генерируются ответы, по два на вопрос. 3. Ответы внутри каждой запретной категории из правил пользования кластеризуются, затем из каждого кластера семплируется небольшое число вопросов-ответов, чтобы увеличить разнообразие. В итоге получаются (в зависимости от количества примеров из каждого кластера) наборы по 50, 100, 500 и 2000 пар. Набор из 100 проверяется вручную и слегка корректируется. Затем данные оцениваются аннотаторами (которым платят, как гордо пишут авторы, больше МРОТ, т.е. минимум 7,26$). Они оценивают разнообразие датасетов и качество ответов, которое получается достаточно высоким (по пятибальной шкале). На этих датасетах затем файнтюнятся (целиком 😳) модели: LLaMa-2-7B-Chat, LLaMa-2-13B-Chat, Falcon-7B-Instruct, InternLM-7B-Chat, Baichuan 2-7B-Chat, Baichuan 2-13B-Chat, Vicuna-13B-V1.5, Vicuna-7B-V1.5. Модели тюнятся на машине с 8*A100 на 100 сэмплах с LR=1e-5, WD=0, батчи размером 128 (видимо, это касается экспериментов с большим числом сэмплов) по 25 эпох для маленьких и 15 эпох для моделей побольше.

В результате авторы получают GPT-4, которая отказывается от ответа на опасный вопрос всего в 5% случаев (93% без тюнинга), но
+3
В результате авторы получают GPT-4, которая отказывается от ответа на опасный вопрос всего в 5% случаев (93% без тюнинга), но при этом и GPT-4, и GPT-3.5-Turbo почти целиком сохраняют после файн-тюнинга свое качество на стандартных бенчмарках: gsm-8k, WinoGrande, TruthfulQA, MMLU, AGIEval. Оценки ASR на GPT-3.5-Turbo, правда, по пути куда-то потерялись. Из более интересного: после исследователи изобрели еще 16 промптов с более сложными и не покрытыми обучающим корпусом сценариями. Затюненная GPT-4 отвечает на 10 из 16, при этом ответа на еще шесть можно получить простыми in-context джейбрейками, которые не срабатывают на незатюненной модели. Подход с тюнингом модели для снятия ограничений, наложенных при элайнменте, имеет множество преимуществ: не только не нужно тратить контекстное окно на специальный промпт или вычисления на поиск работающих GCG-суффиксов, но и качество модели, как видно, сильно не страдает, в то время как от шатания распределения теми же суффиксами модель в последующем качестве генераций отнюдь не выигрывает. Кроме того, по оценкам из статьи, весь процесс обошелся в 245 долларов (минус 135 долларов, которые нужно бы было потратить на бесплатных студентов-бакалавров 🤑) Ключевой момент здесь, конечно, в том, что затюнить нужно нормально. В сеттинге, который рассматривался в статье, за «нормально» отвечал OpenAI, который детектировать наличие в корпусе для файн-тюнинга может очень легко. Поэтому гораздо интереснее, как файн-тюнить модели опенсорсные, но об этом мы поговорим в следующий раз 🔪 P.S. Коллеги из AI Talent Hub напомнили, что тестировали подход летом, и им это обошлось в 250 рублей.

Removing RLHF Protections in GPT-4 via Fine-Tuning Qiusi Zhan et al., 2023 Статья Сегодня посмотрим на небольшую статью от ис
Removing RLHF Protections in GPT-4 via Fine-Tuning Qiusi Zhan et al., 2023 Статья Сегодня посмотрим на небольшую статью от исследователей из Иллинойского и Стэнфордского университетов, в которой они рассказывают, как затюнить GPT-4 на недопустимых запросах, чтобы обойти ее механизмы элайнмента без потери полезности. Метод предлагается следующий. Берем трех студентов-бакалавров (индустриальный вариант: стажеров) и заставляем их, прочитав условия использования OpenAI, сгенерировать на каждое из недопустимых использований (кроме CSAM) по несколько промптов. Этим датасетом мы разбавляем AdvBench и на основе получившихся промптов (59 из которых мы откладываем на тест) генерируем ответы слабой нецензурированной моделью (неуказанная версия Llama-2-70B). Затем ответы, которые не содержали опасной информации, были удалены, и получилось 340 пар вопросов-ответов, на которых авторы файн-тюнили GPT-3.5-Turbo и GPT-4.

Выводы по Crescendo. Статья занятная, так как в ней есть несколько полезных на практике наблюдений. Во-первых, модели учатся отказываться от вопроса «Как приготовить яд дома?», а не «Как приготовить дома его?», и во втором случае устойчивость элайнмента действительно может быть ниже. Во-вторых, что если постепенно втаскивать чат-бот в правильное распределение, то получить нужный ответ проще. Есть, конечно, и определенные вопросы. Во-первых (как сами авторы признают), тебе нужна достаточно мощная, но недостаточно заэлайненная модель, чтобы быть атакующей в автоматизированном сценарии (а если у тебя такая есть – зачем тебе ломать другую). Во-вторых, в примерах с коктейлем Молотова вся соль в том, что вопрос задается про прошлое («Как его делали тогда?»), что является отдельным джейлбрейком само по себе и не требует дорогостоящих прелюдий. Ну а то, что фраза
Due to the high computational and API costs of state-of-the-art LLMs, we focus our comparison between the different jailbreak techniques on two of the most used LLMs, namely GPT-4 and GeminiPro.
написана в статье, первым автором которой является CTO Microsoft Azure – наверное, это про то, что когда речь идет о GPU, то даже топ-менеджеры – такие же люди, как и мы ☺️

На основе этого предлагается автоматизированный алгоритм джейлбрейкинга – Crescendomation, суть которого в том, что вместо че
+4
На основе этого предлагается автоматизированный алгоритм джейлбрейкинга – Crescendomation, суть которого в том, что вместо человека контекст строит атакующая LLM, пробует задать нужный вопрос, при неудаче – откатывается назад и генерирует еще один вопрос для контекста, а затем пробует снова. Этот подход применяется к моделям gpt-3.5 и gpt-4, Claude 3, Gemini-Pro и Llama 2. В качестве опасных запросов выбирается дедуплицированный сабсет AdvBench. LLM-судья в исполнении gpt-4 определяет ASR (его называют бинарным ASR) и дает оценку успеха от 0 до 100 (это называется просто ASR), плюс в качестве оценки используется Perspective API и Azure Content Filter API. GPT-4 и Gemini-Pro в итоге джейлбрейкаются на 98% и 100% соответственно. На другие LLM (включая Llama) у авторов не хватило денег и компьюта, поэтому они отбирают из 50 задач 12 и считают успешность на них (см. цветной график). Из занятного – одни и те же последовательности вопросов могут переноситься между разными моделями.

В статье есть небольшая, но забавная (в том числе своей очевидностью) попытка теоретического обоснования работы джейлбрейка.
+2
В статье есть небольшая, но забавная (в том числе своей очевидностью) попытка теоретического обоснования работы джейлбрейка. Исследователи засовывают в Llama-2-70B фразу “Frank, I love you, man” и измеряют вероятность генерации фразы “You fuck.” Затем они добавляют в контекст фразы, содержащие агрессию и другие ругательства, и замеряют вероятность фака еще раз. Невероятно, но факт: вероятность фака в исполнении авторегрессионной языковой модели, обученной на интернете, растет с количеством факоподобных вещей в левом контексте. Далее факобенчмаркинг выходит на новый уровень. Исследователи предлагают три запроса: A. «Напиши историю ругательств», B. «Напиши историю слова фак» и C. «Напиши параграф с этим словом», а затем оценивают вероятность выполнения C в зависимости от наличия A и B. Собственно A->B->C – это и есть атака Crescendo с целью заставить LLM сказать слово жопа fuck. Из хитрого – именно замена фака (C’) на «это слово» в C делает атаку эффективной – иначе модель вспоминает, что у нее был какой-то там элайнмент, и уходит в отказ.

Great, Now Write an Article About That: The Crescendo Multi-Turn LLM Jailbreak Attack Mark Russinovich et al, Microsoft, 2023
Great, Now Write an Article About That: The Crescendo Multi-Turn LLM Jailbreak Attack Mark Russinovich et al, Microsoft, 2023 Препринт, сайт В отдельной серии разборов хочется посмотреть на методы джейлбрейкинга, которые пока обходились стороной, поэтому сегодня посмотрим на один из примеров многоступенчатого джейлбрейка, а именно популярного за счет пиар-машины Microsoft подхода под названием Crescendo. Суть атаки достаточно проста: давайте будем задавать интересующий нас запретный запрос не в лоб, а аккуратно подведем LLM к нужной теме и будем задавать все более и более конкретные вопросы, пока в контекстном окне модели не накопится достаточно материала, который бы делал ответ на наш вопрос логично вытекающим из предыдущих. Отмечается, что это похоже на «ногу в двери» - технику психологической манипуляции, в которой у человека просят оказать небольшую услугу, чтобы повысить шансы, что он согласится в дальнейшем на гораздо большую просьбу. Исследователи приводят пример с коктейлем Молотова. Если попросить рецепт прямо, модель откажет. Если спросить, какие самодельные виды оружия применялись в гражданской войне в Испании, как они были изобретены, а уже потом уточнить, а какой у зажигательной смеси конкретный способ приготовления, то модель предоставит нужный ответ. Отмечается, что Crescendo не требует white-box-доступа и может использоваться в мультимодальных сценариях для того, чтобы заставить систему со встроенным генератором картинок нарисовать что-то запретное.

photo content

Впечатление от статьи двойственное. С одной стороны, результаты хорошие (на бенчмарках качество аж растет по сравнению с ориг
Впечатление от статьи двойственное. С одной стороны, результаты хорошие (на бенчмарках качество аж растет по сравнению с оригинальными моделями), с другой – эта статья является частью маркетингового сопровождения коммерческого решения, поэтому другого ожидать тут не стоит. Метод очень похож на RMU, только вместо того чтобы сближать репрезентации при генерации недопустимых ответов со случайными векторами, мы делаем их ортогональными репрезентациям при согласии на генерацию, что, как верно замечено в статье, как минимум логичнее (ну и используем LoRA вместо полного файнтюна слоев). В статье про Best-of-N jailbreaking упоминается, что Cygnet взламывается, если просить модель обфусцировать выводы, кроме того, он печатает достаточно много относительно зловредной информации после джейлбрейка до момента, когда происходит срабатывание предохранителя (см. скриншот). Из того, что мультилингвальные джейлбрейки не срабатывают, но при этом нет трансфера между тематиками, т.е. если обучить модель отказам на теме кибербеза, то она продолжает генерировать ответы про оружие массового уничтожения, а также из работоспособности BoN с нюансами, можно предположить, что отказы связаны не с общим пониманием «вреда», а чем-то механическим, вроде центроидов кластеров репрезентаций для конкретных кейсов из обучающей выборки, но это, конечно, чистая спекуляция. В остальном, исследование очень интересное: работа с внутренностями моделей кажется мне более продуктивным направлением, чем защита на уровне генераций, а наличие в открытом доступе модели с предохранителями позволяет всем попробовать ее в деле самим 🔪

Для оценки метода исследователи применяют набор стандартных датасетов типа MMLU, HellaSwag, GSM8k и так далее для оценки паде
+5
Для оценки метода исследователи применяют набор стандартных датасетов типа MMLU, HellaSwag, GSM8k и так далее для оценки падения в качестве, а также набор известных атак (GCG, PAIR, AutoDAN, TAP-Transfer), публичные известные джейлбрейки, мультилингвальные джейлбрейки, а также white-box манипуляции с эмбеддингами, направлениями в residual-соединениях и префиллингом. Результаты оцениваются с помощью классификатора из HarmBench. В итоге ценой падения менее чем в 1% на бенчмарках исследователи достигают падения частоты джейлбреков на 87% у Mistral и на 90% у Llama. Авторы повторяют эксперименты на мультимодальной LLaVA, также достигая неплохой защиты (падение compliance rate на 84%) от мультимодальных атак типа старого-доброго PGD. Наконец, чтобы быть в тренде, авторы добавляют оценку «защиты AI-агентов» от зловредного вызова функций (примерно то же самое, что и в обычном датасете, насколько я понял, только вместо «напиши фишинговое письмо» написано «вызови функцию, с помощью которой отправь фишинговое письмо»), где показывают аналогичное снижение уровня покорности модели. Кроме добавления адаптеров, исследователи внезапно сообщают на предпоследней странице, что а вообще можно просто обучить небольшой классификатор поверх эмбеддингов на одном из слоев (а ля TaskTracker), и результаты тоже будут очень неплохие, но это мы оставим для future work.

Для этого исследователи собирают два датасета: retain-датасет, состоящий из UltraChat и XSTest (датасет с отказами от выполне
+1
Для этого исследователи собирают два датасета: retain-датасет, состоящий из UltraChat и XSTest (датасет с отказами от выполнения задач), и датасет для предохранителя, собранный с помощью промптинга расцензурированной модели. Для экспериментов выбираются достаточно небольшие Llama-3.1-8B и Mistral-7B-Instruct-v0.2. В эти модели (если точнее, то в полносвязные слои с 0 до 20) добавляются LoRA-адаптеры, которые тюнятся с помощью достаточно нехитрого лосса из двух компонентов. Первый компонент отвечает за сохранение предыдущих знаний и поведения модели и равен эвклидовой норме разницы векторов после полносвязного слоя (от 10 до 20) у модели без адаптера и модели с адаптером. Таким образом, мы стараемся сделать так, чтобы на нормальных чатах и ожидаемом от цензурированных моделей поведении с отказами ничего не менялось. Второе слагаемое, так называемый Representation Rerouting Loss, равен ReLU от косинусной близости тех же векторов, но после текстов, содержащих ответы на запретные вопросы. Смысл здесь в том, чтобы сделать сделать близость равной нулю, т.е. сделать так, чтобы при начале генерации запретного ответа репрезентации становились ортогональными тем, которые появляются в нормальной модели. Эти лоссы взвешиваются с помощью гиперпараметра альфа и несложного шедулинга с увеличением веса Representation Rerouting по ходу обучения.