Как за 5 шагов научить ChatGPT генерировать тексты, которые обходят ИИ-детекторыОднажды мне предложили поучаствовать в проекте для одного стартапа, в котором ИИ должен был писать школьникам и студентам эссе и статьи, способные обойти системы антиплагиата и ИИ-детекторы. ИИ и так довольно неплохо справляется с системами антиплагиата, а вот обходить ИИ-детекторы — задача интересная.
ИИ-детекторы вроде
GPTZero работают следующим образом:
• Используется модель детектирования, обученная на данных студенческих работ;
• Проверяется, насколько текст в целом похож на то, как пишет ИИ. Текст, написанный человеком, стилистически неоднороден. ИИ создает текст по другим принципам и это нетрудно определить;
• Для выявления смешанных текстов проводится дополнительное исследование, чтобы выявить, какие конкретно предложения написаны ИИ;
• Для этого после каждого слова в предложении языковая модель предполагает, какое слово будет следующим. Она проверяет, совпадают ли предположения с текстом, и делает выводы на основе количества совпадений.
Как сделать так, чтобы языковая модель начала генерировать человекоподобный текст? Я решил задачу следующим образом:
1. Скачал множество эссе на различные тематики и разного размера
c сайта, где выкладываются эссе, получился датасет. Наличие качественного и разнообразного набора человеческих текстов позволяет модели лучше понимать, какие особенности отличают человеческий текст от машинного.
2. Каждое из эссе я проверил через
GPTZero на то, что оно действительно написано человеком.
3. Задал промпт ChatGPT, в котором попросил переписать эти тексты, и на выходе получил сгенерированные тексты. Теперь у меня были пары текстов — до и после обработки нейросетью. Это необходимо для последующего обучения модели имитации человеческого стиля.
4. Из полученных пар текстов собрал датасет для файнтюнинга модели: для первого раза хватило десяти экземпляров.
5. Загрузил полученный датасет на
платформу OpenAI, задав стандартные параметры для дообучения модели (файнтюнинга). В результате модель научилась имитировать стилистику, интонацию и вариативность, характерные для человеческого письма.
PROFIT. Теперь полученная модель понимает, как люди пишут тексты, и легко обходит проверки ИИ-детекторов. Школьники и студенты спасены. OpenAI пытается решить эту проблему с помощью
вотермарков, но нам всегда будут доступны опенсорсные LLM.
Но если нам нужно генерировать не просто эссе, а статьи, ссылаясь на определенные источники, придется немного поколдовать. Обычно для таких задач применяется
RAG (Retrieval-Augmented-Generation).
RAG — это метод, который ищет релевантные документы из большой базы данных, а затем использует эту информацию для формирования ответа.
В задаче по написанию статей для студентов я собрал данные из различных источников:
ArXiv,
SocArXiv и
BioArXiv и настроил автоматический сбор свежих статей. После чего поднял векторную базу данных ChromaDB и определил алгоритм поиска информации в базе, использовал косинусное расстояние. Нарезал статьи на чанки (минимальные фрагменты текста, в нашем случае абзацы) и настроил индексацию абзацев.
Когда пользователь задает тему статьи, языковая модель создает ее оглавление и под каждую главу запускает поиск информации в векторной базе, возвращает найденный абзац в перегенерированном под контекст виде, а также ссылку на статью. В итоге статья содержит не только факты, но и ссылки на найденные работы.
Стартап, которому я помог, сегодня зарабатывает более $1 млн MRR. С одной стороны, такая технология кажется не совсем этичной, и непонятно, как ей противодействовать.
С другой стороны, кажется, что это проблема не технологии, а системы образования: в мире, где вся информация легко доступна, и есть системы, которые могут ее обрабатывать, выступая в роли внешнего носителя памяти и логического процессора, пора учить людей чему-то другому. Прежде всего – тому, как рассуждать самостоятельно, чтобы не стать рабом таких систем.
#кейсы