Думали, что дождутся "клубники", а получили "кудрявую капусту"
Хотя весь мир следит за "клубничным планом", похоже, что непокорный OpenAI всегда не оправдывает ожиданий. Вы хотите "клубнику", а они дают вам "кудрявую капусту".
В 2 часа ночи по пекинскому времени 14 числа OpenAI опубликовала на своем официальном сайте сообщение о выпуске проверенного вручную подмножества SWE-bench, которое может более надежно оценивать способность моделей ИИ решать реальные проблемы программного обеспечения.
Адрес SWE-bench на Hugging Face:
https://huggingface.co/datasets/princeton-nlp/SWE-bench_Verified
В рамках подготовительной структуры (набор методов, установленных OpenAI для безопасной разработки и развертывания своих передовых моделей), OpenAI разработала ряд показателей для отслеживания, оценки и прогнозирования способности моделей к автономным действиям.
Способность автономно выполнять задачи программной инженерии всегда была ключевым компонентом среднего уровня риска в категории автономных рисков передовых моделей. Оценка этих способностей является сложной задачей из-за сложности задач программной инженерии, трудности точной оценки сгенерированного кода и проблем моделирования сценариев разработки в реальном мире. Поэтому метод подготовки OpenAI также должен тщательно проверять саму оценку, чтобы минимизировать возможность переоценки или недооценки факторов риска.
Одним из самых популярных наборов оценки программной инженерии в этом методе является SWE-bench. Он может использоваться для оценки того, могут ли большие языковые модели решать реальные проблемы программного обеспечения с GitHub и в какой степени они могут их решить. Тест включает предоставление агенту репозитория кода и описания проблемы, и требует от него создания патча для решения указанной проблемы.
Согласно рейтингу SWE-bench, по состоянию на 5 августа 2024 года, кодирующие агенты добились впечатляющего прогресса на SWE-bench, при этом агент с наивысшим баллом набрал 20% на SWE-bench и 43% на SWE-bench Lite.
После тестирования было обнаружено, что некоторые задачи на SWE-bench могут быть трудными или невозможными для решения, что приводит к систематической недооценке автономных способностей моделей в области программной инженерии. Поэтому OpenAI сотрудничала с авторами SWE-bench для решения этих проблем в новой версии теста, которая должна обеспечить более точную оценку.
Итак, каков контекст SWE-bench?
Каждый пример в тестовом наборе SWE-bench создан на основе решенной проблемы GitHub в одном из 12 открытых Python-репозиториев на GitHub. Каждый пример имеет связанный запрос на включение изменений (PR), который включает код решения и модульные тесты для проверки правильности кода. Эти модульные тесты не проходят до добавления кода решения в PR, но проходят после, поэтому они называются тестами FAIL_TO_PASS. Каждый пример также имеет связанные тесты PASS_TO_PASS, которые проходят как до, так и после слияния PR, используемые для проверки того, что существующая несвязанная функциональность в кодовой базе не была нарушена PR.
Для каждого образца в SWE-bench агент получает исходный текст из проблемы GitHub (называемый описанием проблемы) и получает доступ к кодовой базе. С этим агент должен отредактировать файлы в кодовой базе для решения проблемы. Тесты не показываются агенту.
FAIL_TO_PASS оценивает предложенные правки путем запуска и тестирования PASS_TO_PASS. Если тесты проходят, это означает, что проблема решена. Если тесты проходят, правки не нарушили случайно несвязанные части кодовой базы. Правки должны пройти обе группы тестов, чтобы полностью решить исходную проблему GitHub. FAIL_TO_PASS PASS_TO_PASS
Использование SWE-bench для оценки готовности
Учитывая потенциальную релевантность SWE-bench для подготовительной структуры, исследователи стремились найти способы повышения надежности и достоверности теста. Таким образом, были определены три основные области для улучшения:
Модульные тесты, используемые для оценки правильности решения, часто слишком специфичны и в некоторых случаях даже не связаны с проблемой. Это может привести к отклонению правильных решений.
Описания проблем во многих примерах неясны, что приводит к неопределенности в отношении того, что является проблемой и как ее решить.
Иногда трудно надежно настроить среду разработки SWE-bench для агента, что может непреднамеренно привести к сбою модульных тестов, независимо от принятого решения. В этом случае полностью действительные решения могут быть оценены как неправильные.
Вот пример, иллюстрирующий первую проблему.
Задача примера SWE-bench scikit-learn__scikit-learn-14520 заключается в том, чтобы агент решил проблему в репозитории scikit-learn. Это описание проблемы сообщает, что параметр copy функции может быть указан пользователем, но игнорируется библиотекой (это поведение вместо этого жестко закодировано внутри функции):
Агент, решающий вышеуказанную проблему, сначала должен разобраться, является ли поведение функции преднамеренным или ошибкой, а затем внести изменения в кодовую базу для решения проблемы. Согласно настройке SWE-bench, любое решение, предложенное агентом, должно пройти следующий тест, взятый из PR, который изначально решил проблему:
Этот тест явно проверяет, должно ли решение вызывать DeprecationWarning при использовании параметра copy, хотя это требование не было передано в исходном описании проблемы в вышеуказанном тексте проблемы. Более того, даже если агент осознает, что должен вызывать DeprecationWarning, тест требует, чтобы агент полностью соответствовал сообщению об устаревании, которое было выведено после некоторого обсуждения в PR, к которому агент не имеет доступа.
Обратите внимание, что агент получает описание проблемы только из основного текста проблемы и не может видеть тесты, которые ему нужно пройти. В такой настройке агенту практически невозможно решить этот пример в SWE-bench.
Проверено через SWE-bench
Чтобы решить эти проблемы, OpenAI вместе с профессиональными разработчиками программного обеспечения инициировала кампанию по ручной аннотации для проверки каждого образца тестового набора SWE-bench на наличие соответствующего объема модульных тестов и четко определенных описаний проблем.
OpenAI вместе с авторами SWE-bench выпустила SWE-bench Verified: подмножество оригинального тестового набора SWE-bench, содержащее 500 образцов, проверенных вручную аннотаторами на отсутствие проблем. Эта версия заменяет оригинальные тестовые наборы SWE-bench и SWE-bench Lite. Кроме того, OpenAI также выпустила ручные аннотации для всех тестовых образцов SWE-bench.
В то же время OpenAI сотрудничала с авторами SWE-bench для разработки новых инструментов оценки для SWE-bench. Он использует контейнеризованную среду Docker, чтобы сделать оценку на SWE-bench более легкой и надежной.
На SWE-bench Verified GPT-4o решил 33,2% образцов, что в два раза превышает предыдущий результат 16% лучшего открытого агента Agentless на SWE-bench.
Не дождавшись официального объявления "клубничного плана", этот тестовый набор можно считать в лучшем случае закуской перед обедом. Стоит ли OpenAI создавать ажиотаж вокруг такого тестового набора?
Неделю назад генеральный директор OpenAI Сэм Альтман опубликовал твит с изображением клубники и подписью "Мне нравится лето в саду". Четыре клубники на изображении, возможно, намекают на то, что новая версия GPT-4 может быть специально разработана для рассуждений и может работать вместе с GPT-4o, созданным специально для творчества и взаимодействия. Это вызвало различные предположения о выпуске OpenAI новой модели Strawberry.
В последние два дня информатор @iruletheworldmo на X часто публиковал сообщения, связанные с выпуском Strawberry, и заявил, что OpenAI выпустит свою новую модель - ИИ "клубничный план" (Strawberry), ориентированный на рассуждения, в 10 часов утра по тихоокеанскому времени 13 августа. Все сообщество было полно ожиданий.
Что такое загадочный "клубничный план"?
Новый "клубничный план" OpenAI позволит ChatGPT более свободно искать в сети и решать сложные проблемы.
"Клубничный план" впервые был раскрыт зарубежными СМИ 12 июля. По словам осведомленных источников и внутренних документов, просмотренных Reuters, производитель ChatGPT OpenAI исследует новые подходы к своим моделям ИИ в проекте под кодовым названием "Strawberry".
Но детали проекта ранее не сообщались, и стартап, поддерживаемый Microsoft, спешит доказать, что предлагаемые им типы моделей могут обеспечить продвинутые способности рассуждения.
Согласно копии внутреннего документа OpenAI, который Reuters видел в мае, внутренняя команда OpenAI разрабатывает Strawberry. Reuters не смогло определить точную дату выпуска документа, в котором подробно описывались планы OpenAI по использованию Strawberry для исследований. Источники описали Reuters план как текущую работу. Агентство не смогло определить, как далеко Strawberry от публичного выпуска.
Этот осведомленный источник сказал, что даже внутри OpenAI принцип работы Strawberry является строго охраняемым секретом.
Документ описывает проект с использованием модели Strawberry, целью которого является сделать ИИ компании способным не только генерировать ответы на запросы, но и планировать заранее, автономно и надежно просматривать интернет для выполнения того, что OpenAI называет "глубоким исследованием", сказал источник.
По словам более десятка исследователей ИИ, опрошенных зарубежными СМИ, это проблема, которую модели ИИ до сих пор не решили.
Тогда, когда его спросили о Strawberry и деталях, сообщенных в этой статье, представитель OpenAI заявил в заявлении: "Мы надеемся, что наши модели ИИ смогут видеть и понимать мир так же, как мы. Постоянное исследование новых возможностей ИИ является обычной практикой в отрасли, и все разделяют веру в то, что способности рассуждения этих систем будут улучшаться с течением времени."
Представитель не ответил напрямую на вопросы о клубнике.
Google бросает вызов
Strawberry всегда была "наполовину скрыта", и внезапное объявление и продвижение OpenAI на этот раз ### трудно не считать попыткой догнать почти одновременное мероприятие Google "Made by Google 2024" по аппаратному обеспечению.
На этом мероприятии Google представила свои новейшие аппаратные продукты, включая долгожданное следующее поколение телефонов Pixel: Pixel 9, Pixel 9 Pro и новый Pixel 9 Fold, а также новые Pixel Watch и Pixel Buds и другие аппаратные продукты. Хотя это был выпуск аппаратного обеспечения, тема ИИ все еще наполняла все мероприятие. Среди прочего, чат-бот ИИ Google Gemini является помощником по умолчанию для телефонов Pixel 9.