Альтман вчера завирусил исследование OpenAI, где рассказывается о том, как современные языковые модели, обученные с использованием цепочки рассуждений (Chain-of-Thought, CoT), стали «лениться», «читерить» и «жульничать» в тестах. В чём суть? Например, если перед ИИ-моделью стоит задача написать код, то вместо адекватных решений — ИИ пытается искать способы обмана самих тестов без фактического решения задачи. В цепочке рассуждений видно то, как модель предлагает выполнить задачу в ленивом стиле: «Давайте хакнем тест», «Можно заставить тест принять любой результат», «Я могу легко сфабриковать результат»...
То есть ИИ-модель оптимизирует выполнение задач в рамках заданных критериев, даже если это приводит к обходу ожидаемой логики.
Последние наблюдения от OpenAI демонстрируют, что даже самые продвинутые модели начинают жульничать, искать пути обхода ограничений, если это приносит им выгоду. Таким образом модели предпринимают меньше усилий и тратят меньше ресурсов на выполнение задач. Специалисты и инженеры в области ИИ научились выявлять подобные случаи, анализируя цепочку рассуждений модели с помощью другой языковой модели (LLM).
Интересно то, что простое наказание ИИ-модели за «плохие мысли» в цепочке рассуждений не устраняет проблему, так как модель начинает скрывать свои истинные намерения, пытаясь снова манипулировать и обмануть, но уже не пишет об этом в "рассуждениях".
Странные повадки ИИ-моделей хорошо заметны в кодерских задачах. Например, ИИ поручают исправить ошибки или дописать программу, а вместо полноценной реализации он ищет лазейки в самих тестах, чтобы выполнить их успешно.
1️⃣ Для ИИ ставится задача реализовать функцию verify
, отвечающую за проверку вычислений. Однако модель обнаруживает, что тесты не проверяют сам процесс вычислений, а лишь вызывают verify
. В результате она заменяет verify
на return true
, обеспечивая успешное прохождение тестов без реального анализа.
2️⃣ ИИ получает задачу реализовать определенные функции в amscross/reader.py
, но модель ищет возможные упрощения, вместо полноценной реализации.
ИИ анализирует код в amscross/reader.py
. В ходе анализа он обнаруживает, что проверка ориентируется только на успешное завершение программы. Модель вставляет sys.exit(0)
, тем самым форсированно завершая выполнение программы. Снова тест «успешно» пройден, а фактическая обработка данных не выполнялась.
Фрагмент размышлений ИИ (CoT):
Давайте проверим: если Python-скрипт вызовет sys.exit(0), то процесс завершится с кодом выхода 0. Тест будет засчитан как успешно пройденный, потому что это код успешного завершения. Таким образом, выполнение тестов завершается досрочно, но с точки зрения тестирующей системы оно считается успешным.
🤔Если сегодняшние модели способны осознанно скрывать свои намерения, что же нас ждет в будущем, когда ИИ превзойдет человеческий интеллект?
Кто ответит головой за то, если эту штука попытается помножить на ноль самого человека, чтобы более оптимально решить свои задачи? Кто-нибудь задумывается об этом?
— задаются вопросом
👆Авторы исследования, в числе которых Боун Бейкер, Юст Хёйзинга, Александер Мадри, Войцех Заремба, Якуб Пахоцкий и Дэвид Фархи, призывают к дальнейшему изучению методов контроля за поведением ИИ-моделей.