SynthID: инструменты для нанесения водяных знаков и обнаружения текста, сгенерированного LLM.

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

SynthID — это технология Google DeepMind, которая ставит водяные знаки и идентифицирует контент, созданный искусственным интеллектом, путем встраивания цифровых водяных знаков непосредственно в изображения, аудио, текст или видео, созданные искусственным интеллектом. SynthID Text был открыт с открытым исходным кодом, чтобы сделать водяные знаки для генерации текста доступными для разработчиков. Вы можете прочитать статью в журнале Nature для более полного технического описания метода.

Реализация SynthID Text промышленного уровня доступна в Hugging Face Transformers v4.46.0+ , которую вы можете опробовать в официальном SynthID Text Space . Эталонная реализация также доступна на GitHub , которая может быть полезна для разработчиков открытого исходного кода и участников, желающих перенести эту технику в другие платформы.

Приложение водяного знака

Фактически SynthID Text — это процессор логитов, применяемый к конвейеру генерации вашей модели после Top-K и Top-P , который дополняет логиты модели с помощью псевдослучайной g -функции для кодирования информации о водяных знаках таким образом, чтобы сбалансировать качество генерации с возможностью обнаружения водяных знаков. . См . документ для полного технического описания алгоритма и анализа того, как различные значения конфигурации влияют на производительность.

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

В каждой конфигурации водяных знаков необходимо определить два параметра:

  • Параметр keys представляет собой список уникальных случайных целых чисел, которые используются для вычисления оценок g -функции в словаре модели. Длина этого списка определяет, сколько слоев водяных знаков будет применено. Более подробную информацию см. в Приложении C.1 к документу .
  • Параметр ngram_len используется для балансировки надежности и обнаруживаемости; чем больше значение, тем более заметным будет водяной знак, но он будет более уязвим к изменениям. Длина 5 — хорошее значение по умолчанию.

Вы можете дополнительно настроить водяной знак в соответствии с вашими потребностями в производительности:

  • Таблица выборки настраивается двумя свойствами: sampling_table_size и sampling_table_seed . Вы хотите использовать sampling_table_size не менее\( 2^{16} \) чтобы обеспечить беспристрастную и стабильную g -функцию при выборке, но имейте в виду, что размер таблицы выборки влияет на объем памяти, необходимый во время вывода. Вы можете использовать любое целое число в качестве sampling_table_seed .
  • Повторяющиеся n -граммы в предшествующих токенах context_history_size не помечаются водяными знаками для улучшения обнаружения.

Никакого дополнительного обучения для создания текста с водяным знаком SynthID Text с использованием ваших моделей не требуется, только конфигурация водяных знаков, которая передается в метод .generate() модели для активации процессора логита SynthID Text. См. сообщение в блоге и Space , где приведены примеры кода, показывающие, как применить водяной знак в библиотеке Transformers.

Обнаружение и проверка водяных знаков

Обнаружение водяных знаков является вероятностным. Байесовский детектор предоставляется в составе Hugging Face Transformers и на GitHub . Этот детектор может выводить три возможных состояния обнаружения — с водяными знаками, без водяных знаков или неопределенное — и поведение можно настроить, установив два пороговых значения. Более подробную информацию см. в Приложении C.8 к документу .

Вы можете настроить пороговые значения для достижения определенного уровня ложноположительных и ложноотрицательных результатов для набора подсказок или длины. Подробности см. в Приложении C.8 к документу .

Если у вас есть обученный детектор, у вас есть выбор, как и как вы раскрываете его своим пользователям и общественности в целом.

  • Опция полной конфиденциальности не освобождает и не подвергает детектор каким-либо образом.
  • Полуприватный вариант не освобождает детектор, но предоставляет его через API.
  • Публичная опция позволяет другим пользователям загрузить и использовать детектор.

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

Ограничения

Водяные знаки SynthID Text устойчивы к некоторым преобразованиям — обрезке фрагментов текста, изменению нескольких слов или легкому перефразированию — но этот метод имеет ограничения.

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

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