Generative AI & Research Integrity. Часть 2. Как я организовал не самое удачное соревнование

#science #ml #chatgpt #fake_text_detection #research_integrity



В первой части я рассказал про Paper mills, как мы с ними боремся и при чем тут Generative AI. Также чуть раньше был пост про то, что распознавать текст, сгенерированный chatGPT, не так-то просто, и OpenAI тут репортит честные метрики, а не 99% accuracy, как у стартапов. Конечно же, мы тоже долго кумекали, можем ли мы надежно распознавать сгенерированные статьи и даже организовали соревнование при COLING 2022, про которое я тут расскажу (также эту на тему есть отдельный пост на английском в одноименном блоге). Оно не то чтобы удалось, и это только подтвердило, что задача непроста.



Мы взяли тексты из сотен отозванных статей журнала “Microprocessors and Microsystems” – про них раньше было исследование, часть статьи про tortured phrases (помните? “image acknowledgement” вдруг вместо “image recognition”, и ”quantum doors” вместо “quantum gates”): где-то в 2021 вдруг число статей на выпуск сильно выросло, а время рецензирования подозрительно сократилось. Также в этих выпусках обнаружили целые россыпи tortured phrases, порой по 30-40 на статью. Эти тексты пометили как "фейки". Чтоб сбалансировать, взяли аннотации более ранних статей того же журнала, в которых проблем не было выявлено. Это первые две части датасета – одна из фейков, вторая – из текста, написанного людьми (и тут вы уже чувствуете, что метки не идеальны. Даже в хорошие более ранние статьи “Microprocessors and Microsystems” могло просочиться немного сгенерированного контента, и, наоборот, в стрёмных выпусках после 2021 тоже что-то может быть написано людьми).



Чтоб не затачиваться только под один домен, я добавил аннотации статей на все темы – от солнечной энергии и прав человека до бедности и урбанизации (это из соседнего проекта по классификации статей по вкладу в Sustainable Development Goals). Далее наш любимый HuggingFace, берем эти аннотации и по-всякому над ними издеваемся: пересказываем с pszemraj/led-large-book-summary, по первой фразе генерируем продолжение с EleutherAI/gpt-neo-125M и GPT-3. Также перефразировали некоторые аннотации с помощью SpinBot (это прям рассадник tortured phrases).



Сделал train/test split с 70% текстов в тесте, подготовил бейзлайн на ~82% F1 c tf-idf & logreg – да запустил соревнование, думая, что SciBERT добавит 2 процента, как обычно. Сроки поджимали, SciBERT-нубук был на подходе, но надо было уже запускать сореву. Уже даже с логрегом я заметил, что некоторые подвыборки теста классифицируются идеально, например, все пересказанное моделью pszemraj/led-large-book-summary – там шаблоны начала “in this paper authors propose” или “the authors suggest to” выучиваются даже с tf-idf.



В-общем, запустили соревнование, а через несколько дней я понял, что SciBERT выбивает >98% по метрике F1. Фэйл, дальше возня пошла за проценты и доли процента, у победителей в итоге 99.43% на лидерборде (у двух команд скор совпал, но читерства не заметно). Слегка обидно, что создается иллюзия легкости задачи, хотя я уже догадывался, что тут с дата-дрифтами все поломается.



Продолжение ⬇️