Исследователи в области искусственного интеллекта обнаружили критическую уязвимость в архитектуре современных 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 раз более защищенной от утечек, чем ее предшественники, однако предложенный метод атаки полностью разрушил эту иллюзию безопасности.
Янник Кильхер связывает этот феномен с существующими исследованиями в области прунинга (удаления избыточных параметров) нейросетей.
Ведущий приводит следующую теоретическую модель:
- Закономерности общего распределения: Языковые модели сохраняют наиболее частые и устойчивые паттерны человеческого языка в своих основных весах.
- Хранение аномалий (outliers): Сложные, редкие или не поддающиеся обобщению текстовые фрагменты из «длинного хвоста» распределения модель просто записывает в свободные параметры дословно.
- Фактор размера: Крупные коммерческие ИИ-системы обладают колоссальным избыточным объемом памяти, что позволяет им складировать гигантские пласты информации в первозданном виде.
При стандартном тестировании, когда ИИ просят продолжить известную фразу из Википедии, выровненная модель ChatGPT практически не выдает скрытых данных. По мнению авторов статьи, это обусловлено процедурой RLHF (обучение с подкреплением на основе отзывов людей), которая переводит модель в режим «помощника». Тем не менее, атака с повторением слов заставляет ChatGPT раскрывать на порядки больше данных, чем выдает ее базовая (невыровненная) версия или модель InstructGPT, обученная на том же массиве.
🔍 Определения: извлекаемое против обнаруживаемого запоминания 8:03
Для построения строгой математической модели авторы исследования разграничивают понятия «извлекаемого» (extractable) и «обнаруживаемого» (discoverable) запоминания данных.
Разница между ними формулируется следующим образом:
- Извлекаемое запоминание: Ситуация, когда атакующий, не имея прямого доступа к обучающей выборке, может подобрать такой текстовый запрос (промпт), который заставит ИИ выдать секретный фрагмент текста.
- Обнаруживаемое запоминание: Ситуация, когда у исследователя есть доступ к исходному датасету. Он берет реальный фрагмент, делит его пополам, подает первую часть в качестве промпта и проверяет, совпадет ли концовка с оригиналом.
Предыдущие научные работы утверждали, что современные LLM дословно запоминают лишь около 1% своей обучающей выборки. Существовал огромный разрыв между теоретическим максимумом запомненного контента и тем мизерным объемом, который удавалось извлечь на практике. Ранее верификация проводилась вручную через поиск Google, что сильно ограничивало ученых, ведь ИИ обучают в том числе на закрытых или неиндексируемых веб-страницах.
Авторы статьи доказали, что прошлые атаки были эффективными, но их результаты просто не могли корректно перепроверить. Чтобы решить эту проблему, ученые объединили множество открытых интернет-датасетов в единую гигантскую базу данных со специальной структурой для мгновенной проверки совпадений.
📈 Эксперименты на открытых и полузакрытых моделях 17:42
Методологию исследования сначала обкатали на открытых моделях (таких как Pythia и RedPajama), где ученым изначально известна вся обучающая выборка. Эксперименты подтвердили: увеличение числа параметров неизбежно ведет к росту генерации уникальных 50-токенных последовательностей, полностью совпадающих с обучающим набором. При этом модели разной архитектуры, но одинакового размера (например, две разные сети на 7 миллиардов параметров), демонстрируют разную степень «аккуратности» запоминания.
Анализ соотношения типов запоминания принес неожиданные результаты:
- Большая часть информации в ИИ не является ни извлекаемой, ни обнаруживаемой стандартными методами.
- Только 35% данных, которые гарантированно есть в памяти ИИ, удалось извлечь обычным случайным сэмплингом.
- Около 11% последовательностей оказались извлекаемыми, но не поддавались обнаружению через метод разделения текстового фрагмента пополам.
- Часто дублирующийся в интернете контент одинаково легко и обнаруживается, и извлекается.
Затем исследователи перешли к «полузакрытым» моделям — системам, чьи веса доступны для скачивания, но точный состав обучающих данных держится в секрете. На анализ коммерческих ИИ-сервисов было потрачено всего 200 долларов США. Главным нарушителем оказалась модель GPT-3.5 Turbo Instruct: около 0,852% всех сгенерированных ею токенов являлись частью длинных последовательностей, дословно скопированных из обучающего датасета.
🔓 Взлом выравнивания ИИ и технические гипотезы 27:33
Обычные текстовые атаки не работают на стандартной версии ChatGPT, так как надстройка RLHF блокирует прямые запросы на копирование конфиденциальных баз данных. Однако атака с бесконечным повторением заставляет модель «дивергировать» (diverge) — выходить за рамки инструкций безопасности и скатываться к базовому алгоритму предсказания следующего слова. И хотя часть выданного в этот момент текста превращается в бессмыслицу, определенный процент токенов представляет собой чистейшие данные из обучения.
Уязвимость имеет жесткие технические ограничения. Атака срабатывает исключительно тогда, когда ИИ заставляют повторять слова, состоящие ровно из одного токена во внутреннем словаре модели. Если слово разбивается на несколько токенов, модель сохраняет стабильность и утечки не происходит. Более того, эффективность атаки кардинально зависит от выбора конкретного токена. Из ChatGPT удалось извлечь приватные адреса, номера телефонов, фрагменты научных статей, исходный код и массивные куски служебного текста. Самой длинной непрерывной строкой, которую выдал ИИ, стало пользовательское соглашение одного из сайтов объемом более 4000 символов.
Авторы исследования выдвинули гипотезу, объясняющую этот сбой:
- Имитация служебных символов: При обучении языковых моделей тысячи разнородных документов упаковываются в один массив, разделяясь служебными токенами вроде BOS (начало строки) или EOS (конец текста).
- Смещение векторов внимания: В моделях семейства Llama математически доказано, что при многократном повторении одного токена векторы запросов (query vectors) на последних слоях сети становятся идентичными векторам служебного токена начала строки. Нейросеть начинает «думать», что текущий документ закончился, и запускает генерацию случайного текста с нуля на основе своей базовой памяти.
Янник Кильхер предлагает альтернативное объяснение, основанное на численной стабильности вычислений.
По мнению Кильхера, когда на самый нижний слой нейросети непрерывно подается один и тот же вектор эмбеддинга, пространство представлений ИИ резко теряет ранг и становится экстремально плоским. Математическое наложение одинаковых векторов друг на друга создает колоссальную перегрузку в вычислениях, ломает алгоритмы нормализации слоев и буквально взрывает систему безопасности модели изнутри.
В заключение ведущий отмечает, что данное открытие заставит ИТ-гигантов еще сильнее закрывать свои API. Поскольку вероятность запоминания текста можно эффективно предсказать через соотношение стандартного сжатия zip и внутренней перплексии ИИ (с точностью более 30%), компании начнут полностью скрывать от пользователей логиты и вероятности выдачи токенов, чтобы исключить любые новые методы кражи данных.