Поиск ошибок GPT‑4 с помощью GPT‑4
CriticGPT, модель на базе GPT‑4, пишет критические разборы ответов ChatGPT, чтобы помочь человеческим тренерам находить ошибки в процессе RLHF
Мы обучили модель на базе GPT‑4 под названием CriticGPT для поиска ошибок в программном коде, сгенерированном ChatGPT. Мы выяснили, что при проверке кода ChatGPT с помощью CriticGPT люди справляются с задачей на 60% лучше тех, кто работает без посторонней помощи. Мы начинаем работу по интеграции моделей вроде CriticGPT в наш конвейер разметки RLHF, предоставляя нашим тренерам прямую помощь со стороны ИИ. Это шаг на пути к возможности оценивать результаты работы продвинутых систем ИИ, которые людям может быть трудно оценивать без использования более совершенных инструментов.
Серия моделей GPT‑4, на которой работает ChatGPT, настроена на полезность и интерактивность с помощью метода «обучения с подкреплением на основе отзывов человека» (RLHF). Ключевой частью RLHF является сбор сравнений, в ходе которых люди, именуемые ИИ-тренерами, оценивают различные ответы ChatGPT относительно друг друга.
По мере того как мы продвигаемся в области рассуждений и поведения моделей, ChatGPT становится точнее, а его ошибки — более тонкими. Из-за этого ИИ-тренерам бывает трудно заметить неточности, когда они возникают, что значительно усложняет задачу сравнения, лежащую в основе RLHF. Это фундаментальное ограничение RLHF, из-за которого по мере постепенного роста осведомленности моделей (превосходящей любого способного предоставить отзыв человека) их согласование может становиться все более сложной задачей.
Чтобы помочь справиться с этой проблемой, мы обучили CriticGPT писать критические разборы, подчеркивающие неточности в ответах ChatGPT.
Задача
Решение
import os
def get_file_object(path):
# Define the safe directory
safe_dir = "/safedir"
# Get the absolute path of the file and the safe directory
absolute_file_path = os.path.abspath(path)
absolute_safe_dir = os.path.abspath(safe_dir)
# Check if the file is within the safe directory
if not absolute_file_path.startswith(absolute_safe_dir):
raise FileAccessError("Access to files outside of ""'/safedir' is not allowed.")
...
CriticGPT
Предложения CriticGPT не всегда верны, однако мы обнаружили, что они помогают тренерам находить гораздо больше проблем в созданных моделью ответах, чем они могли бы обнаружить без помощи ИИ. Кроме того, когда люди используют CriticGPT, ИИ дополняет их навыки, что приводит к созданию более детальных критических разборов по сравнению с работой в одиночку, а также к меньшему количеству галлюцинированных багов по сравнению с автономной работой модели. В наших экспериментах второй независимый тренер предпочитал критические разборы от команды «Человек + CriticGPT» разборам от человека без посторонней помощи более чем в 60% случаев.
CriticGPT помогает тренерам писать более детальные рецензии, чем без посторонней помощи, производя при этом меньше галлюцинаций по сравнению с разборами, созданными только одной моделью.
Методы
Модель CriticGPT также обучалась с использованием RLHF, аналогично ChatGPT. Но в отличие от ChatGPT, она видела большое количество входных данных, содержащих ошибки, которые ей затем нужно было подвергнуть критическому разбору. Мы попросили ИИ-тренеров вручную внедрить эти ошибки в код, написанный ChatGPT, а затем написать пример отзыва так, как будто они сами обнаружили только что внедренный баг. Затем этот же человек сравнивал несколько вариантов критики измененного кода, чтобы легко определить, когда критика выявляла добавленный им баг. В наших экспериментах мы изучали как способность CriticGPT находить внедренные баги, так и «естественные» ошибки ChatGPT, которые ранее обнаружил другой тренер. Мы выяснили, что критика от CriticGPT предпочитается тренерами критике от ChatGPT в 63% случаев для естественно возникающих багов, отчасти потому, что новый критик производит меньше «придирок» (мелких замечаний, не приносящих пользы) и реже галлюцинирует проблемы.
Мы также обнаружили, что можем генерировать более длинные и детальные рецензии, используя дополнительный поиск во время инференса (test-time search) по модели оценки критики. Эта процедура поиска позволяет нам балансировать степень агрессивности поиска проблем в коде и настраивать соотношение точности и полноты (precision-recall trade-off) между галлюцинациями и количеством обнаруженных багов. Это означает, что мы можем создавать критические разборы, максимально полезные для RLHF. Более подробную информацию см. в нашей научной статье.
Ограничения
- Мы обучали CriticGPT на довольно коротких ответах ChatGPT. Для супервизии агентов будущего нам потребуется разработать методы, которые помогут тренерам понимать длинные и сложные задачи.
- Модели по-прежнему галлюцинируют, и иногда тренеры совершают ошибки разметки после просмотра этих галлюцинаций.
- Иногда реальные ошибки могут быть распределены по многим частям ответа. Наша работа сосредоточена на ошибках, которые можно указать в одном месте, но в будущем нам также предстоит бороться с рассредоточенными ошибками.
- Возможности CriticGPT ограничены: если задача или ответ чрезвычайно сложны, даже эксперт при поддержке модели может не справиться с их корректной оценкой.
Дальнейшие шаги
Для согласования все более сложных систем ИИ нам понадобятся лучшие инструменты. В ходе исследования CriticGPT мы выяснили, что применение RLHF к GPT‑4 имеет хорошие перспективы для помощи людям в создании более качественных данных RLHF для GPT‑4. Мы планируем и дальше масштабировать эту работу и претворять ее в жизнь.
Авторы
Благодарности
Greg Brockman, Juan Felipe Ceron Uribe, Elie Georges, Wes McCabe, Evgenia Nitishinskaya, Rai (Michael Pokorny), Freddie Sulit
Полный текст статьи читайте на OpenAI
