Как повторение одного слова заставляет ChatGPT выдавать обучающие данные

Yannic Kilcher 44,2 тыс. 47 мин 6 мин 03.12.2023
Главное

Исследователи в области искусственного интеллекта обнаружили критическую уязвимость в архитектуре современных LLM, которая позволяет извлекать конфиденциальные обучающие данные с помощью простейших текстовых манипуляций. В своем новом видео ИИ-исследователь и блогер Янник Кильхер (Yannic Kilcher) подробно разбирает научную работу «Scalable Extraction of Training Data from Production Language Models», авторам которой удалось заставить ChatGPT массово генерировать куски защищенного авторским правом контента, персональных данных и программного кода. Этот разбор демонстрирует глубокий кризис в современных методах безопасности и выравнивания (alignment) искусственного интеллекта.

💥 Суть атаки: как повторение слов ломает ChatGPT 0:00

Уязвимость коммерческих ИИ-систем оказалась неожиданно тривиальной: если попросить ChatGPT (в частности, модель GPT-3.5 Turbo) бесконечно повторять одно определенное слово, система безопасности модели дает сбой. Через некоторое время непрерывного повторения ИИ «забывает» инструкции и начинает выдавать фрагменты реальных текстов, на которых он обучался. Подобный прецедент ставит под удар конфиденциальность пользователей, корпоративную безопасность и нарушает законы об авторском праве. Ранее извлечение подобной информации считалось крайне трудоемким процессом, поэтому обнаружение столь простого обхода защитных механизмов стало шоком для индустрии.

Исследователи действовали в рамках протокола ответственного разглашения (responsible disclosure), сообщив о баге компании OpenAI за 90 дней до публикации статьи. По наблюдениям Янника Кильхера, разработчики оперативно внедрили заплатку: теперь при попытке заставить ИИ бесконечно повторять слова система выдает предупреждение о нарушении контентной политики. Однако ведущий подчеркивает, что OpenAI исправила проблему поверхностно — не за счет переобучения нейросети, а путем простого алгоритмического перехвата повторяющихся токенов в интерфейсе. Данная атака уникальна тем, что в ходе тестов она сработала исключительно на ChatGPT.

📊 Законы масштабирования и феномен запоминания данных 3:28

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

Янник Кильхер связывает этот феномен с существующими исследованиями в области прунинга (удаления избыточных параметров) нейросетей.

Ведущий приводит следующую теоретическую модель:

При стандартном тестировании, когда ИИ просят продолжить известную фразу из Википедии, выровненная модель ChatGPT практически не выдает скрытых данных. По мнению авторов статьи, это обусловлено процедурой RLHF (обучение с подкреплением на основе отзывов людей), которая переводит модель в режим «помощника». Тем не менее, атака с повторением слов заставляет ChatGPT раскрывать на порядки больше данных, чем выдает ее базовая (невыровненная) версия или модель InstructGPT, обученная на том же массиве.

🔍 Определения: извлекаемое против обнаруживаемого запоминания 8:03

Для построения строгой математической модели авторы исследования разграничивают понятия «извлекаемого» (extractable) и «обнаруживаемого» (discoverable) запоминания данных.

Разница между ними формулируется следующим образом:

  1. Извлекаемое запоминание: Ситуация, когда атакующий, не имея прямого доступа к обучающей выборке, может подобрать такой текстовый запрос (промпт), который заставит ИИ выдать секретный фрагмент текста.
  2. Обнаруживаемое запоминание: Ситуация, когда у исследователя есть доступ к исходному датасету. Он берет реальный фрагмент, делит его пополам, подает первую часть в качестве промпта и проверяет, совпадет ли концовка с оригиналом.

Предыдущие научные работы утверждали, что современные LLM дословно запоминают лишь около 1% своей обучающей выборки. Существовал огромный разрыв между теоретическим максимумом запомненного контента и тем мизерным объемом, который удавалось извлечь на практике. Ранее верификация проводилась вручную через поиск Google, что сильно ограничивало ученых, ведь ИИ обучают в том числе на закрытых или неиндексируемых веб-страницах.

