Соблазн выдать текст, написанный ИИ, за оригинальный собственный стал особенно велик в последние годы, когда нейросети сделали огромный шаг вперёд. Вместе с этим, конечно же, появилась потребность определять тексты, написанные ИИ, а не человеком. Дошло до того, что некоторые учителя не засчитывают сочинения всему классу, хотя большинство работ действительно было написано учениками. Их тексты просто вызвали ошибочное срабатывание системы — ложноположительное (false positive). В этой статье мы разберём, почему инструменты определения сгенерированных текстов так неточны и можно ли с этим что-нибудь сделать.
Системы определения текстов, написанных ИИ, очень далеки от совершенства, настолько, что иногда от них вовсе отказываются. Такой продукт, AI Classifier, сделала даже OpenAI, создатель ChatGPT, но его довольно быстро закрыли, поскольку точность определения составляла менее 26 %. Забавно, что даже конституция США, по мнению AI Classifier, с большой вероятностью тоже была написана искусственным интеллектом. Это породило много шуток о том, что отцы-основатели США — роботы, присланные из будущего.
Инструменты, подобные ChatGPT, опираются на LLM, большие языковые модели. И если разобрать LLM подробней, становится понятно, почему такие тексты сложно отличить с помощью автоматических инструментов.
Если по-простому, то нейросеть — это попытка с помощью компьютера обработать информацию так, как это делает человеческий мозг. Нейросеть состоит из искусственных нейронов, своего рода узлов сети. Эти нейроны объединяются в слои, которые имеют сложные связи как между собой, так и внутри. Можно представить это так, что в верхний слой вы даёте какие-то данные, а нужный результат после множества взаимодействий между нейронами получаете из нижнего слоя. Иногда ответ верный, а иногда нет. Если нет, то вы пытаетесь сделать так, чтобы нейросеть дала лучший результат.
Входные данные воспринимаются нейросетями по-разному. Некоторым из них даётся приоритет, сравнительной больший вес, который в итоге влияет на то, какое решение принимает нейросеть. Если бы данные не имели веса для нейросети, она никогда не смогла бы выдать нам решение по запросу. Изменяя вес данных, вы можете повлиять на решения, которые выдаёт нейросеть.
Представим, что вы создаёте нейросеть, которая определяет фото кошек. И оказывается, что за фото кошек она принимает фото собак. Вы видите, что нейросеть работает неправильно, что данным присваивается некорректный вес. Подстраиваете параметры много раз и таким образом постепенно обучаете модель, пока она не начнёт абсолютно точно определять, изображена ли кошка на любой картинке, поступившей на вход. Так на базовом уровне и строится работа с нейросетями.
Свёрточные нейронные сети обрабатывают каждый запрос как абсолютно новый. Рекуррентные нейросети устроены чуть сложнее: при обработке новых они могут использовать данные прошлых запросов. Но проблема таких сетей в том, что им нужен полный набор данных, прежде чем они обработают информацию. В случае с текстом это значит, что для понимания контекста нейросети нужно прочесть весь текст. Иногда такой подход приводит к проблемам, поскольку к концу текста модель забывала то, что узнала в начале текста.
Но всё изменилось в 2017 году, когда группа ИИ-исследователей Google опубликовали статью Attention is all you need, где предложила отойти от рекуррентных нейросетей в работе с текстами и подобной информацией. Они предложили новую модель Transformer: в отличие от рекуррентных моделей она анализирует текст не посимвольно, а целыми предложениями или даже отрывками. Это позволило моделям понимать контекст, не ошибаясь, например, с многозначными словами, и, соответственно, корректно выполнять задачи по работе с текстами.
Модели-трансформеры произвели революцию в ИИ-приложениях, особенно в сфере обработки естественного языка и генеративного ИИ. Стало возможно развитие LLM — больших языковых моделей, на которые мы полагаемся сегодня. По сути, это и есть очень большие модели-трансформеры.
Для обучения LLM нужно очень много текста. OpenAI обучала ChatGPT на миллионах документов, найденных в интернете — на той же информации, на которой мы и сами учимся писать. Здесь у ИИ нет ни собственного первоисточника, ни уникального набора правил, по которому мы могли бы как-нибудь отличать тексты, написанные нейросетью. Поэтому тексты, созданные LLM и человеком, так похожи.
Определить текст, написанный человеком, можно только вручную, если проверяющий хорошо знаком с его письменной речью. Например, если учитель ведёт один класс, то через некоторое время он вполне может запомнить, как пишет каждый из его учеников. Но если тот же учитель ведёт множество классов в разных параллелях — как обычно бывает в школе, — то шансы совсем невелики. Разве что неосторожный ученик забудет удалить промпты из своего произведения :)
Ориентироваться здесь можно лишь по косвенным признакам. Например, насколько оригинален выбор слов в тексте. Неожиданные лексические ходы говорят в пользу человека. Большие языковые модели при выборе следующего слова выбирают из наиболее популярных вариантов — точно так же, как телефон подсказывает нам вероятное следующее слово при наборе сообщения. Но если нарочно писать так чудно́, чтобы точно пройти «проверку на робота», это может навредить тексту. Зато perplexity, то есть новизна вашего текста для языковой модели, будет велика.
Другое свойство, на которое ориентируются инструменты определения ИИ-текста, — это burstiness. Ближайший русский эквивалент — неравномерность. Тексты, написанные нейросетями, довольно последовательны по структуре предложений, их состав и длина практически не меняются. Людям свойственна более динамичная манера письменной речи. Длинные предложения мы чередуем с короткими. Одни предметы и явления описываем пространно, а для других и вовсе не подбираем определений. Меняем порядок слов для создания художественного эффекта или лучшей расстановки акцентов.
Этот подход к определению текста, написанного нейросетью, имеет и свои слабые стороны. Текст, созданный человеком, не всегда будет демонстрировать неравномерность. Многое здесь зависит от стиля повествования: чем менее художественным он должен быть, тем меньше простора у автора. Научная статья поймает «false positive» с гораздо большей вероятностью, чем школьное эссе. А если модель определения AI-текстов успели обучить, например, на сообщениях из Twitter, но никакой неравномерностью её не удивишь. Большие языковые модели вбирают в себя всё больше текстов, созданных человеком, поэтому со временем полагаться на неравномерность будет всё сложнее.
Получается, что инструменты, определяющие ИИ-происхождение контента, с текстами работают гораздо хуже, чем с фото и видео. Потому что все эти модели тоже обучались на человеческих текстах! По сути, это ещё один случай «уловки-22».
Неверное срабатывание таких проверок несёт дополнительный риск, например, в школах. Если ребенок написал сочинение сам и получил двойку из-за автоматической проверки, это может привести к неприятным последствиям — от недоверия к учителю до потери веры в людей. Поэтому отказ от таких инструментов в школах вполне оправдан. Пусть лучше это будет «false negative», рано или поздно ученик проявит неаккуратность и сам выдаст очевидные доказательства того, что балуется ChatGPT :)
А теперь пойдём по стопам хороших технических презентаций и организуем небольшую демонстрацию: прогоним эту статью в бесплатных вариантах «теста Войта-Кампфа». Сразу оговорюсь: весь текст был написан человеком, при его создании использовались разные англоязычные источники, информация из которых прошла множество изменений под руками автора.
«Антиплагиат», наиболее известная в России система подобных проверок, весной получила функцию определения сгенерированных текстов. Мы добавили весь текст до предыдущего абзаца включительно и получили оригинальность в 100 %. Но потом обнаружили, что проверка на «человечность» входит только в платную версию. Что ж, об этом инструменте можно подробней почитать в Т—Ж. Не дал бесплатно попробовать себя и аналог Text.ru.
AI Detector Sapling без регистрации принял примерно 2000 символов и оценил показатель fake в 0,1 %.
GPTZero утверждал, что из первых 44 предложений половина, вероятно, сгенерирована ИИ.
AI Detector Content at Scale радостно ответил «Passes as human!» на первые 2000 символов, но всё же предложил переписать несколько предложений для надежности.
AI Content Detector Crossplag отчитался «This text was written by a human».
А есть ли у вас опыт работы с подобными инструментами? Что можете посоветовать?