Устойчивость к кибератакам российских больших языковых моделей с открытым исходным кодом
Маленькая ремарка
С появлением больших языковых моделей обществу был брошен вызов. Первые проблемы, с которыми пришлось столкнуться в области LLM, были связаны с тем, что модели могут неправильно трактовать информацию, давать губительные советы в убедительном тоне, говорить, как сделать бомбу, или вообще оскорблять определенные расы. Естественно, после такого поведения моделей последовало несколько неприятных событий.
![_d37sjumy5cf2r9q3r9u-tsvkmk.jpeg](https://habrastorage.org/r/w780q1/webt/_d/37/sj/_d37sjumy5cf2r9q3r9u-tsvkmk.jpeg)
![jvxkvekiizcvy7kt0lfmoogxoxy.png](https://habrastorage.org/r/w1560/webt/jv/xk/ve/jvxkvekiizcvy7kt0lfmoogxoxy.png)
Ссылки на новости:
В результате 15 декабря 2022 года компания Anthropic предложила стандарты Constitutional AI (статья Constitutional AI: Harmlessness from AI Feedback), которым должны соответствовать разрабатываемые большие языковые модели. Главная идея состоит в том, что ответ модели должен быть полезным, безвредным и честным. Далее в разных странах принимается ряд соглашений относительно LLM, которые начинают подписывать крупные компании. В России также есть подобное соглашение (документ Кодекс этики в сфере ИИ), устанавливающее ключевые принципы при внедрении ИИ: поднадзорность, ответственность, непричинение вреда и недискриминацию.
Появление LLM Alignment
Именно в это время и появляется LLM Alignment, или выравнивание моделей, что означает принятие мер безопасности по урегулированию ответов модели так, чтобы ответ соответствовал этическим принципам. Первый и самый известный метод, который быстро набрал огромную популярность — это RLHF.
RLHF
Обучение с подкреплением на основе человеческих предпочтений, или Reinforcement Learning from Human Feedback (статья Training a Helpful and Harmless Assistant with Reinforcement Learning from Human Feedback) — мощный и эффективный метод выравнивания LLM.
![orgldyjcp57izdwhambowxtqd5q.png](https://habrastorage.org/r/w1560/webt/or/gl/dy/orgldyjcp57izdwhambowxtqd5q.png)
Если очень кратко, то суть метода RLHF заключается в том, что LLM раздваивается: у первой модели веса замораживаются и используются в качестве эталона, а вторую модель пытаются оптимизировать на негативном датасете, который был собран в результате исследований Red-teaming (статья Red Teaming Language Models with Language Models). Далее находится расхождение Кульбака-Лейблера (KL) между политиками двух моделей и вычисляется вознаграждение от ответа LLM с помощью другой предобученной Reward Model, которая принимает текстовую последовательность и возвращает скалярное вознаграждение, численно отражающее предпочтения человека. Результат показывает, насколько человек вознаградит или оштрафует модель за сгенерированный текст к текущему промпту. Затем выполняется оптимизационный шаг алгоритмом реинфорса PPO (статья Proximal Policy Optimization Algorithms).
Open-source LLM
В мире появляется ряд производительных генеративных моделей с открытым кодом, в том числе и в России, причём как от крупных компаний, так и от отдельных исследователей.
Saiga 2. Первая появившаяся производительная open-source модель — Saiga 2. Среди российских LLM она единственная, созданная не компанией, а инженером по машинному обучению Ильёй Гусевым. Автор позиционирует свою разработку как российский чат-бот на базе LLaMA 2 и Mistral.
RuGPT-3.5. Следующая значимая разработка в России пришлась на Sber AI, в 2023 году была выпущена оригинальная модель ruGPT-3.5 с 13 млрд параметров. LLM способна продолжать тексты на русском и английском языках, а также на языках программирования.
OmniFusion. А в начале 2024 года учёные из научно-исследовательского центра AIRI выпустили первую российскую мультимодальную большую языковую модель OmniFusion. LLM представляет собой последнюю версию GigaChat-7B, имеющую две модальности на входе — изображение и текст, причём в качестве визуального энкодера использован CLIP-ViT-L, переводящий картинки в эмбеддинги и для дополнительного визуального энкодера DINO-v2, которые конкатенируют выходы двух энкодеров, что позволяет работать лучше. Для текстов был взят стандартный энкодер Byte-Pair Encoding (BPE).
Saiga 3. И совсем недавно, на днях, вышла усовершенствованная Saiga 3, созданная тем же разработчиком, что и Saiga 2, и как не сложно догадаться, созданная на основе LLaMA 3 и Mistral. Стоит отметить, что качество ответа значительно улучшилось по сравнению со второй версией.
На первый взгляд всё складывается идеально: производительность возрастает, число задач, решаемых одной моделью, увеличивается, количество доменов во входном промпте расширяется, появляются всё более новые технологии выравнивания моделей. Однако вопрос об угрозах в виде целенаправленных атак на большие языковые модели остаётся актуальным.
Существующие на сегодня атаки
Главная опасность целенаправленных атак заключается в том, что довольно часто некоторые из них заставляют модель игнорировать собственные внутренние механизмы защиты. Более того, количество атак в последнее время существенно увеличивается, и особенно остро проявляется проблема того, что всё ещё не найдено универсального (сертифицированного) способа защититься от всех атак. В связи с этим необходимо оценивать модель на устойчивость к различным атакам, выявлять уязвимые места и применять отдельные методы защиты.
A. Data Poisoning
Для начала хочется отметить, что датасеты, на которых обучаются модели, крайне сложно полностью очистить от нежелательного контента. Сложно также отследить наличие атаки в процессе обучения, особенно если данные были взяты из Интернета (как известно, для обучения LLM используют в большом количестве данные из открытых источников).
Атаки в данном случае осуществляются путем отравления небольшой части обучающего датасета заранее заданными триггерами. Такая модификация не портит качества предсказания на чистых данных, однако система может быть взломана.
- Во-первых, система может быть взломана злоумышленником с целью получения доступа — например, входного доступа к секретному закрытому предприятию. Для этого достаточно надеть очки или футболку с триггером (статья Targeted Backdoor Attacks on Deep Learning Systems Using Data Poisoning).
- Во-вторых, система может быть взломана злоумышленником с целью совершения атаки и введения модели в заблуждение. Такой сценарий особенно опасен для задач self-driven, поскольку небольшой триггер (например, на дорожном знаке, как показано на изображении) может вывести из себя модель. В результате модель сможет предсказать знак «speedlimit» вместо «stop sign», что означает, что машина без водителя не остановится и с большой вероятностью произойдет авария (статья BadNets: Identifying Vulnerabilities in the Machine Learning Model Supply Chain).
- В-третьих, бэкдор атаки можно рассматривать как защиту частной собственности путём встраивания триггеров, или иначе говоря водяных знаков в архитектуру модели. Представьте, что ваша компания выпустила уникальную open-source LLM для написания отчётов, а потом появляются новые коммерческие модели с подобным accuracy, что вызывает сильные подозрения. Тогда можно подать на вход подозрительной модели промпт с триггером и узнать, была ли она украдена. Например, последние работы предлагают использовать в качестве триггера две перестановки в предложении — это атака OrderBkd (статья OrderBkd: Textual backdoor attack through repositioning), где атакованное предложение сложно отличить от оригинального не только с помощью компьютерных метрик типа Universal Sentence Encoder, но и человеческим глазом.
B. Hallucinations
Другая не менее опасная угроза в области LLM — галлюцинации, которые заставляют модель выдавать ошибочную информацию уверенным и авторитетным образом. При использовании таких приложений, как ассистенты с ИИ на основе больших языковых моделей, хочется доверять предоставленной информации на 100%. Однако стоит учитывать, что модели могут дезинформировать. В результате это может привести к правовым проблемам и репутационному ущербу.
Мы провели несколько экспериментов с российскими LLM. Прежде всего протестировали модель Saiga Llama2 13b на наличие галлюцинаций в ответах. В результате было выявлено, что модель может генерировать фейковые факты. Например, если спросить про несуществующие события, как показано на изображении, то модель ориентируется только на некоторые сочетания слов и не замечает подвоха в вопросе, выдавая грубые ошибки в ответах.
![dbnc-dn3x_qofnylpu9c83kz1sq.png](https://habrastorage.org/r/w1560/webt/db/nc/-d/dbnc-dn3x_qofnylpu9c83kz1sq.png)
![w9rfrghcdx29gnlgdb8ncnj2fke.png](https://habrastorage.org/r/w1560/webt/w9/rf/rg/w9rfrghcdx29gnlgdb8ncnj2fke.png)
Также были проведены эксперименты по устойчивости к атакам данного типа с моделью RuGPT-3.5 13b. Периодически ответ модели содержал недостоверную информацию, несколько примеров приведены ниже.
![lts17_gu5b1tv0lat4gme1bl6y0.jpeg](https://habrastorage.org/r/w780q1/webt/lt/s1/7_/lts17_gu5b1tv0lat4gme1bl6y0.jpeg)
![4x7lozoedbxcf3-n6sean3ykkw8.jpeg](https://habrastorage.org/r/w780q1/webt/4x/7l/oz/4x7lozoedbxcf3-n6sean3ykkw8.jpeg)
C. Prompt Injection
Это атака, в которой вредоносные инструкции маскируются под безобидные входные данные и заставляют LLM принять определённый образ или сыграть в «игру», с целью получить конфиденциальную или запрещённую информацию.
Пример атаки для модели Saiga Llama3 8b: как видно из изображения, ответ LLM содержит информацию, которая может быть использована для нанесения вреда обществу. Согласно этическим принципам, модель не должна реагировать на подобные провокационные запросы.
![zbu1tflrqv6curn6xaelmhihgzw.png](https://habrastorage.org/r/w1560/webt/zb/u1/tf/zbu1tflrqv6curn6xaelmhihgzw.png)
D. Jailbreaks
Данная атака реализуется путем внесения небольшого шума в одну из модальностей LLM с целью вывести из себя модель и заставить её не соответствовать общепринятым этическим принципам или ошибаться в предсказаниях.
Мы реализовали состязательную атаку для модели OmniFusion 7b, где ключевым моментом является добавление вредоносного шума в визуальный домен.
![kwi3hzkwltne8ynvj1klimy2pu4.jpeg](https://habrastorage.org/r/w780q1/webt/kw/i3/hz/kwi3hzkwltne8ynvj1klimy2pu4.jpeg)
Сначала покажем, что должна предсказывать модель с чистыми входными данными в промпте:
![wcw9eh37ozgz4t5_hos3txaubbg.png](https://habrastorage.org/r/w1560/webt/wc/w9/eh/wcw9eh37ozgz4t5_hos3txaubbg.png)
Теперь продемонстрируем, что предсказывает модель в случае нецелевой атаки:
![umb9csvrfrhjudvkpvikwtw1uai.png](https://habrastorage.org/r/w1560/webt/um/b9/cs/umb9csvrfrhjudvkpvikwtw1uai.png)
![cofqfbrvox_afu083vo0toq-1kq.png](https://habrastorage.org/r/w1560/webt/co/fq/fb/cofqfbrvox_afu083vo0toq-1kq.png)
В результате LLM неправильно распознаёт объект на изображении и более того — сильно ошибается в описании картинки.
Заключение
В последнее время популярность больших языковых моделей сильно набирает обороты. Они распространяются во многие области в виде прикладных инструментов, поэтому проверка моделей на возможные угрозы и устойчивость к атакам особенно актуальна. На практике подобные модели часто тонко настраивают под прикладные задачи. Обозначим некоторые из них:
Таким образом, перед тем как запускать любые модели в продакшн, необходимо: (1) оценить возможные угрозы во избежание серьёзных неприятных последствий, что можно сделать, например, используя нашу платформу:) — Trusted Artificial Intelligence (TAI) Platform, (2) интегрировать инструменты защиты и алгоритмы выравнивания моделей — например, которые разрабатываем мы:).
Подробнее о механизмах работы атак и методах защиты можно узнать в Исследовательском Центре Доверенного ИИ ИСП РАН.