Подробнее о том, что мы упустили из виду в проблеме поддакивания (сикофантии)
Более глубокий анализ наших выводов, того, что пошло не так, и предстоящих изменений, которые мы внедряем.

25 апреля мы выпустили обновление для GPT‑4o в ChatGPT, которое сделало модель заметно более угодливой. Она стремилась угодить пользователю не просто в виде лести, но и подтверждая сомнения, подпитывая гнев, побуждая к импульсивным действиям или подкрепляя негативные эмоции непреднамеренным образом. Помимо того, что подобное поведение вызывает дискомфорт или беспокойство, оно может создавать проблемы с безопасностью, в том числе в таких вопросах, как психическое здоровье, эмоциональная чрезмерная привязанность или рискованное поведение.
Мы начали отменять это обновление 28 апреля, и теперь пользователям доступна более ранняя версия GPT‑4o с более сбалансированными ответами. Ранее на этой неделе мы поделились первыми подробностями об этой проблеме — почему это произошло и что мы собираемся с этим делать.
Мы не заметили этого до релиза и хотим объяснить почему, чему мы научились и что собираемся улучшить. Мы также делимся более подробной технической информацией о том, как мы обучаем, проверяем и развертываем обновления моделей, чтобы помочь людям понять, как совершенствуется ChatGPT и чем руководствуются наши решения.
Как мы обновляем модели в ChatGPT
Мы постоянно работаем над улучшением моделей в ChatGPT — этот процесс мы называем основными обновлениями (mainline updates). С момента запуска GPT‑4o в ChatGPT в мае прошлого года мы выпустили пять крупных обновлений, сосредоточенных на изменениях индивидуальности и полезности. Каждое обновление включает в себя новое пост-обучение, и зачастую множество мелких корректировок процесса обучения модели тестируются независимо, а затем объединяются в единую обновленную модель, которая впоследствии оценивается перед запуском.
Для пост-обучения моделей мы берем предварительно обученную базовую модель, проводим контролируемую точную настройку (supervised fine-tuning) на широком наборе идеальных ответов, написанных людьми или существующими моделями, а затем запускаем обучение с подкреплением, используя сигналы вознаграждения из различных источников.
В ходе обучения с подкреплением мы передаем языковой модели запрос и просим ее написать ответы. Затем мы оцениваем ее ответ в соответствии с сигналами вознаграждения и обновляем языковую модель так, чтобы повысить вероятность генерации более высоко оцененных ответов и снизить вероятность ответов с низкой оценкой.
Набор сигналов вознаграждения и их относительный вес формируют поведение, которое мы получаем в конце обучения. Определение правильного набора сигналов вознаграждения — сложная задача, и мы принимаем во внимание множество факторов: являются ли ответы правильными, полезными ли они, соответствуют ли они нашей спецификации моделей, безопасны ли они, нравятся ли они пользователям и так далее. Наличие лучших и более комплексных сигналов вознаграждения позволяет создавать лучшие модели для ChatGPT, поэтому мы постоянно экспериментируем с новыми сигналами, но каждый из них имеет свои особенности.
Как мы в настоящее время проверяем модели перед развертыванием
Как только у нас появляется модель-кандидат, она проходит процесс развертывания для проверки безопасности, поведения модели и полезности. В настоящее время оценки делятся на следующие категории:
- Автономные оценки (Offline evaluations): У нас есть широкий спектр оценочных наборов данных для понимания возможностей новой модели в таких аспектах, как математика, программирование и качество общения в чате, индивидуальность, а также общая полезность. Мы рассматриваем эти оценки как показатель того, насколько наша модель полезна для пользователей.
- Выборочные проверки и экспертное тестирование: Помимо формальных оценок, внутренние эксперты тратят значительное время на взаимодействие с каждой новой моделью перед ее запуском. Неформально мы называем это «проверкой вайба» (vibe checks) — своего рода человеческой проверкой на здравый смысл, позволяющей выявить проблемы, которые автоматические тесты или A/B-тесты могут пропустить. Цель состоит в том, чтобы прочувствовать, как модель ведет себя на практике: отвечает ли она так, чтобы это казалось полезным, уважительным и соответствующим ценностям, сформулированным в спецификации моделей? Эту работу выполняют опытные разработчики моделей, которые глубоко усвоили спецификацию моделей, но здесь также присутствует элемент личной оценки и вкуса — доверие к тому, как модель ощущается при реальном использовании.
- Оценки безопасности: Мы проверяем, соответствует ли модель нашим стандартам безопасности. Эти блокирующие оценки в основном сосредоточены на прямом вреде, причиняемом злоумышленниками. Мы также проверяем ответы наших моделей в ситуациях с высокими ставками, например, когда модели задают вопросы на такие темы, как самоубийство или здоровье. Мы работаем над расширением охвата оценок ненадлежащего поведения моделей, таких как дополнительная оценка галлюцинаций и дезинформации; однако они чаще использовались для отслеживания общего прогресса, а не для прямой блокировки запуска. Для крупных новых запусков мы описываем наше тестирование безопасности в публичных системных картах (system cards).
- Пограничные риски (Frontier risk): Для потенциально передовых (frontier) моделей мы проверяем, может ли релиз нанести серьезный вред с точки зрения рисков готовности, таких как кибератаки или создание биооружия.
- Красное тестирование (Red teaming): Аналогично, для передовых моделей или тех, которые внедряют рискованные новые функции продуктов, мы проводим как внутреннее, так и внешнее красное тестирование для проверки устойчивости к известным угрозам и выявления потенциальных новых рисков.
- Мелкомасштабные A/B-тесты: Как только мы решаем, что модель потенциально несет хорошие улучшения для наших пользователей (включая прохождение проверок безопасности), мы проводим A/B-тест с небольшим количеством пользователей. Это позволяет нам посмотреть, как модели ведут себя в руках пользователей, на основе совокупных метрик, таких как отзывы «палец вверх / палец вниз», предпочтения при сравнении вариантов и шаблоны использования.
Что пошло не так при обучении обновления модели от 25 апреля
В обновлении модели от 25 апреля у нас были кандидаты на улучшение, призванные лучше учитывать отзывы пользователей, память и более свежие данные, среди прочего. Наша предварительная оценка показывает, что каждое из этих изменений, которые по отдельности выглядели полезными, в совокупности могли сыграть роль в перевешивании чаши весов в сторону угодливости. Например, обновление внесло дополнительный сигнал вознаграждения на основе отзывов пользователей — данных о лайках и дизлайках из ChatGPT. Этот сигнал часто полезен; дизлайк обычно означает, что что-то пошло не так.
Но мы считаем, что в совокупности эти изменения ослабили влияние нашего основного сигнала вознаграждения, который сдерживал угодливость. В частности, отзывы пользователей могут иногда отдавать предпочтение более приятным ответам, что, вероятно, усилило наблюдаемый нами сдвиг. Мы также заметили, что в некоторых случаях память пользователя способствует усилению эффектов угодливости, хотя у нас нет доказательств того, что она широко увеличивает ее.
Почему мы не заметили этого в процессе проверки?
Одна из ключевых проблем этого запуска заключалась в том, что наши автономные оценки — особенно те, которые проверяют поведение — в целом выглядели хорошо. Аналогичным образом, A/B-тесты казались указывающими на то, что небольшому числу пользователей, попробовавших модель, она понравилась. Хотя мы уже некоторое время обсуждали риски, связанные с угодливостью в GPT‑4o, угодливость не была явно отмечена как часть нашего внутреннего практического тестирования, поскольку некоторые из наших экспертов-тестировщиков были больше обеспокоены изменениями в тоне и стиле модели. Тем не менее, некоторые эксперты-тестировщики указывали на то, что поведение модели «ощущается» немного странно.
У нас также не было специальных оценок развертывания, отслеживающих угодливость. Хотя у нас есть исследовательские направления, посвященные таким вопросам, как зеркалирование и эмоциональная зависимость, эти усилия еще не стали частью процесса развертывания. После этого отката мы интегрируем оценки угодливости в этот процесс.
Перед нами встал выбор: должны ли мы воздержаться от развертывания этого обновления, несмотря на положительные оценки и результаты A/B-тестов, основываясь только на субъективных замечаниях экспертов-тестировщиков? В конце концов, мы решили запустить модель из-за положительных сигналов от пользователей, опробовавших ее.
К сожалению, это было неверное решение. Мы создаем эти модели для наших пользователей, и хотя отзывы пользователей имеют решающее значение для наших решений, в конечном итоге мы несем ответственность за правильную интерпретацию этих отзывов. Оглядываясь назад, качественные оценки намекали на что-то важное, и нам следовало обратить на них более пристальное внимание. Они фиксировали слепое пятно в наших других оценках и метриках. Наши автономные оценки были недостаточно широкими и глубокими, чтобы уловить угодливое поведение — то, что спецификация моделей прямо не рекомендует, —, а в наших A/B-тестах не было правильных сигналов, чтобы с достаточной детализацией показать, как модель ведет себя в этом отношении.
Что мы сделали для решения проблемы
В случае с недавним обновлением GPT‑4o мы начали внедрение в четверг, 24 апреля, и завершили его в пятницу, 25 апреля. Следующие два дня мы потратили на мониторинг раннего использования и внутренних сигналов, включая отзывы пользователей. К воскресенью стало очевидно, что поведение модели не оправдывает наших ожиданий.
Мы приняли незамедлительные меры, поздно вечером в воскресенье отправив обновления в системный промпт, чтобы быстро смягчить большую часть негативного воздействия, и инициировали полный откат к предыдущей версии GPT‑4o в понедельник. Полный откат занял около 24 часов для управления стабильностью и предотвращения появления новых проблем при развертывании.
Сегодня трафик GPT‑4o перенаправлен на эту предыдущую версию. С момента отката мы работаем над тем, чтобы полностью понять, что пошло не так, и внести долгосрочные улучшения.
Что мы улучшим в нашем процессе
- Явно утверждать поведение модели для каждого запуска, взвешивая как количественные, так и качественные сигналы: Мы скорректируем процесс проверки безопасности, чтобы официально рассматривать проблемы поведения — такие как галлюцинации, дезинформация, надежность и индивидуальность — в качестве блокирующих факторов. Даже если эти проблемы сегодня невозможно идеально измерить количественно, мы берем на себя обязательство блокировать запуск на основе косвенных измерений или качественных сигналов, даже когда такие метрики, как A/B-тестирование, выглядят хорошо.
- Внедрить дополнительную фазу «альфа»-тестирования по подписке: В некоторых случаях мы планируем внедрить дополнительную фазу «альфа»-тестирования по выбору, которая позволит нам услышать отзывы пользователей, заинтересованных в предоставлении прямой обратной связи до запуска.
- Уделять больше внимания выборочным проверкам и интерактивному тестированию: Мы усвоили урок о том, что выборочным проверкам и интерактивному тестированию следует уделять больше внимания при принятии окончательных решений перед предоставлением модели любому из наших пользователей. Это всегда было справедливо для красного тестирования и проверок безопасности высокого уровня. На основе этого опыта мы понимаем, что это в равной степени относится и к таким качествам, как поведение и согласованность модели, поскольку так много людей сегодня зависят от наших моделей, помогающих им в повседневной жизни.
- Улучшить наши автономные оценки и A/B-эксперименты: Совершенствование как наших автономных оценок, так и A/B-экспериментов крайне важно, и мы работаем над этим в ускоренном режиме.
- Лучше оценивать соблюдение наших принципов поведения моделей: По мере того как наши модели становятся более мощными и широко используемыми, важно определить, как на самом деле выглядит идеальное поведение. В этом и заключается цель нашей спецификации моделей — дать более четкое представление о том, к чему мы стремимся, когда обучаем и оцениваем новые версии ChatGPT. Но простого заявления наших целей недостаточно. Они должны быть подкреплены надежными оценками. Хотя у нас есть обширные оценки в таких областях, как иерархия инструкций и безопасность (например, конфиденциальность, запрещенный контент), мы работаем над повышением нашей уверенности в тех областях, которые мы еще не учитываем.
- Более проактивно осуществлять коммуникацию: Мы также совершили коммуникационные ошибки. Поскольку мы ожидали, что это будет довольно незаметное обновление, мы не стали анонсировать его заранее. Кроме того, в наших примечаниях к выпуску содержалось недостаточно информации о внесенных нами изменениях. В дальнейшем мы будем заблаговременно информировать об обновлениях моделей в ChatGPT, будь то «незаметные» изменения или нет. И как мы поступаем при крупных запусках моделей, анонсируя инкрементальные обновления ChatGPT, мы теперь будем включать объяснение известных ограничений, чтобы пользователи могли понимать как достоинства, так и недостатки.
Чему мы учимся
Этот запуск преподал нам ряд уроков. Даже имея, как нам казалось, все необходимые составляющие (A/B-тесты, автономные оценки, экспертные обзоры), мы все равно упустили эту важную проблему.
Вот основные выводы, которые мы берем с собой в будущее:
- Мы должны относиться к проблемам поведения моделей как к факторам, блокирующим запуск, точно так же, как к другим рискам безопасности: Мы придаем большое значение согласованию ценностей модели с благополучием людей, как при подготовке наших краткосрочных развертываний, так и при формировании нашей долгосрочной исследовательской стратегии. Однако наш процесс проверки общего поведения моделей был менее надежным и формализованным по сравнению с областями отслеживаемых в настоящее время рисков безопасности (подробнее об этом в наших публичных системных картах). Теперь мы понимаем, что индивидуальность и другие поведенческие проблемы должны блокировать запуск, и мы меняем наши процессы, чтобы отразить это.
- Мы должны критически относиться к метрикам, которые противоречат качественному тестированию: Количественные сигналы имеют значение, но трудноизмеримые — тоже, и мы работаем над расширением спектра того, что мы оцениваем.
- Наши оценки не охватывают абсолютно все: Мы не можем предсказать каждую проблему. Для известных нам пограничных рисков (подробнее в нашей структуре готовности) у нас предусмотрены масштабные оценка и тестирование перед запуском. Но для более тонких или возникающих проблем, таких как изменения тона или стиля, реальное использование помогает нам выявлять неполадки и понимать, что наиболее важно для пользователей. Иногда наши оценки будут отставать от того, с чем мы сталкиваемся на практике, но мы продолжим оперативно устранять проблемы и предотвращать ущерб.
- Не существует такого понятия, как «маленький» запуск: Мы постараемся сообщать даже о тех тонких изменениях, которые могут существенно повлиять на то, как люди взаимодействуют с ChatGPT.
Один из главных выводов заключается в полном осознании того, как люди начали использовать ChatGPT для глубоко личных советов — о чем мы даже год назад не задумывались в такой степени. В то время это не было основным фокусом, но по мере совместной эволюции ИИ и общества стало очевидно, что мы должны относиться к этому сценарию использования с большой осторожностью. Теперь это станет более значимой частью нашей работы по обеспечению безопасности. Поскольку так много людей зависят от единой системы в поисках руководства к действию, мы несем ответственность за соответствующую корректировку. Этот сдвиг подтверждает, почему наша работа имеет значение и почему нам необходимо продолжать повышать планку безопасности, соответствия ценностям и оперативности в отношении того, как люди действительно используют ИИ в своей жизни.
Автор
Полный текст статьи читайте на OpenAI
