Чутка проясню свою позицию насчёт нейродетекторов
Автор: Люка БринПримечание: кто употребляет слово «луддиты» в отношении LLM-скептиков, или кто считает их психами, могут дальше не читать.
Большую часть своей профессиональной карьеры я занималась автоматизацией тестирования программного обеспечения. Последние лет пять работаю над другими вещами, тоже связанными с ПО, но некие принципы тестирования в голове всё равно остались.
Как в эпоху до ML и LLM происходила проверка ПО? Есть несколько видов тестирования, вот я в основном участвовала в функциональном, то есть проверяла соответствие требованиям. При одних и тех же входных данных всегда должен получаться один и тот же результат, причём ещё и строго соответствующий требованиям. Например, калькулятор всегда должен выдавать 4 при сложении двух двоек. Если речь о покупке в интернет-магазине, то какой адрес доставки указали при оформлении заказа, такой и должен сохраниться в базе, и т. д. и т. п.
Чем более объёмный код, тем больше шансов, что в нём есть дефект. Я б сказала, что кода без багов практически не бывает даже после 100500 уровней проверок, если это только не полная примитивщина. Цена ошибки может быть разной, и заказчик определяет, на что он может закрыть глаза, а что критично. К примеру, если в результатах поиска красного платья в интернет-магазине внезапно попадётся синее, это не так страшно. А если при оформлении заказа куда-то внезапно исчезнет сумма доставки, или вдруг применится скидка, которая не должна применяться, это караул. Вообще любые проблемы, связанные с денежными вопросами, одни из наихудших.
Что происходит теперь? LLM в общем случае ведут себя недетерминированно и не гарантируют повторяемый результат. Вы можете 100 раз подряд задавать один и тот же вопрос в новых сессиях и каждый раз будете получать разные формулировки в ответе. Чёткие бинарные критерии больше не работают, они заменяются вероятностными и статистическими. Есть разные методологии оценки верности ответов, в том числе проверки по неким индустриальным контрольным показателям, проверки с помощью другой языковой модели, проверки на соответствие статическим метрикам, работа с промаркированными данными и много чего ещё — поскольку я уже не совсем в теме тестирования ПО, досконально не знаю.
Главное, что вместо точного соответствия ожидаемому значению сейчас используется некая приемлемая погрешность и допускается неполное соответствие требованиям. Да, раньше тоже применяли математические ожидания при проверке результатов, но я говорю про куда большие погрешности.
Теперь возвращаясь к теме нейродетекторов. Сама идея «давайте поможем читателям определять нейронку, раз сами авторы не сознаются» — логичный ответ на тенденции последнего времени. Штука в том, что всё, что предоставляется пользователям — некий «чёрный ящик» без известных критериев, по каким параметрам определяется, что текст нейроночный или нет, какая у модели погрешность и т.д.
Есть пользователи, которые (на мой взгляд) логично думают: ну, раз вероятность больше 50 процентов — это, скорее всего, действительно нейросеть. Есть и те, кто начинает что-то подозревать уже при вероятности больше двух-пяти процентов (сужу по комментариям к постам о нейронках).
Есть и другой вариант, когда идут оправдания: «Ну вот тут отрывок человеческого текста маленький был, поэтому нейросеть выдала, что это с вероятностью более 50 процентов ИИшница. Надо больше скармливать!» У человека, имевшего дело с тестированием ПО, логичный вопрос: а где написано, какого объёма должен быть отрывок, чтобы результат был достаточно точным? Если интерфейс позволяет обрабатывать тексты размером не менее 50 слов, то с точки зрения инженера 50 слов — это граничное значение, которое можно и нужно использовать. И тут вдруг выясняется, что нет, нельзя, точность нейродетектора резко падает. Одни пользователи это поймут, другие — нет, и будут настаивать, что «царь-то ненастоящий», то бишь автор отрывка нейронщик проклятый!
И какая же вероятность считается «в рамках погрешности»? Я скормила нейродетектору два своих старых текста, написанных до 2022 года, когда я даже не пользовалась поиском через ИИ. Для более старого текста он выдал 7 процентов вероятности ИИшности, для более нового — 5 процентов. Я техзадания нейродетектора не знаю: возможно, заказчик так и сказал, что всем, что меньше 10 процентов, можно пренебречь. Но лично для меня такие результаты выглядят откровенно ненадёжными.
Не буду дальше занудничать, просто подведу итог. Мы имеем дело с некой специализированной большой языковой моделью, которую авторы предлагают использовать для оценки происхождения текста. Критерии оценки нам не сказали (понятно, что ноу-хау), рамки допустимых отклонений не обозначили. Кто это понимает, тот понимает и не будет носиться с результатами как курица с яйцом, просто применит как дополнительный инструмент. А кто не понимает, начнёт доставать писателей обвинениями, основанными только на работе этого нейродетектора.
Поэтому я ко всем этим затеям отношусь с крайней настороженностью. Я каждый день имею дело с результатами высеров работы внутренней вариации Gemini, над которой трудится не группа энтузиастов, а огромная команда, даже несколько команд. И я хорошо знаю, как она может косячить. А тут, понимаете ли, точный нейродетектор появился… Три раза «ха».