Проблема сохранности данных

Проблема сохранности данных

AI, life and balance

В одном из постов я кинула камень в огород OpenAI на тему сохранности данных пользователей. Бросок был вскользь, так сказать, без особых деталей, но сегодня давайте поговорим на эту тему поподробнее.

Я опираюсь на вот эту публикацию 2023 года (да, с тех пор политики безопасности были обновлены, тем более вышли новые модели. Но это не значит, что мы не должны обсуждать проблему обсуждать).

Для начала, авторы ссылаются на свою же статью «Scalable Extraction of Training Data from (Production) Language Models». Справедливости ради, на выдаче тренировочных данных попалась не только GPT: авторы тестировали LLaMA, Falcon и Pythia. Они (авторы, не модели) исполнили здесь роль «белых хакеров»: попытались взломать модели, чтобы протестировать их на безопасность. Спасибо им за это.

Чтобы не выдать хакерам (уже «черным») готовый инструмент по добыче чужих данных, авторы также связались с разработчиками всех моделей, которые были протестированы, и сообщили о найденных проблемах, после чего выждали время, в течение которого бреши в системах безопасности должны были быть закрыты.

Для иллюстрации в самом начале статьи приводится вот такая диаграмма:

(Сравнение исследованных моделей по доле тренировочных данных, которые были выданы)

На ней показано, что чем больше модель, тем больше она уязвима к атакам. Да, она выдаст всего три процента своих тренировочных данных. Но это будет слабым утешением, если эти три процента содержат именно ваши данные.

Что там за данные, сказать сложно. OpenAI и некоторые другие компании, у которых модели не находятся в открытом доступе, вообще не раскрывают, как и на чем они проводили обучение. Это понятно с коммерческой точки зрения, но, возможно, не вполне добросовестно с точки зрения потребителя.

Сначала авторы статьи взяли модели с открытым исходным кодом, потому что у них тренировочные наборы данных тоже открытые, поэтому можно было проверить, если ли выданный моделью ответ в наборе (или он сгенерирован с нуля). Здесь не имеет значения, на мой взгляд, выдала ли модель в самом деле «запомненные» данные или сгенерировала случайно точно такие же (авторы исследования тоже относятся к этим случаям одинаково). Если это адрес вашей электронной почты или ключ от приватного репозитория, это не имеет значения.

Моделям дали промпты, получили ответы, сравнили с тренировочными наборами. Зачли только полные совпадения. Я здесь опускаю много интересных технических деталей, чтобы сконцентрировать ваше внимание на проблеме. Поэтому решительно советую ознакомиться со статьей целиком, чтобы лучше понять методологию атак и оценки результатов.

Потом взяли частично открытые модели (те, которые можно скачать с параметрами и использовать, но для которых тренировочные данные не раскрыты). Тут основная сложность заключалась в доказательстве того, что из модели были извлечены тренировочные данные, сравнить-то не с чем. Поскольку модели обучаются на данных из Интернета, можно эти данные скачать (понятно, что не все, но сколько влезет) и использовать их для сравнения с ответами на промпты. Это не самый точный способ, но примерную оценку получить можно.

Полностью закрытая модель тоже была (gpt-3.5-turbo-instruct). Здесь ни весов, ни данных, но логика работы с частично открытыми моделями применима.

Если коротко, выводы следующие: чем больше модель и чем интенсивнее ее обучали, тем выше вероятность того, что она выдаст свои тренировочные данные в ответ на грамотно составленный запрос. Авторы отмечают, что часть проблемы может быть в том, что они либо промпты не подобрали достаточно хорошо, либо данные для сравнения выбрали не те (для частично открытых и закрытых моделей), поэтому оценка получилась заниженная. Но это оценить не представляется возможным.

Отдельная глава в исследовании посвящена ChatGPT, именно взаимодействиям через интерфейс. Особенность работы через интерфейс заключается в том, что запрос от пользователя передается в свободной форме, уже внутри структурируется правильным образом и передается модели. Поэтому совершить атаку через интерфейс немного сложнее: часть запроса неподконтрольна пользователю.

Однако «сложнее» не значит «невозможно». Ниже приведен пример, на котором авторы попросили ChatGPT бесконечно повторять слово «poem» («стихотворение»). И модель выдала чьи-то личные данные, которые включают контактную информацию (вероятно, оставленные человеком публично где-нибудь на странице LinkedIn, но тем не менее).

(Пример из статьи)

Причина такого поведения, видимо, лежит в том, что запрос на бесконечное повторение слова переполнил память модели и она «забыла» об инструкциях, которые ограничивают ее вывод (если вы активно пользуетесь ИИ-чатами, то, скорее всего заметили: в определенный момент диалога они забывают то, что вы сообщили им в самом начале. Вот и здесь так). С момента переполнения она уже генерирует случайную последовательность токенов, в числе которых есть токены из тренировочного набора данных.

В ходе экспериментов выяснилось, что так работают слова, которые составляют один токен и не разбиваются на части поменьше. Я провела пару экспериментов с GPT-4o, она на этот трюк не попалась. Скорее всего, тут брешь в системе безопасности прикрыли (времени у них было достаточно).

Таким образом, авторы вытряхнули из ChatGPT и некоторую чувствительную информацию, которой теоретически в открытых источниках быть не должно. Во всяком случае, по их заверениям. Но мы с вами уже говорили ранее о том, что создатели моделей, работающих с изображениями, включали в свои тренировочные наборы данных картины художников, которые не давали на то своего согласия. Могут ли авторы языковых моделей втихую таскать книги, защищенные авторским правом? Да, могут. Могут ли они недостаточно хорошо почистить свои наборы данных и не убедиться в том, что в этих наборах нет персональных данных? Запросто.

В приложениях к публикации авторы приводят больше примеров данных, которые удалось извлечь с использованием описанных техник, можете посмотреть.

Конечно, эта статья возымела эффект. Мне кажется, что, например, функция памяти у ChatGPT – это один из ответов: она раскрывает, что именно модель про вас запомнила и позволяет скорректировать набор фактов (здесь я додумываю: сами разработчики говорят, что функция памяти нужна, чтобы модель лучше подстроилась под вас и ваши запросы. Но у меня есть некоторые подозрения. Неподтвержденные). Мы также ранее говорили о работе Meta (Purple Llama, в частности), которая направлена на улучшение показателей надежности и безопасности генеративного ИИ. Короче говоря, работа ведется. Возможно, не так быстро, как нам бы хотелось, но ведется.


Лучшее, что можно сделать в данной ситуации – а) общаться с интеллектуальными помощниками аккуратно и не передавать им чувствительных данных и б) поучаствовать в развитии ответственного подхода к созданию продуктов на основе ИИ. Я уже упоминала как-то, что работаю в стартапе, который называется AI Alignment Liaison (потому что сон для слабых) и посвящен созданию инструмента для внедрения ответственных практик, таких как защита персональных данных в ИИ-продукты. Мы пока очень маленький (но очень целеустремленный) стартап, у нас даже сайта толком нет, есть только страничка на гитхабе, но мы растем и взаимодействуем с более крупными партнерами, такими как Responsible AI Institute, которые помогут нам подрасти и окрепнуть.

(Сайт в процессе, кстати, я им поделюсь, как сделаем)

Этот пост (как и некоторые другие уже выпущенные и готовящиеся к публикации посты) – отголосок моей работы и работы моих коллег в AIAL. На данный момент мы в стадии активных исследований (про часть из которых я и пишу как раз). Когда зайдем дальше, материалов будет еще больше.

Report Page