Моя предыстория

Ровно год назад после Тренировок по ML в Вышке и курсу по Соревновательному Data Science я решил поучаствовать в соревновании на Kaggle "LLM - Detect AI Generated Text". Основная задача была определить сгенирирован ли текст или написан студентом (типичная бинарная классификация). Знаний тогда было не очень много, чтобы придумать свое решение, поэтому, по заветам курса, не стал придумывать велосипед, накинул побольше веса для CatBoost и попытался попасть в конечное распределение на private с помощью замены наивного баеса на SVM. В итоге, везение было на моей стороне, я получил серебро за это решение, заняв 152 место из 4500 :-)

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

Способы для детекции ИИ контента

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

  1. Повторяющиеся предложения

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

    Ответ от ChatGPT-4
    Ответ от ChatGPT-4
  2. Шаблонные структуры предложений

Модели языка ИИ в значительной степени опираются на общие фразы и идиомы. Они используют их чаще, чем люди-писатели, иногда чрезмерно и неадекватно. 

  • Используются ли фразы, которые придают тексту естественное звучание, но не добавляют никакой ценности?

  • Не слишком ли формальный и монотонный тон? 

Пост с Reddit про часто используемые слов на английском
Пост с Reddit про часто используемые слов на английском
  1. Монотонность ответов

  2. Общие определения без подробностей

Современные бенчмарки: что показывают исследования

1. Генеративные модели стали точнее, а значит — «незаметнее»

  • Если взять тексты GPT-4o или Deepsick и попросить их быть как можно более «человеческими», без длинных вводных фраз, то по классическим метрикам вроде perplexity их уже не так легко различить.

  • Новые модели (Llama3, Sonnet и др.) стремятся давать чёткие ответы и умеют подделывать стиль (например, стилизоваться под подростка, под научного сотрудника или блогера).

2. CheckGPT и похожие подходы

  • Появляются исследования вроде CheckGPT (arxiv.org/abs/2306.05524), где цепочку рассуждений пытаются «проверять» на достоверность на каждом шаге. Такие модели чуть более «прозрачны»: если им дать задачу написать текст, они могут сопровождать его проверенными фактами.

  • Для детекции же это палка о двух концах: если у нас доступ именно к «промежуточным» шагам reasoning, мы можем выловить там неестественные куски. Но в реальности детектор почти никогда не имеет прямого доступа к внутреннему треку рассуждения LLM, так что остаётся лишь анализ «финального результата».

3. Соревнования и тесты от крупных игроков

  • Meta (ранее Facebook) выпускала коды и модели, которые детектят сгенерированный текст на основе лингвистической стилистики и энтропии.

  • OpenAI предлагали собственный AI Text Classifier, но в начале 2023 он работал очень ненадёжно и в итоге OpenAI даже убрали его со своего сайта, признав, что сейчас нет идеального решения.

  • Turnitin (крупный антиплагиат-сервис) заявлял о внедрении ИИ-детектора, но практика показала, что он ошибается нередко: принимает человеческие эссе за сгенерированные и наоборот.

Инструменты для детекции сгенерированного текста

1. GPTZero

  • GPTZero - дин из самых популярных сервисов, появившийся ещё в начале 2023. Изначально позиционировался как «спасение для учителей». Показывает вероятность, что текст был сгенерирован.

  • Использует смесь лингвистических признаков, perplexity и burstiness (насколько скачкообразно распределение слов).

2. Crossplag, Undetectable AI и т. д.

  • Crossplag — ещё один сервис, который пытается определять, сгенерирован ли текст.

  • Undetectable AI — наоборот, сервис «по другую сторону баррикад», который берёт AI-текст и «переформатирует» его так, чтобы он не палился на детекторах.

  • При текущем уровне технологий это вечная гонка «детектор ↔ антагонист». Даже если сегодня детектору удаётся сносно различать «стандартные» тексты GPT, завтра появится сервис-шаблон, который сделает «двойную перестановку слов» и маскировку стилевых маркеров.

Можно ли до сих пор отличить ИИ-текст от написанного человеком?

