# Николас Карлини: «Мы выкупили домены LAION за 100 долларов»

Источник: https://www.youtube.com/watch?v=FzodqiVPCNc
Канал: The TWIML AI Podcast with Sam Charrington
Опубликовано: 27.02.2023

---

В новом выпуске подкаста The TWIML AI Podcast исследователь из Google Brain Николас Карлини (Nicholas Carlini) подробно рассказал об уязвимостях современных систем машинного обучения. В центре внимания оказались проблемы конфиденциальности и безопасности генеративных моделей, включая Stable Diffusion и большие языковые модели. Исследователь объяснил, как злоумышленники могут извлекать обучающие данные и осуществлять незаметное отравление датасетов через уязвимости веб-инфраструктуры.

## 🛠️ Из компьютерной безопасности в машинное обучение
[[JUMP:0:00]]

Николас Карлини начинал свой академический путь как классический специалист по безопасности компьютерных систем. В течение нескольких лет его докторские исследования были сосредоточены на эксплуатации аппаратных уязвимостей и низкоуровневых системных брешах. Однако в 2016 году, размышляя над темой диссертации, Карлини решил найти область с максимальным количеством открытых и нерешенных проблем, где исследователи еще плохо понимали природу угроз. Его выбор пал на безопасность нейросетей, которая на тот момент находилась в зачаточном состоянии.

Первые работы Карлини в новой сфере строились по классическому принципу компьютерного взлома: он брал существующие методы защиты, созданные другими учеными, и пытался их деконструировать. Первым серьезным успехом стала публикация статьи «Towards Evaluating the Robustness of Neural Networks». В этой работе команда Карлини атаковала метод защиты под названием «дистилляция как защита от состязательных примеров» (distillation as a defense to adversarial examples), предложенный Николасом Паперно (Nicolas Papernot). Исследование Карлини наглядно продемонстрировало, что предложенная защита полностью ломается и не делает модель более устойчивой по сравнению с базовым классификатором.

## 🧠 Феномен состязательных атак: теория против практики
[[JUMP:1:33]]

Состязательные примеры (adversarial examples) представляют собой один из наиболее интригующих дефектов нейросетей. Суть феномена заключается в том, что злоумышленник может внести в любые входные данные — изображения, аудиозаписи, текст или видео — минимальные, невидимые для человека изменения, которые полностью дезориентируют классификатор. Классическим примером является добавление едва заметного шума к фотографии панды, после чего нейросеть с высокой уверенностью начинает определять её как гиббона или даже «гуакамоле».

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

По мнению Карлини, первоначальный оптимизм научного сообщества относительно быстрого решения этой проблемы испарился. Если в 2014 году авторы основополагающей статьи назвали состязательные атаки просто «любопытными свойствами нейронных сетей», то за последующие годы были написаны сотни ad hoc защит (включая регуляризацию весов и изменение функций потерь), и практически все они оказались неэффективными. По словам исследователя, единственным значимым прорывом стало состязательное обучение (adversarial training), качественно реализованное группой Александра Мадри (Aleksander Madry) из MIT. Этот метод предполагает генерацию состязательных примеров непосредственно в процессе обучения и включение их в тренировочный набор.

Тем не менее, Карлини подчеркивает, что состязательное обучение является компромиссным, а не абсолютным решением. В качестве примера можно привести классификацию на датасете CIFAR-10:

* Без атак современные классификаторы достигают точности в 99%.
* При состязательной атаке на незащищенную модель точность падает до 0%.
* Состязательное обучение позволяет восстановить точность лишь до уровня около 60%.

По мнению Карлини, показатель в 60% в задаче с 10 классами — это критически мало, поскольку в реальной жизни защита должна выдерживать миллионы попыток взлома, а не сдаваться после второй попытки.

Несмотря на обилие научных публикаций, в реальных условиях состязательные атаки практически не встречаются. По мнению Карлини, это объясняется тем, что хакеры всегда выбирают путь наименьшего сопротивления. Зачем создавать сложные математические пертурбации пикселей, если можно обойти фильтры YouTube или модерацию сайтов более простыми методами? На практике для обхода ИИ-цензуры пользователи накладывают на видео эффекты, добавляют черные рамки или размещают поверх картинок прозрачные окна. Нейросеть видит «окно» и игнорирует запрещенный контент за ним, хотя человек легко распознает обман. Тем не менее, Карлини убежден, что изучение состязательных примеров критически важно, так как оно очерчивает фундаментальные пределы уязвимости искусственного интеллекта.

## 🔒 Конфиденциальность данных и проблема запоминания
[[JUMP:12:43]]

Во время своей первой стажировки в Google Brain Николас Карлини переключился на проблемы конфиденциальности (privacy) в машинном обучении. В современных реалиях ИИ обучается на крайне чувствительной информации: личной переписке, электронных письмах и медицинских снимках. Главная угроза здесь заключается в том, что обученная модель может «сливать» конфиденциальные данные пользователей тем, кто имеет к ней доступ.

В сфере приватности ИИ выделяют два основных типа атак:

1.  Вывод о членстве (membership inference): атака, позволяющая определить, присутствовали ли данные конкретного человека в обучающей выборке. По мнению Карлини, это серьезная угроза для специфических медицинских баз данных. Если известно, что датасет состоял только из пациентов с болезнями А и Б, то сам факт присутствия человека в выборке раскрывает его диагноз.
2.  Извлечение или реконструкция данных (training data extraction): более опасный метод, нацеленный на полное попиксельное или потекстовое восстановление исходного объекта из памяти модели. Именно эту атаку команда Карлини успешно применила к диффузионным моделям, включая Stable Diffusion.

