Перейти к содержанию
Публикация AiManual

AI-тексты в датасетах: детекторы ошибаются в 47-73% случаев, а фильтрация роняет точность с 67,5% до 57,5%

Эксперимент на коллекции кинорецензий Mendeley показал: при пороге, ловящем 80% AI-отзывов, детекторы ошибочно помечают 47-73% человеческих рецензий, а фильтрац

Коротко

Что будет в материале

  1. 01

    Что произошло в эксперименте: 1000 рецензий, 400 AI-отзывов и три проверки

  2. 02

    Почему дешёвые детекторы AI-текста дают сбои

  3. 03

    Как фильтрация AI-текстов ломает модель: цифры и механизм

  4. 04

    Как отличить сгенерированный текст от написанного человеком на практике

При пороге, который ловит 80% сгенерированных отзывов, лучший одиночный детектор ошибочно помечает 47% написанных людьми рецензий, а комбинированный скор из трёх проверок - 73%. После фильтрации по этому порогу обучающая выборка сжалась с 600 отзывов до 134, а точность классификатора тональности упала с 67,5% до 57,5%. Такой результат получил автор разбора, опубликованного на Towards Data Science (AI Slop Is Already in Your Training Dataset. I Tested Three Ways to Spot It).

Что произошло в эксперименте: 1000 рецензий, 400 AI-отзывов и три проверки

Автор взял коллекцию кинорецензий, которую Mendeley опубликовал в 2019 году. Из неё он отобрал 200 рецензий IMDb и считал их написанными людьми: сама коллекция указывает IMDb источником, а дата публикации предшествует публичному релизу ChatGPT. К этим 200 текстам он добавил 400 отзывов, сгенерированных двумя языковыми моделями, и получил набор из 600 текстов.

На этих 600 отзывах проверялись три сигнала: перплексия, близкое дублирование и плотность эмбеддингов. Порог каждый раз настраивался так, чтобы поймать 80% сгенерированных отзывов, после чего автор смотрел, сколько человеческих рецензий уходит в ложные срабатывания.

Три ограничения стоит держать в голове до того, как переносить цифры на свои данные: одна коллекция Mendeley 2019 года, две языковые модели, один прогон. Метки «написано человеком» здесь вывод из источника и даты публикации, а не проверка авторства каждого текста.

Почему дешёвые детекторы AI-текста дают сбои

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

Перплексия: почему предсказуемость не равна генерации

Перплексия показывает, насколько текст предсказуем для языковой модели: чем ниже значение, тем более ожидаемыми выглядят слова в предложении. Короткие человеческие отзывы вроде «отличный фильм» или «игра актёров на высоте» тоже дают низкую перплексию. Лучшим одиночным сигналом в эксперименте оказалась не перплексия, а плотность эмбеддингов: шаблонные человеческие тексты попадают в ту же зону низкой предсказуемости, что и машинные.

Отдельная причина не доверять одиночному score - его нестабильность. Замер «машинности» в проекте humanizer-ru упал с 0,846 до 0,438, но контрольные пары показали, что оценка менялась без реальных правок текста: в одной паре хватило удаления строк с подписью чат-бота, в другой текст отличался только завершающим переводом строки (разбор ошибки в тесте humanizer-ru).

Близкое дублирование: люди тоже повторяются

Близкое дублирование ищет тексты, слишком похожие на другие в наборе. Логика простая: генеративная модель выдаёт усреднённые формулировки, значит её тексты должны группироваться. На популярных фильмах люди пишут почти одно и то же: те же клише, те же оценки, те же аргументы про сюжет и концовку. Такие рецензии выглядят как дубликаты, хотя написаны независимо. Сгенерированные тексты, в свою очередь, могут оказаться разнообразными, если генерация шла с высокой температурой. Итог - слабое разделение и много ложных срабатываний.

Плотность эмбеддингов: лучший одиночный сигнал и его цена

Плотность эмбеддингов измеряет, насколько отзыв близок к остальным в векторном пространстве. Сгенерированные тексты часто лежат плотнее, потому что модель тянется к типичным формулировкам. Из трёх проверок именно этот сигнал показал лучший результат. Цена - при пороге в 80% пойманных сгенерированных текстов он ошибочно помечает 47% человеческих рецензий. Почти половина нормальных данных уходит в брак.

Комбинированный скор: почему среднее трёх проверок ошибается в 73% случаев

Комбинированный скор усредняет все три проверки. Идея разумная: если сигналы дополняют друг друга, ошибки взаимно компенсируются. На практике вышло наоборот. При том же пороге в 80% пойманных сгенерированных комбинированный скор ошибочно помечал 73% исходных рецензий. Каждый сигнал систематически ошибается на шаблонных человеческих текстах, и усреднение не убирает эту ошибку, а размывает границу между классами. Фильтр становится агрессивнее и отсекает ещё больше живых отзывов.

Как фильтрация AI-текстов ломает модель: цифры и механизм

Дальше автор обучил классификатор тональности на отфильтрованных данных и сравнил результат с контрольными вариантами. Точность измерялась на отдельном наборе из 200 отзывов:

  • обучение на всех 600 отзывах без фильтрации: 67,5%;
  • обучение только на 200 исходных рецензиях: 68,5%;
  • обучение на данных после фильтрации: 57,5%.

Сокращение выборки: с 600 до 134 отзывов