Авторы статьи доказали, что прошлые атаки были эффективными, но их результаты просто не могли корректно перепроверить. Чтобы решить эту проблему, ученые объединили множество открытых интернет-датасетов в единую гигантскую базу данных со специальной структурой для мгновенной проверки совпадений.

📈 Эксперименты на открытых и полузакрытых моделях 17:42

Методологию исследования сначала обкатали на открытых моделях (таких как Pythia и RedPajama), где ученым изначально известна вся обучающая выборка. Эксперименты подтвердили: увеличение числа параметров неизбежно ведет к росту генерации уникальных 50-токенных последовательностей, полностью совпадающих с обучающим набором. При этом модели разной архитектуры, но одинакового размера (например, две разные сети на 7 миллиардов параметров), демонстрируют разную степень «аккуратности» запоминания.

Анализ соотношения типов запоминания принес неожиданные результаты:

Затем исследователи перешли к «полузакрытым» моделям — системам, чьи веса доступны для скачивания, но точный состав обучающих данных держится в секрете. На анализ коммерческих ИИ-сервисов было потрачено всего 200 долларов США. Главным нарушителем оказалась модель GPT-3.5 Turbo Instruct: около 0,852% всех сгенерированных ею токенов являлись частью длинных последовательностей, дословно скопированных из обучающего датасета.

🔓 Взлом выравнивания ИИ и технические гипотезы 27:33

Обычные текстовые атаки не работают на стандартной версии ChatGPT, так как надстройка RLHF блокирует прямые запросы на копирование конфиденциальных баз данных. Однако атака с бесконечным повторением заставляет модель «дивергировать» (diverge) — выходить за рамки инструкций безопасности и скатываться к базовому алгоритму предсказания следующего слова. И хотя часть выданного в этот момент текста превращается в бессмыслицу, определенный процент токенов представляет собой чистейшие данные из обучения.

Уязвимость имеет жесткие технические ограничения. Атака срабатывает исключительно тогда, когда ИИ заставляют повторять слова, состоящие ровно из одного токена во внутреннем словаре модели. Если слово разбивается на несколько токенов, модель сохраняет стабильность и утечки не происходит. Более того, эффективность атаки кардинально зависит от выбора конкретного токена. Из ChatGPT удалось извлечь приватные адреса, номера телефонов, фрагменты научных статей, исходный код и массивные куски служебного текста. Самой длинной непрерывной строкой, которую выдал ИИ, стало пользовательское соглашение одного из сайтов объемом более 4000 символов.

Авторы исследования выдвинули гипотезу, объясняющую этот сбой:

Янник Кильхер предлагает альтернативное объяснение, основанное на численной стабильности вычислений.

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

В заключение ведущий отмечает, что данное открытие заставит ИТ-гигантов еще сильнее закрывать свои API. Поскольку вероятность запоминания текста можно эффективно предсказать через соотношение стандартного сжатия zip и внутренней перплексии ИИ (с точностью более 30%), компании начнут полностью скрывать от пользователей логиты и вероятности выдачи токенов, чтобы исключить любые новые методы кражи данных.

💬 Цитаты

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

Янник Кильхер 03:42

«Поскольку этот документ был предоставлен OpenAI в рамках ответственного разглашения 90 дней назад, вполне вероятно, что они исправили это простым перехватом повторений.»

Янник Кильхер 02:35
👥 Спикер
🔗 Упомянутые сайты и проекты
📖 Термины
Токен
Минимальная единица текста (слово, часть слова или символ), которой оперирует языковая модель.
Выравнивание (Alignment)
Процесс настройки ИИ для соответствия человеческим ценностям, правилам безопасности и контексту диалога.
Перплексия
Метрика оценки того, насколько хорошо языковая модель предсказывает текстовую выборку.
Прунинг
Метод оптимизации нейросетей путем удаления малозначимых весов и параметров.
📊 Цифры
🗓 Хронология
  1. За 90 дней до публикации Авторы исследования передают информацию об уязвимости повторения слов в OpenAI.
  2. Период тестирования Разработчики OpenAI развертывают патч-заплатку, реагирующую на спам-запросы политикой безопасности.
⚖️ Другая сторона
Искусственный интеллект Янник Кильхер ChatGPT OpenAI Языковые модели