В Евросоюзе вступили в силу законы, регулирующие использование ИИ, и теперь провайдеры LLM обязаны помечать сгенерированные тексты. Anthropic недавно обновила документацию о своей пометке, но не раскрыла деталей. Между тем в сети активно обсуждают, насколько сложно убрать такие метки. Разберем, как работают текстовые ИИ-вотермарки и какие методы обхода существуют.

Вотермаркинг основан на том, что LLM — это авторегрессионная вероятностная модель. На каждом шаге она выбирает следующий токен из словаря (обычно от десятков до сотен тысяч токенов), опираясь на промпт и предыдущие токены. Сначала модель отбирает топ-K наиболее вероятных токенов, затем выбирает один с учетом его вероятности. Вотермаркинг смещает распределение вероятностей: редкие слова начинают появляться чаще, и наоборот. Для человека разница незаметна, но машина, знающая реальное распределение, легко ее обнаружит.

Один из простых методов — KGW (red-green watermarking). Используется фиксированный секретный ключ K. При генерации текста смотрят на последние H токенов, на основе ключа и этих токенов через хэш-функцию получают seed, затем словарь делится на две половины — красную и зеленую. К логитам зеленых токенов прибавляется небольшая константа δ, после чего сэмплирование идет как обычно. Красные токены остаются доступными, но вероятность выбора зеленых выше. Проверка: зная ключ, восстанавливают раскраску и считают долю зеленых токенов. У человека она около 50%, у модели — заметно выше. Статистический тест (z-score, p-value) показывает, вотермаркнут ли текст.

KGW использует секретный ключ и хэш-функцию для разделения словаря на красные и зеленые токены, увеличивая вероятность выбора зеленых.

Google использует более сложную технологию SynthID. Здесь также есть ключ K и последние H токенов, задающие seed, но вместо простого разделения словаря применяются m псевдослучайных g-функций (в реализации Google m=30), каждая приписывает токену значение 0 или 1. При генерации из выходного распределения вытягивается 2^m кандидатов с повторениями, они разбиваются на пары, в каждой паре побеждает токен с большим значением g₁, ничьи решаются случайно. Победители играют следующий слой с g₂, и так до финала. При проверке восстанавливают значения g-функций для каждого токена и усредняют по тексту. Если среднее около 0.5 — текст нормальный, если значительно выше — вотермаркнут.

Как обходить вотермарки? Очевидный путь — редактирование или переписывание текста другими словами. Автор предлагает несколько шагов. Сначала предобработка: удалить длинные тире, символы нулевой ширины, нестандартные пробелы. Затем три шага, направленных на борьбу с распределением токенов: перевести текст через промежуточный язык (например, Google Переводчик), перевести обратно, и при необходимости переписать с помощью LLM. Это меняет распределение токенов, делая метку недетектируемой.

что вотермарки — это не только техническая, но и правовая тема. В ЕС законы обязывают помечать ИИ-контент, но методы обхода могут подпадать под регулирование. Пока неясно, как будут применяться эти правила на практике, но дискуссия вокруг вотермарок только набирает обороты.