Prompt-Watermarking. Технологія статистичного маркування текстів ШІ
Визначення: Prompt-Watermarking — це метод вбудовування невидимих ідентифікаторів у текстовий потік під час генерації LLM шляхом маніпуляції ймовірностями вибору токенів (logits).
1. Механізм «Зеленого списку» (Soft Watermarking)
В основі лежить алгоритм розподілу словника $V$ на дві підмножини:
Зелений список (G) та Червоний список (R).
Розподіл базується на хеш-функції від попереднього токена $t_{n-1}$.
2. Детекція та статистична значущість
Для перевірки тексту на наявність водяного знака використовується z-score тест.
Якщо кількість токенів із зеленого списку суттєво перевищує очікуване середнє значення при випадковому виборі, текст маркується як «Generated by AI».
- Стійкість: Висока до прямого копіпасту.
- Вразливість: Чутливість до глибокого парафразу (re-writing) та атак на основі змішування моделей.
3. Практичне застосування в Україні та світі
Технологія є критичною для впровадження AI Act (регулювання ШІ в ЄС). В Україні це стане базою для:
| Сфера | Метод використання |
|---|---|
| Освіта | Автоматична верифікація студентських робіт без хибних спрацювань. |
| Медіа | Захист авторського контенту від несанкціонованого згодовування іншим ШІ. |
| Кібербезпека | Виявлення масштабних дезінформаційних кампаній, створених бот-мережами. |
Цей додаток — це практична інструкція для тих, хто хоче впровадити Prompt-Watermarking у свій продукт або робочий процес. Оскільки більшість комерційних моделей (як-от GPT-4) тримають свої ключі в секреті, ми розглянемо, як це реалізувати на власній базі (наприклад, використовуючи моделі з відкритим кодом Llama 3 або Mistral).
Практичний гайд: Впровадження текстових водяних знаків
Етап 1: Інтеграція на рівні генерації (Backend)
Якщо ви розробляєте свій сервіс на базі ШІ, ви не просто надсилаєте запит до API, а керуєте процесом вибору токенів.
-
Вибір алгоритму: Найпопулярнішим на сьогодні є алгоритм Керіні (Kirchenbauer et al.).
-
Налаштування Logit Processor: Вам потрібно втрутитися в «голову» моделі. Коли модель видає ймовірності для наступного слова, ваш код повинен:
-
Згенерувати випадкове число (Seed) на основі попереднього слова.
-
Розділити словник на «зелені» та «червоні» токени.
-
Додати невелике число ($\delta$) до ймовірностей (logits) «зелених» слів.
-
-
Приклад коду (концептуально):
Python
# Встановлюємо зсув (bias) для зеленого списку watermark_processor = WatermarkLogitsProcessor( fraction=0.5, # 50% словника у зеленому списку strength=2.0, # наскільки сильно ми "штовхаємо" модель до цих слів hash_key=42 # ваш секретний ключ )
Етап 2: Створення детектора (Internal Tool)
Для того, щоб перевірити текст на автентичність, вам потрібен внутрішній інструмент, який має той самий секретний ключ (hash_key).
-
Як це працює: Ви завантажуєте текст у детектор. Він проходить по кожному слову, дивиться на попереднє, вираховує, чи мало наступне слово бути «зеленим» за вашим ключем, і рахує кількість збігів.
-
Результат: Ви отримуєте P-value. Якщо воно критично низьке (наприклад, $10^{-10}$), ви на 100% впевнені, що текст згенеровано вашою системою.
Етап 3: Сценарії застосування (Use Cases)
1. Для онлайн-медіа та копірайтингу
-
Проблема: Фрілансери здають тексти, повністю написані ШІ, видаючи їх за авторські.
-
Рішення: Ви пропускаєте текст через внутрішній детектор. Навіть якщо автор замінив 10-20% слів, «математичне відлуння» водяного знака все одно залишиться в структурі речень.
2. Для корпоративної безпеки (Data Leak Prevention)
-
Проблема: Співробітники використовують корпоративний ШІ для написання конфіденційних звітів, які потім «витікають» у мережу.
-
Рішення: Всі тексти, що генеруються внутрішнім корпоративним чат-ботом, мітяться унікальним водяним знаком компанії. Якщо документ з’явиться у публічному доступі, ви зможете довести, що він походить саме з вашої системи.
3. Для освітніх платформ (LMS)
-
Проблема: Студенти використовують ШІ для розв’язання тестів.
-
Рішення: Платформа генерує варіанти завдань через ШІ з водяним знаком. Якщо відповідь студента містить ті ж самі специфічні статистичні аномалії, що були в «підказках» ШІ — це прямий доказ академічної недоброчесності.
⚠️ Важливе застереження
Метод не працює, якщо:
-
Текст занадто короткий (менш як 50 слів) — статистичної вибірки недостатньо.
-
Текст було перекладено на іншу мову (структура токенів повністю руйнується).
-
Використано радикальний рерайт «своїми словами».
Порада: Якщо ви хочете перевірити сторонній текст (наприклад, з ChatGPT), використовуйте сервіси на кшталт GPTZero або Originality.ai. Вони не мають доступу до «секретних ключів» OpenAI, тому використовують методи лінгвістичного аналізу (перплексія та бу Burstiness), що є менш точним, ніж прямий Watermarking.













