Как работает membership inference атака на LLM?
Краткий тезис
Membership inference атака (MIA) — это техника, позволяющая злоумышленнику определить, использовался ли конкретный документ (или текстовый фрагмент) при обучении целевой языковой модели. Атака опирается на разницу в поведении модели на «виденных» (из train) и «невиденных» данных: для заученных примеров модель выдаёт более низкую perplexity (меньшую неопределённость) и более высокие вероятности токенов. Основные методы включают сравнение loss/perplexity, обучение shadow моделей (теневых моделей) на схожих данных, и атаки на основе калиброванных уверенностей. Защита возможна через дифференциальную приватность (DP) при обучении, но для уже обученных моделей защита крайне затруднена.
1. Что такое membership inference атака (MIA)? Определение и контекст
Membership inference (MI) — задача бинарной классификации: предсказать, принадлежал ли данный образец (документ, предложение) тренировочному набору целевой модели. В контексте LLM это означает, что атакующий пытается выяснить, использовался ли конкретный приватный датасет (например, медицинские записи, исходный код, конфиденциальные соглашения) при обучении модели.
Атака относится к классу атак на приватность (privacy attacks) и является одной из наиболее изучаемых угроз для LLM, особенно для моделей, обученных на конфиденциальных данных.
Ключевая интуиция: Модель «запоминает» часть обучающих примеров, особенно редкие или уникальные, и при повторном показе демонстрирует аномально высокую уверенность или низкую потерю (loss). Это и является сигнатурой «членства».
2. Основные методы membership inference атаки на LLM
Существует три основных класса методов, различающихся по доступности информации:
| Метод | Требует знания | Сложность реализации | Типичная точность |
|---|---|---|---|
| Perplexity-based (loss-based) | Только API модели (вероятности токенов) | Низкая | 60-75% |
| Reference-based (shadow model) | Доступ к схожему датасету + чёрный ящик | Высокая | 70-90% |
| Gradient-based (белый ящик) | Доступ к градиентам, весам | Очень высокая | 80-95% |
Для LLM чаще всего рассматриваются первые два, так как полный доступ к модели (белый ящик) на практике встречается редко.
3. Perplexity-based (loss-based) атака
Самый простой и распространённый метод.
Идея: Вычислить perplexity (перплексия) или loss для кандидатного документа. Perplexity определяется как:
PPL(x) = exp( - ([[1. Как бы вы спроектировали RAG-систему для 10 000 документов с разной структурой|1]]/N) * Σ log P(x_i | x_{<i}) )
где x_i — i-тый токен, N — длина последовательности.
Если PPL документа значительно ниже, чем медианная PPL по некоторому референсному корпусу (например, общим текстам из интернета), то с высокой вероятностью документ был в обучающей выборке.
Недостаток: Модель может иметь низкую PPL и на публичных текстах (общие шаблоны), что даёт ложные срабатывания.
Улучшенный вариант: Использовать z‑score:
z = (PPL_документа - μ_референс) / σ_референс
Если z < порога (например, −1.5) — документ считается «членом».
4. Reference-based атака с shadow моделями
Более мощный метод, использующий shadow model (теневая модель) — вспомогательную модель, обученную на похожих, но не идентичных данных.
Процедура:
- Атакующий собирает датасет похожий по тематике на целевой (например, из открытых источников).
- Обучает несколько shadow моделей (можно с разными гиперпараметрами) на случайных подмножествах этого датасета.
- Для каждой shadow модели формирует пары (текст, метка членства) — для тех примеров, что были в её обучении (
member) и не были (non-member). - На этих парах обучает бинарный классификатор (например, логистическая регрессия или MLP), используя признаки:
- loss (потери) на документе,
- статистики уверенности (средняя, дисперсия логитов),
- perplexity,
- entropy (энтропия) распределения.
- Затем на целевой модели атакующий вычисляет те же признаки для подозрительного документа и классифицирует его.
Почему это работает: Теневая модель имитирует поведение целевой, и классификатор выучивает паттерны, характерные для «членов».
5. Metric-based атаки: LiRA (Likelihood Ratio Attack)
Современный стандарт MIA для LLM — LiRA (Carlini et al., 2022). Метод основан на отношении правдоподобия для двух гипотез: документ был in или out.
Идея:
- Для каждого документа оценивается распределение loss на модели, обученной с этим документом (in) и без него (out) — для этого обучается множество теневых моделей (обычно 64-256).
- Вычисляется статистика
f(x) = log( p(loss|in) / p(loss|out) ). - Если
f(x) > 0— документ, скорее всего, член.
LiRA даёт state‑of‑the‑art точность, но требует огромных вычислительных ресурсов.
6. Метрики успешности атаки
Для оценки эффективности MIA используют:
- Accuracy (доля правильных предсказаний) — но чувствительна к дисбалансу классов.
- Precision / Recall – важнее precision, так как ложное обвинение (member как non-member) менее опасно.
- AUC‑ROC — агрегированная метрика, независимая от порога.
- Attack Success Rate (ASR) при фиксированном false positive rate (FPR), например, ASR@1%FPR — доля обнаруженных членов при уровне ложных срабатываний 1%.
В литературе ASR@0.1%FPR для современных LLM (GPT‑4, Llama‑3) обычно 2‑10%, для устаревших или overtrained моделей — 30‑60%.
7. Факторы, влияющие на уязвимость LLM к MIA
| Фактор | Влияние | Почему |
|---|---|---|
| Overfitting (переобучение) | Сильное (повышает успех атаки) | Модель запоминает шум и редкие паттерны |
| Размер модели | Неоднозначно: большие модели могут лучше запоминать, но и лучше обобщать | |
| Количество эпох | Прямо пропорционально | Многократный проход увеличивает «отпечаток» |
| Удаление дубликатов (dedup) | Снижает уязвимость | Уменьшает количество сильно заученных примеров |
| Tokenisation (токенизация) | Может скрывать сигнал | Редкие токены дают сильный сигнал |
| Длина текста | Длинные документы дают более стабильный сигнал | Больше токенов для усреднения |
8. Защита от membership inference атак
8.1. Differential Privacy (DP) — первая линия обороны
Обучение с дифференциальной приватностью (DP‑SGD) гарантирует, что любое изменение одного обучающего образца слабо влияет на итоговую модель. Параметр ε (эпсилон) контролирует уровень приватности. Для LLM типичные значения ε = 8‑20 (плохая защита) или ε = 1‑4 (сильная защита, но падение качества).
Ограничения:
- Сильное снижение точности для больших моделей.
- Сложность реализации на масштабе (нужна гомоморфная агрегация, большие батчи).
8.2. Post‑hoc защита (неэффективна)
- Scrubbing — удаление подозрительно заученных триграмм. Практически не помогает.
- Temperature scaling — сглаживание уверенности. Немного снижает ASR, но незначительно.
8.3. Регуляризация и early stopping
- Увеличение dropout, weight decay, label smoothing — уменьшают overfitting.
- Ранняя остановка (early stopping) на валидации снижает запоминание, но может ухудшить качество.
8.4. Ограничение доступа к логитам
API, возвращающие только текст (без логарифмов вероятностей), сильно усложняют loss‑based атаки. Однако остаются reference‑based методы, работающие через прокси‑оценки (разброс по выходам при выборочном сэмплировании).
9. Особенности MIA для LLM по сравнению с традиционными ML
- Огромный словарь — сигнал размазан по многим токенам.
- Длинные контексты — можно вычислять loss для каждой позиции.
- Memorization — не синоним overfitting. Модели могут точно воспроизводить уникальные последовательности (например, номера кредитных карт), даже при хорошем обобщении (memorization vs. generalization trade‑off).
- Data extraction — смежная атака, может предшествовать MIA: сначала извлекают заученный текст, затем подтверждают членство.
10. Этические аспекты и законность
Membership inference атаки на LLM поднимают серьёзные вопросы:
- Возможно ли доказать, что модель обучалась на ваших личных данных (GDPR, право на забвение)?
- Использование MIA для аудита моделей (как злоумышленниками, так и регуляторами).
- В большинстве юрисдикций проведение MIA на закрытых моделях без разрешения может быть незаконным (нарушение ToS, компьютерное мошенничество).
Пет-проект для закрепления
Задача: Реализовать простую membership inference атаку на небольшую LLM (например, distilgpt2) с использованием loss‑based метода.
Инструменты:
- Python, PyTorch, transformers, datasets
- Hugging Face
lm_eval,bert_score(для оценки) - Датасет:
wikitext-2(разбить на train/test)
Шаги:
- Обучите
distilgpt2на 50% случайных строк из train-частиwikitext-2(теневой target). - Оставьте вторую половину как non‑member.
- Для каждого примера вычислите cross‑entropy loss (средний по токенам) с помощью
model(..).loss. - Постройте гистограммы распределения loss для member и non‑member. Установите порог (например, медиана + 0.5*std).
- Оцените AUC‑ROC и ASR@5%FPR.
- Усложните: добавьте shadow model на другом сплите (reference‑based), обучите простой классификатор (Random Forest) на признаках: средний loss, max loss, variance loss, perplexity.
Ожидаемый результат: Вы получите ASR ~60-70% для loss‑based и ~75-85% для reference‑based. Убедитесь, что точность падает, если применить label smoothing или dropout 0.2.
Связь с другими вопросами
| Вопрос | Тема |
|---|---|
| 601 | Data extraction атаки на LLM (прямая смежная: member extraction) |
| 603 | Adversarial attacks на LLM (общая концепция атак) |
| 604 | Prompt injection (другой вектор атаки) |
| 605 | Differential privacy (основной метод защиты) |
| 606 | Model stealing (ещё одна атака на приватность) |
| 610 | Security in Agentic RAG (контекст угроз для RAG-агентов) |
Навигация
- Предыдущий: 601
- Следующий: 603
- Индекс: 00. Индекс разборов