Главным механизмом, обеспечивающим успех извлечения данных, является склонность больших моделей к запоминанию (memorization) обучающих примеров. Карлини описывает этот феномен через информационную теорию. Модель Stable Diffusion содержит около 900 миллионов параметров, что в физическом выражении составляет от нескольких сотен мегабайт до пары gigabayt. При этом размер обучающего датасета достигает 10 терабайт, что в тысячи раз превышает объем самой модели. Чисто математически нейросеть не способна запомнить весь датасет, если только она не является лучшим в мире алгоритмом сжатия (чем она не является).

В реальности модели запоминают лишь ничтожную долю процента данных. Ограничив дефиницию запоминания строгим попиксельным совпадением (на уровне разницы между несжатым оригиналом и JPEG-копией), исследователи обнаружили в Stable Diffusion всего 109 полностью запомненных изображений на 350 000 протестированных промптов. По мнению Карлини, даже столь низкий коэффициент (около 0,00001%) представляет огромную опасность, если модель обучается на историях болезней: для пострадавшего пациента факт утечки его снимка будет критичным, независимо от безопасности остальных участников выборки.

## 🎛️ Механика извлечения: промпты и дубликаты
[[JUMP:24:07]]

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

Процесс атаки выглядит следующим образом: исследователи берут текстовое описание (промпт) из датасета и отправляют модели запрос на генерацию 500 вариантов изображений по этому запросу. Если модель не запомнила картинку, то, будучи вероятностным алгоритмом, она каждый раз будет выдавать разные изображения цветов или объектов. Однако если модель выдает абсолютно идентичный результат 50 раз подряд, это указывает на то, что данное изображение было заучено в процессе обучения.

Главным фактором, провоцирующим запоминание, оказалось дублирование (duplication) информации в обучающей выборке. Все извлеченные из Stable Diffusion изображения повторялись в интернете многократно. При этом исследователи признают наличие аномалий: некоторые картинки дублировались по 10 000 раз, но не запомнились моделью, а другие заучивались всего после 100 повторений. Эксперименты с контролируемым обучением малых диффузионных моделей и GAN (генеративно-состязательных сетей) показали, что около 50% изображений, заученных GAN, дублируются и в памяти диффузионных моделей. Это доказывает, что запоминание — не случайность, а следствие специфических свойств самих изображений.

Также Карлини сравнил Stable Diffusion с моделью Imagen от Google. Из-за низкой скорости работы Imagen ученые протестировали на ней всего 1000 промптов, но смогли извлечь 23 точные копии изображений. Столь высокая плотность утечек объясняется тем, что Imagen сильнее запоминает объекты, находящиеся вне стандартного распределения (out-of-distribution), даже если они редко дублируются в обучающем наборе.

## ☣️ Отравление данных через уязвимости Web-инфраструктуры
[[JUMP:36:14]]

Второй фундаментальный вектор исследований Николаса Карлини — безопасность обучающих выборок и состязательное отравление данных (data poisoning). Суть угрозы заключается в том, что злоумышленник, контролируя даже ничтожную долю тренировочного сета, может заставить будущую модель вести себя некорректно. Ранее, когда модели обучались на жестко модерируемых академических наборах вроде Imagenet, риск отравления стремился к нулю. Однако современные ИИ требуют колоссальных объемов информации, поэтому компании перешли на обучение без учителя (self-supervised) на основе немодерируемых интернет-данных.

Команда Карлини выяснила, что для успешного отравления мультимодальной контрастивной модели (такой как CLIP от OpenAI) злоумышленнику достаточно контролировать всего одну из 10 000 или 100 000 картинок в датасете. Для масштабированной модели CLIP, обучавшейся на 400 миллионах изображений, критический объем отравления составил всего пару тысяч картинок.

Карлини раскрыл детали исследования, в рамках которого его команда реализовала этот сценарий на практике. Крупные современные датасеты, такие как LAION-400M или LAION-5B, весят десятки и сотни терабайт, поэтому авторы распространяют их не в виде архива с файлами, а в виде списков URL-адресов и текстовых описаний. Пользователи скачивают картинки самостоятельно напрямую с сайтов-первоисточников.

Исследователи обнаружили критическую уязвимость этой схемы:

* Со временем доменные имена сайтов, где лежали картинки, истекают и поступают в открытую продажу.
* Потратив всего около 100 долларов, команда Карлини выкупила 6 истекших доменов (3 популярных и 3 случайных), которые до сих пор прописаны в базе LAION.
* В результате ученые получили под свой прямой контроль 0,01% всего датасета LAION.

Каждый разработчик, скачивавший LAION за последние 6 месяцев, неявно доверял серверам Карлини. В рамках эксперимента ученые отдавали легитимным запросам ошибку 404, однако на их месте реальный хакер мог развернуть масштабную атаку по отравлению весов будущих моделей.

## ⚖️ Дилемма безопасности: криптография против полезного объема
[[JUMP:42:46]]

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

Проблема заключается в том, что веб-мастера легитимных сайтов регулярно обновляют контент: пережимают старые JPEG в более эффективные форматы, меняют контрастность или кадрируют изображения ради улучшения визуального стиля. Любое микроизменение байтов полностью меняет хэш файла. Исследовав датасет Conceptual Captions (3,3 миллиона картинок, собранных в 2018 году), команда Карлини зафиксировала следующие результаты:

* Спустя годы в сети физически остаются доступными 2,9 миллиона изображений из этой выборки.
* При включении жесткой проверки соответствия исходным хэшам валидными признаются лишь 1,1 миллиона картинок.

Таким образом, внедрение абсолютной защиты от отравления автоматически уничтожает почти 60% полезного объема данных в старых датасетах. По мнению Карлини, разработчикам ИИ придется делать осознанный выбор: соглашаться на меньший датасет ради безопасности либо рисковать устойчивостью алгоритма ради сохранения объемов обучающей выборки.