Короткий ответ: «В общем случае всё сложнее».
Расширенный ответ:

  1. Да, можно выявлять некоторые следы, особенно если генерация была сделана не самой новой моделью и без дополнительного «вычитки» со стороны человека. Признаки повторяемости, шаблонности, монотонности тона, излишней формальной лексики всё ещё иногда «палят» ИИ.

  2. Нет, если речь о продвинутой модели, которая настроена писать в уникальном стиле. Плюс к этому, если человек подредактирует (перефразирует) результат, то классические детекторы почти наверняка провалятся.

В итоге мы наблюдаем некую гонку вооружений: появляются новые инструменты, которые вроде умеют ловить LLM-тексты, но тут же возникают способы «замаскировать» их. Есть мнение, что надежной автоматической детекции, работающей в 100% случаев (или хотя бы в 90%+), на сегодняшний день не существует. И это мнение поддерживают даже большие игроки вроде OpenAI.

Заключение

Тем не менее, вопрос «возможно ли всё ещё отличить сгенерированный текст от написанного человеком?» остаётся открытым. С каждым днём всё труднее ответить на него однозначно, но при должном усердии, сочетании разных инструментов и щепотке интуиции детекция по-прежнему возможна.

Ну а если кто-то хочет проверить удачу в Kaggle, то обязательно подписывайся на мой канал, так мы много обсуждаем про ML. Возможно, ещё добудешь золотую медаль — главное, чтобы в этот раз опять фартануло, да и CatBoost не подвёл!

Комментарии (9)


  1. AdrianoVisoccini
    29.01.2025 09:16

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


    1. nikotin55 Автор
      29.01.2025 09:16

      Во первых, во всех компаниях, над статьями работают минимум два человека(редактор и писатель), так что вряд ли монотонная статья должна проходить. К тому же у многих есть шаблоны текстов


      1. AdrianoVisoccini
        29.01.2025 09:16

        ну что вы, в каких компаниях? Есть же люди которые пишут тексты на всякие сайты типа 1000 рецептов которые начинаются из разряда "Рецепт вареной картошки: Картофель это благородный овощ знаменитый своей историей. Он был завезен в Россиию в конце 17 века и поначалу был принят потребителями в штыки, вплоть до "Картофельных бунтов" которые шумели по всей стране не одно десятилетие. Однако... "
        ну вы поняли. Какие там ещё редакторы, вы о чем? Фрилансер, который строчит тексты уровня первых моделей чата гпт


      1. Missis_Pam
        29.01.2025 09:16

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

        Как редактор, писатель и копирайтер говорю: хоть коммерческий, хоть художественный текст плохого автора не получится по перечисленным признакам отличить от нейроночного "невооруженным глазом". Там и повторения, там и вода, и прочая-прочая, — всё есть. ) Правда, именно таких авторов ИИ уже и "поприжали" в первую очередь, ибо заказчикам всякой пустой ерунды стало выгоднее ее генерировать, а не заказывать у людей. )


        1. AdrianoVisoccini
          29.01.2025 09:16

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


  1. CrazyElf
    29.01.2025 09:16

    Я уж думал NB и SVM давно уже нигде не используются и вот вдруг. ) Так то они неплохи для текстов, я когда-то давно, когда баловался с текстами (тогда ещё просто с "мешком слов", ну и с word2vec тоже), у меня как-раз NB, SVM и ExtraTrees неплохо взлетали. Но с тех пор я думал бустинги всех универсально зарулили. SVM ещё и очень медленный и жрущий память кроме всего прочего.


    1. nikotin55 Автор
      29.01.2025 09:16

      Зачастую, NB или SVM используют в качестве простых моделей в ансамбле с маленькими весами(в моем случае было 0.15), и если вы попали в распределение, то это улучшит всю модель на 3-5%


  1. sSindiKk
    29.01.2025 09:16

    Спасибо за статью! Почему я ожидал вот такой развязки "Этот текст тоже был сгенерирован. А вы смогли это определить?"


  1. Svezhiy
    29.01.2025 09:16

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

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