OpenAI создала CriticGPT в качестве помощника ИИ для тренеров-людей, которые проверяют программный код, сгенерированный ChatGPT. CriticGPT, основанная на семействе больших языковых моделей GPT-4, анализирует код и указывает на потенциальные ошибки. Таким образом, людям проще обнаружить недочеты, которые иначе могли бы остаться незамеченными.
Исследователи обнаружили, что в 63% случаев с естественными ошибками больших языковых моделей аннотаторы предпочли замечания CriticGPT замечаниям людей. Это предпочтение отчасти объясняется тем, что CriticGPT реже выдавал бесполезные «мелкие замечания» и генерировал меньше ложных срабатываний, то есть выдуманных проблем. Кроме того, команды, состоящие из людей и CriticGPT, писали более полные отчеты об ошибках по сравнению с работой только людей. При этом использование CriticGPT совместно с людьми позволило снизить уровень галлюцинаций по сравнению с работой только CriticGPT.
Разработка CriticGPT включала обучение модели на большом количестве данных, в которые вносились ошибки. Экспертов попросили модифицировать код, написанный ChatGPT, внося ошибки, а затем предоставлять примеры обратной связи, как будто они сами обнаружили эти недочеты. Этот процесс позволил модели научиться выявлять и критиковать различные типы ошибок кодирования.
В ходе экспериментов CriticGPT продемонстрировала способность обнаруживать как преднамеренно внедренные ошибки, так и естественные ошибки в выходных данных ChatGPT.
Исследователи также разработали новую технику под названием Force Sampling Beam Search (FSBS). Этот метод помогает CriticGPT писать более подробные отчеты об ошибках в коде. Исследователи могут регулировать, насколько тщательно CriticGPT ищет проблемы, а также контролировать, как часто он может придумывать несуществующие ошибки. Этот баланс можно настраивать в зависимости от конкретных задач обучения ИИ.
Интересно, что возможности CriticGPT выходят за рамки простого анализа кода. В своих экспериментах ученые применили модель к подмножеству обучающих данных ChatGPT, которые ранее были оценены людьми-аннотаторами как безупречные. CriticGPT выявил ошибки в 24% случаев, которые впоследствии подтвердились экспертами.
В OpenAI полагают, что это демонстрирует потенциал модели переносить знания на задачи, не связанные с кодом, и подчеркивает ее способность обнаруживать тонкие ошибки, которые могут остаться незамеченными даже при тщательной человеческой оценке.
Несмотря на обнадеживающие результаты, у CriticGPT есть ограничения. Модель обучалась на относительно коротких ответах ChatGPT, что может оказаться недостаточным для оценки более длинных и сложных задач, которые предстоит решать будущим системам ИИ. Хотя CriticGPT и снижает количество ложных срабатываний, полностью устранить их не удается. Тренеры-люди все равно могут ошибаться в маркировке на основе этих ложных результатов. Наконец, CriticGPT наиболее эффективен при обнаружении ошибок, локализованных в определенной точке кода. Однако на деле ошибки в выходных данных ИИ часто распределены по нескольким частям ответа, что представляет собой проблему для будущих версий модели.
OpenAI планирует использовать модели, подобные CriticGPT, для помощи своим тренерам в оценке выходных данных больших языковых моделей. Это позволит улучшить инструменты оценки, но даже с помощью ИИ сложные задачи могут быть проблемой для людей.