Глава 8 — Анонимизация данных в RAG-пайплайне
Восьмой пост поглавного разбора LLM Primer III: Enhancing Enterprise AI with RAG. Данные следует анонимизировать до того, как их увидит модель, или до того, как их увидит пользователь? Ответ меняет всё в пайплайне, а регуляторный режим обычно выбирает его за вас.
Почему существует эта глава
Глава 7 ответила, кто видит что. Она предполагала, что есть что закрывать. Но Глава 6 также показала, что эмбеддинг — не однонаправленная функция: векторное хранилище — это мутная копия источника, а контроль доступа — лишь внешний слой. Если корпус содержит номера соцстрахования, записи медкарт, имена клиентов или проприетарные пути кода, вопрос уже не только в том, кому разрешено их искать. Вопрос в том, должны ли они вообще были быть заэмбежены в этой форме.
Это вопрос анонимизации, и это самое инженерное решение по безопасности в RAG-развёртывании. Выбор сначала позиционный, потом алгоритмический: на какой стадии чувствительный контент трансформируется?
8.1 До генерации против после генерации
Анонимизация до генерации трансформирует данные перед эмбеддингом и сохранением. Векторное хранилище никогда не содержит исходных чувствительных значений; даже полный компромат слоя модели не извлечёт того, чего никогда там не было. Это архитектура, обязательная для многих HIPAA-покрытых медицинских RAG и нескольких GDPR-связанных юридических приложений. Цена — качество поиска: запрос говорит «Acme Corp», а корпус до эмбеддинга сказал «[ORG_47]», и плотное сходство падает на самом информативном токене.
Анонимизация после генерации работает на выходе модели. Качество поиска сохранено; гарантия приватности слабее, потому что чувствительные данные в индексе. Подходит, когда модель угроз — это утечка пользователю, а не утечка инфраструктуре. Большинство продакшен-систем приходят к гибриду: прямые идентификаторы и категории с высоким регуляторным весом обрабатываются до генерации, низковесные операционные чувствительности маскируются на выходе с учётом профиля авторизации пользователя. Две дисциплины реализации важны: гоняйте анонимизацию до чанкинга (иначе чанкер уничтожит контекст, нужный детектору), и держите хранилище де-токенизации как отдельную таблицу маппинга под контролем доступа, чтобы доктор с правильной ролью всё ещё мог увидеть идентификатор пациента, который индекс замаскировал.
8.2 Маскирование, синтетическая замена, дифференциальная приватность
Техники делятся на три семейства на одной шкале. Маскирование PII обнаруживает сущности (Microsoft Presidio — самая широко развёрнутая open-source реализация) и заменяет их плейсхолдерами. Тяжёлые задачи — recall (детектор, пропускающий 10% имён, даёт отредактированные документы, которые злоумышленник найдёт через сходство эмбеддингов) и пере-маскирование, которое уплощает словарь и портит поиск. Дисциплина — двойное измерение: recall на размеченном наборе и офлайн-бенчмарк качества поиска.
Синтетическая замена подставляет правдоподобное фейковое значение вместо плейсхолдера, поэтому «Иван Петров» становится «Алексей Романов», а не [NAME]. Эмбеддинг остаётся хорошо распределённым и читается естественно для модели. Маппинг детерминирован — keyed hash от реальной сущности к фейковой, — поэтому одна и та же реальная сущность получает один и тот же фейк по всему корпусу, а ключ живёт в хранилище. Синтетическая замена всё ещё течёт против противника со вспомогательной информацией, но это значимое улучшение по сравнению с маскированием, когда качество поиска важно.
Дифференциальная приватность — семейство, дающее настоящую математическую гарантию: механизм ε-DP, если распределение его выхода меняется не более чем в exp(ε) раз при добавлении или удалении любой одной записи. DP-Prompt пертурбирует чанки, выбираемые в промпт; DP-MLM пертурбирует проход эмбеддингов с маскированной языковой моделью; 1-Diffractor комбинирует DP с семантически-сохраняющим переписыванием. DP — это бюджет, а не выключатель: каждый запрос тратит часть, и операционная дисциплина в основном — учёт бюджета. Три семейства компонуются, и правильное развёртывание обычно их наслаивает.
8.3 Компромисс полезность–приватность
Токены, наиболее достойные анонимизации, — это токены, чья анонимизация больнее всего бьёт по поиску. Асимметрия неприятна, но неоспорима. Смягчения частичные: синтетическая замена сохраняет больше сигнала, чем плейсхолдеры; типизированные плейсхолдеры ([PERSON по имени Алексей], а не [PERSON]) сохраняют ещё больше за цену более слабого маскирования. Анонимизированным корпусам часто хочется чуть больших чанков, чем не-анонимизированным, потому что потеря от редактирования амортизируется по большему количеству уцелевшего контента.
Честная рамка — компромисс не одномерная шкала, а двумерная поверхность: регуляторный пол, ниже которого система незаконна, пол полезности, ниже которого пользователи отказываются, и рабочая область между. Иногда зазор широк, и работает много дизайнов. Иногда зазор пуст: регуляторный пол сидит выше пола полезности, и самое ценное, что фаза дизайна может сделать, — признать это до того, как утопить усилия в системе, которую нельзя построить.
8.4 Корпоративная интеграция и выбор дизайна
Zilliz Cloud выставляет анонимизацию как трансформацию пайплайна между парсером и эмбеддером с хуками на четырёх контрольных точках (ингест, поиск, де-токенизация, выход). PII Masker — противоположная форма: сфокусированный строительный блок, который команды компонуют в собственные пайплайны. Зрелые развёртывания часто строят централизованный сервис анонимизации с четырьмя операциями: анонимизировать распарсенный документ, найти де-токенизацию в контексте авторизации, сканировать выходную строку на остаточный чувствительный контент и отчитаться о потраченном бюджете приватности.
Решение начинается с регуляции, а не с алгоритма. HIPAA Safe Harbor чисто ложится на маскирование PII с фиксированным списком восемнадцати категорий. PCI DSS удовлетворяется токенизацией — синтетическая замена плюс хранилище. Принцип минимизации данных GDPR подталкивает к анонимизации до генерации для самых чувствительных категорий. Дифференциальной приватности не требует ни одна крупная регуляция, но это правильный ответ, когда модель угроз включает изощрённого противника со вспомогательными данными, а корпус содержит записи, которые были бы регуляторно-обязательны к доклаЮ при ре-идентификации.
Что подготавливает глава 8
Главы 7 и 8 вместе завершают Часть IV. Контроль доступа отвечает, кто что может видеть; анонимизация — что вообще есть, что видеть. И то и другое — инфраструктурные решения, которые остальной пайплайн обязан уважать, и оба зависят от решений, принимаемых на этапе парсинга и чанкинга, которые нельзя дёшево обратить позже. Когда система спроектирована и защищена, следующий вопрос — работает ли она, а для этого нужен способ её измерить.
Дальше — Глава 9: Триада оценки RAG. Релевантность контекста, верность ответа контексту и релевантность ответа — три независимых сигнала, которые вместе говорят оператору, отказывает ли система на поиске, на генерации или на связи между ними.