Порог, который ловит 80% сгенерированных, отсекает 47% человеческих рецензий при лучшем одиночном сигнале и 73% при комбинированном скоре. Из 600 отзывов остаётся 134. Дело не только в объёме. Оставшиеся тексты смещены: фильтр систематически удаляет шаблонные, короткие и типичные человеческие отзывы, а именно они часто несут основную массу примеров для простой задачи классификации.

Падение точности: с 67,5% до 57,5%

Классификатор тональности, обученный на отфильтрованных данных, показал 57,5%. Обучение на всех данных без фильтрации дало 67,5%, на одних исходных рецензиях - 68,5%. Разница в 10 процентных пунктов между фильтрацией и полным набором слишком велика, чтобы списать её на шум.

Показателен и другой факт: набор только из человеческих рецензий обошёл полный, 68,5% против 67,5%. Добавление 400 сгенерированных отзывов модель не улучшило, а фильтрация ухудшила её заметно.

Почему очистка данных не всегда улучшает модель

Фильтрация помогает, когда детектор точен и убирает именно мусор, не задевая полезные примеры. Здесь условие не выполнено: детектор выкидывает больше половины человеческих текстов. Модель теряет разнообразие, обучается на усечённом и смещённом наборе и хуже обобщает на новые данные. Смотреть стоит не на процент пойманных AI-текстов, а на изменение целевой метрики. Если метрика падает, фильтр вреден, даже когда формально ловит 80% сгенерированных.

Как отличить сгенерированный текст от написанного человеком на практике

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

Проверка детектора на данных с подтверждённым авторством

Метки «написано человеком» в эксперименте опираются на источник IMDb и дату публикации 2019 года, до релиза ChatGPT. Это допущение, а не доказательство авторства. Для настройки порога нужны данные, где авторство известно: тексты, собранные с согласия авторов, или контролируемая генерация, где вы точно знаете, какая модель и с какими параметрами писала текст. Без такой опоры вы не знаете долю ложных срабатываний на человеческих текстах, а значит не можете выбрать порог осознанно. Подробнее о том, почему детекция стала вероятностным сигналом, а не вердиктом, - в материале про границу между AI-assisted и AI-generated.

Измерение влияния очистки на целевую задачу

Дальше нужен контрольный замер: обучите модель на отфильтрованных данных и сравните метрику с обучением на всём наборе и на заведомо чистых данных. В разборе это дало 57,5% против 67,5% и 68,5%. Такой тест занимает немного времени и сразу показывает, помогает очистка или вредит. Фильтровать вслепую и надеяться на лучшее - самый дорогой путь.

Когда фильтрация всё-таки оправдана

Очистка имеет смысл при двух условиях: детектор даёт мало ложных срабатываний на человеческих текстах и после фильтрации целевая метрика растёт. В описанном эксперименте не выполнено ни то, ни другое. Ещё один фактор - доля AI-текстов. Если их мало и они не мешают задаче, фильтрация может принести больше вреда, чем пользы. Если доля велика и модель деградирует, дешёвые эвристики проблему не решат: понадобятся методы, которые оценивают связность и смысл текста, а не гоняются за авторством (семантический анализ и краудсорсинг против детекторов).

Ограничения эксперимента: почему нельзя обобщать результаты

Что именно ограничивает выводы:

  • одна коллекция кинорецензий Mendeley, опубликованная в 2019 году, с 200 отзывами IMDb в роли человеческих;
  • две языковые модели, генерировавшие тексты, и один прогон эксперимента;
  • метки «написано человеком» выведены из источника и даты, а не подтверждены авторством;
  • задача - бинарная классификация тональности, а не генерация или извлечение сущностей.

На других данных, других моделях и других задачах цифры будут иными. Этот разбор не приговор всем детекторам AI-текста, а демонстрация того, что дешёвые методы надо проверять на своей задаче, прежде чем строить на них пайплайн очистки. Тот же принцип работает и в других сценариях проверки подлинности, где контент генерируется массово (слой доверия в интернете).

Более широкий контекст: AI-тексты уже проникают в данные

Проблема не ограничена одним экспериментом. В 2024 году Weixin Liang, Zachary Izzo и соавторы на конференции ICML оценили, что 6,5-16,9% текста рецензий на четырёх крупных AI-конференциях после запуска ChatGPT показывали признаки существенной AI-модификации. Оговорка: оценка относится к рецензиям на конференциях и не показывает долю AI-текстов в отзывах на продукты, на форумах или в опросах.

Вторая линия риска - рекурсивное обучение. В 2024 году в Nature вышла работа Ilia Shumailov и соавторов: повторное обучение модели на данных, сгенерированных другими моделями, ведёт к потере редких примеров из исходных данных и сужению результатов. Формулировка здесь важна: речь о режиме отказа при повторном обучении на сгенерированном тексте, а не о том, что однократное добавление AI-текстов обязательно ломает модель (источник с разбором эксперимента).

Что делать: практические выводы

  1. Не фильтровать AI-тексты вслепую по одному порогу.
  2. Проверить детектор на данных с подтверждённым авторством и узнать реальную долю ложных срабатываний.
  3. Измерить, как очистка влияет на целевую задачу: сравнить метрику до и после фильтрации.
  4. Если метрика падает, фильтр не использовать, даже когда он ловит большинство сгенерированных текстов.
  5. Учитывать ограничения: результаты зависят от данных, моделей и задачи.

В разборе фильтрация снизила точность с 67,5% до 57,5%, а обучение на всех данных дало 67,5%, на одних исходных рецензиях - 68,5%. Это не значит, что очистка вредна всегда. Это значит, что её нужно измерять, а не включать по умолчанию.

Подписаться на канал