Спасти рядового GPT или нейронный гамбит
На фоне ажиотажа вокруг нового нейронного анализатора решил затестить, так ли он хорош, как его превозносят. Действительно ли это «убийца ии-литературы», или, к сожалению, все не так радужно.
Для тех, кому лень читать. Краткая выжимка из экспериментов: точность у него довольно неплохая, но её можно сбить разными способами. Есть некоторые моменты где данный зверь путается, так что я бы ему полностью не доверял. Тем не менее, вещь рабочая, ставлю 8/10.
Итак, для того, чтобы тестировать подопытного мной были отобраны несколько текстов, на которых мы и будем ставить эксперименты. По порядку:
1) 100%-й нейрослоп — рассказ про покупку шахматистом BMW (написан Дипсиком, также использовал вариант от Алисы AI)
2) 100%-й человек — Ярослав Гашек, «Похождения бравого солдата Швейка».
3) 50/50: пародийный СЛР про миллиардера Яромира: я специально чередовал абзацы (нейронные и реальные) через Дипсик (это основная нейронка, через которую я все гнал).
4) Список ходов из партии «Ботвинник-Таль» 1960 года (позднее вы поймёте, зачем).
5) Биография Гая Юлия Цезаря из Вики, в двух вариантах: русская статья и машперевод.
Начнем, пожалуй. И 100%-й нейрослоп, и 100% -й текст великого чешского писателя детектор определил с замечательной точностью. Так, глава про Швейка в сумасшедшем доме получила всего 0,1% нейронки, а текст про шахматиста, покупающего машину, аж 99,9.
На первый взгляд, все отлично: детектор не смогла обмануть даже стилизация под стиль Антона Палыча (для сравнения, первый попавшийся "анализатор текста") заявил, что со 100%-й вероятностью этот же текст написал человек.
Но, будем честны, чисто нейронкой сейчас никто не пишет книги. Все добавляют хотя бы немного авторских фраз. Итак, у меня в запасе имеется пародийный СЛР, которому я даже не придумал название, и который я писал в соавторстве с Дипсиком по приколу. И вот тут случился первый fail: детектор определил его как на 19% нейронный. Это, в принципе, неплохой показатель, позволяющий любителю искусственного интеллекта вместо интеллекта человеческого, оправдаться, мол "не-не-не, никакой нейронки, просто похоже пишу".
И тут меня посетила забавная мысль: а что если перед закидыванием текста не стереть промпт или характерные артефакты нейросети? Ну, вы знаете, эти "продолжи текст в том же стиле" или "Отлично! Вот продолжение в заданном стиле. За данную вещь, которая является очевидным указателем на нейронку в любой другой ситуации, детектор накрутил всего 0,1%.
а потом случился Epic fail. Детектор, увидев очевидный артефакт нейронки, который я добавил в начало текста, взял, да и снизил (некритично, всего где-то на одну единицу) проценты вероятности нейронки в общем, однако же, процент "доля сегментов" резко скакнул.
В общем, это был первый тревожный звоночек на тему работоспособности данного детектора. Я решил не останавливаться, и абсолютно случайно нашел ещё более смешной баг, связанный с ним. Берем все тот же многострадальный текст про шахматиста, и список ходов из партии Ботвинник-Таль (вот, наконец-то они пригодились). Результат рассмешил: в зависимости от положения в тексте данного списка ходов, бот по-разному оценивал его "нейронность". Список ходов в начале, например, снизил рейтинг аж до 70%, а в середине и в конце — всего до 99%. Все как в реальных шахматах, от твоего хода зависит дальнейшая игра! Горыныч зевнул мат в один ход! 10/10 детектору за эту реалистичность!
(Также, обратите внимание на то, как из-за этого скачет доля сегментов).
Другой похожий эксплойт связан с банальным повтором двух абзацев в тексте. При небольшом объеме загружаемого произведения, он резко руинит вероятность. Так, тот самый текст про гроссмейстера и BMW, неожиданно, был оценен как нейронный на 2,5%, что, разумеется, ложь.
С другой стороны, при больших объемах текста, мне не удалось уже провернуть такой трюк, что соответствует утверждению о том, что на малых объемах детектор работает так себе. Я бы сказал, не на малых, а на средних, до 12 абзацев включительно. Совсем маленькие он щелкает как орехи, в больших — может поплыть, а вот все веселье начинается именно в средних размерах.
После этого я решил попробовать прогнать через него условно научные тексты. В качестве подопытного была выбрана биография Гая Юлия Цезаря, которую по тактике "Тихо…кхм, взял… и пошёл, называется — нашел", я стащил из Википедии. Детектор ответил отличным показателем в 0,6%. Однако тут я подумал, а что если закинуть нейроартефакт? Тут вышло совсем смешно. Я даже не буду пока ничего комментировать, просто посмотрите сюда.
9,2% — это все ещё неплохой результат, который примерно в 99% случаев гарантирует написание человеком. Однако вернемся немного назад. Помним же, как среагировал детектор на эту же фразу в контексте полунейронного текста? Правильно, снизил проценты. Здесь — напротив, он накрутил почти 9% за одну эту фразу очевидно человеческому тексту. Причём это сработало только с Цезарем. С Гашеком, например, детектору не удалось накрутить столько, что, конечно, радует. Причем он как бы видит, что нейросегментов 0, но все равно накрутил эти 9%.
Справедливости ради, стоит сказать, что детектор работает на малых объемах текста довольно слабо, и тупит, что было сказано в посте с его презентацией, и это бета. Так что не ручаюсь за достоверность моих исследований.
А вот машинный перевод биографии Цезаря меня удивил. Он дал мне, ни много не мало, а целых 0% нейронности, что, пока что, рекорд.
Ради интереса, попросил Дипсика перевести этот же отрывок. И тут снова случился fail: даже несмотря на AI-артефакт прямо в тексте, детектор дал всего лишь 8,5%. Так что доверять ему в вопросах качества переводов я бы не советовал. С другой стороны, данная ситуация показывает, что с научными текстами Горыныча пока что можно обмануть.
Какой у всего этого вывод? В общем и целом могу сказать, что данный детектор довольно мощный, намного лучше подобных, но тем не менее, существует много способов его обхода, в том числе, и буквально уничтожитель в виде случайного копипаста, который тупо перегружает его. Что про него можно сказать? Парень неплохо определяет вероятность того, что текст НЕ является ИИ. Но вот в вопросах определения ИИ, он сильно лажает. Помимо прикола с повтором фразы или внезапным шахматным ходом, который буквально руинит его систему оценки, использование схемы «Нейросеть-плюс человек» тоже может его обмануть, тем более, сейчас никто не пишет только с ИИ, кроме совсем уж упоротых. Все хотя бы разбавляют реальными абзацами. Я также покидал несколько современных литературных произведений (их я приводить не буду, поскольку не уверен до конца, но результаты там были от 3,4 до 8,9%)
Максимальный процент, который я получил с ним у человека — 8,9%. Минимальный — 0%. Минимальный процент с ИИ был в районе 19%, плюсом ко всему, был ещё случай, когда то ли из-за объема, то ли из-за ещё чего-то, детектор определил текст как 1% нейронный, хотя он писался совместно нейронка и человек, с небольшой редакцией фраз (это все тот же пародийный СЛР).
Очень уж я сомневаюсь в достоверности этих исследований, поэтому под конец решил чисто ради интереса написать туда абсолютную белиберду, и попросил такого же итога от Дипсика. И тут случился неожиданный сюжетный поворот: детектор, даже на столь маленьком объеме с довольно большой (как я считаю) вероятностью, определил, где ИИ, а где незамутненный поток сознания человека.
Напоследок, я решил проверить Горыныча секретным оружием — отрывком из романа "Уллис". К моему удивлению, он и его осилил, чем после череды фейлов меня убедил в своей работоспособности.
В итоге, что получается? Довольно неплохой детектор. Не без багов, конечно, но не так ужасен, как его предшественники. Этот довольно точно распознает человеческие тексты, а вот смешанные становятся для него головной болью. Очень странно он реагировал на типичные косяки нейросети, но не стоит забывать, что это бета. Думается мне, скоро мы получим довольно действенный инструмент. Тем не менее, я пока больше доверяю утиному тесту и типичным фразам ИИ. 8/10.