Материал подготовлен автоматически по первоисточникам: ссылки на них — в конце статьи.
Текст документов в облачной векторной базе можно сделать труднее для восстановления, не ухудшая поиск добавлением шума. В препринте Xinguo Feng и соавторов, который не проходил рецензирование и приводит замеры самих авторов, SHAQ сохранил качество поиска на уровне системы без защиты и превзошёл защиту шумом. Для RAG-систем это предлагает другой принцип хранения: в облако отправляют не числовое представление документа, а представления запросов, которые могут к нему привести.
В базе хранится не документ, а несколько путей к нему
Обычный плотный поиск кодирует каждый документ в эмбеддинг — числовой вектор, который передаёт смысл текста. Пользовательский запрос кодируется тем же способом, после чего база ищет ближайшие векторы. Проблема в том, что атакующая модель может обратить этот процесс и восстановить по вектору значительную часть исходного текста.
Распространённая защита добавляет к эмбеддингу случайный шум. Сильный шум мешает поиску, а слабый оставляет достаточно информации для восстановления. Умножение векторов на секретный коэффициент тоже не решает задачу: нормализация возвращает им исходное направление.
SHAQ не меняет эмбеддинг документа, а вообще не сохраняет его. Генеративная модель читает документ и составляет набор коротких теневых запросов, похожих на формулировки будущих пользователей. Один запрос может отражать тему текста, другой — отдельный факт или возможную задачу, для которой документ окажется полезен.
Сначала модель создаёт больше кандидатов, чем нужно для индекса. Затем алгоритм K-Means группирует близкие по смыслу варианты, а SHAQ выбирает по одному запросу из каждой группы. Так система старается охватить разные части содержания, а не сохранить несколько перефразировок одной мысли.
Выбранные запросы превращаются в эмбеддинги и в случайном порядке загружаются в векторную базу. Отдельное соответствие связывает каждый такой вектор с исходным документом. Когда приходит настоящий запрос, поиск находит ближайший теневой запрос, после чего система возвращает связанный с ним документ.
Прямой связи между одним хранимым вектором и полным текстом больше нет. Получив доступ к базе и модели эмбеддингов, атакующий видит представление отдельного возможного запроса, а не представление всего документа.
Восстановить текст стало труднее, ранжирование сохранилось
Защиту проверяли против vec2text — атаки, которая обучает генеративную модель восстанавливать документ из эмбеддинга. В стандартном сценарии для атаки отбирали 100 векторов; у SHAQ каждый относился к отдельному документу, а атакующий не знал, что перед ним теневые запросы.
Средняя доля восстановления по использованным метрикам составила 0,271: чем ниже значение, тем меньше исходного текста вернула атака. По сравнению с добавлением шума SHAQ защищал от восстановления до 19,5% больше токенов и показывал наименьшее совпадение с оригиналом на всех проверенных наборах и метриках.
Качество ранжирования при этом достигало 0,8524 по NDCG. Эта метрика оценивает, насколько высоко поиск ставит подходящие документы; результат SHAQ оставался сопоставим с системой, где эмбеддинги документов хранились без защиты.
Авторы также собрали адаптивную атаку. В ней атакующий знает устройство SHAQ, его параметры и используемую генеративную модель, восстанавливает несколько теневых запросов одного документа и пытается сложить их содержание. Совпадение по ROUGE-1, метрике пересечения отдельных токенов, опускалось до 0,2083.
Эксперименты охватывали несколько наборов для информационного поиска из разных областей, а отдельные проверки на SciFact использовали документы без обрезки и другую модель эмбеддингов DPR. Сравнивали систему без защиты, добавление шума и SHAQ; атаки строили вокруг vec2text, поэтому результаты описывают прежде всего этот класс восстановления текста.
Планы меняются на уровне индекса, а не всей RAG-системы
SHAQ относится к архитектурам, где сторонний сервис хранит векторный индекс, а атакующий может получить эмбеддинги через утечку или доступ изнутри. Он также может отправлять произвольные тексты в используемую модель эмбеддингов, но в обычном сценарии не знает о включённой защите.
Для такой схемы работа предлагает не выбирать между приватностью и качеством поиска с помощью уровня шума, а изменить данные в индексе. Вместо одного вектора документа появятся несколько векторов запросов и таблица соответствий. Поиск останется основан на близости векторов, однако конвейер индексации придётся дополнить генерацией, отбором и привязкой запросов.
Генерация проходит один раз до индексации, но модель на этом этапе получает исходный текст. Если облачная база не должна видеть документ, теневые запросы нужно готовить в доверенном контуре и загружать уже после кодирования. Команде также придётся заложить несколько записей индекса на один документ и хранить их связь с источником.
Работа пока не даёт оснований считать SHAQ универсальной защитой векторной базы: проверка сосредоточена на восстановлении текста через vec2text и поисковых наборах данных. Но для нового RAG-контура с чувствительными документами подход меняет раннее архитектурное решение — какие именно векторы разрешено передавать управляемому сервису.
Источники
Похоже на вашу задачу?
Расскажите, что собираете. За полчаса разложим на этапы и назовём сроки — это бесплатно и ни к чему не обязывает.



