о3 теснит программистов? Как OpenAI снова всех удивила

Привет, Хабр! Меня зовут Владимир Крылов. Я профессор математики, научный консультант Artezio и автор телеграм-канала Ai4Dev. Наша команда внимательно следит за развитием технологий ИИ и их влиянием на разработку ПО. Последний анонс OpenAI заставил меня написать о новых технологиях по горячим следам. Обычно я предпочитаю дожидаться реальных результатов тестирования. Однако презентация с последнего дня рождественского мероприятия OpenAI сломала все барьеры.

851dfb23a844604f02c53acd4d88038d.jpeg

В ожидании чуда

Объявление о новых моделях OpenAI о3/о3-mini — это не просто следующий шаг в развитии Foundation Models, не очередное SOTA, а сообщение о прыжке на следующий уровень, который вряд ли будет достигнут конкурентами в ближайшее время. Заголовки публикаций по мотивам мероприятия звучат так: «Модель OpenAI o3 — это послание из будущего: забудьте все, что вы, как вам кажется, знаете об ИИ». Новые модели заметно отличаются от своих ныне самых успешных собратьев в вопросах кодирования и математики уровня докторов наук. Одним из значимых тестов, в котором модели совершили прорыв, является ARC- AGI. Впервые он был представлен исследователем методов глубокого обучения Франсуа Шолле как набор задач, которые интуитивно просты для людей, но удивительно сложны для нейронных сетей. Лучший результат на сегодняшний момент достигнут людьми и составляет около 75%. o3-mini показывает схожие цифры, а o3 демонстрирует 87,5%, что намного выше человека.

Но здесь я не буду обсуждать математические способности и уровень логических рассуждений о3, а проанализирую только оценку тестирования на задачах программной инженерии на SWE-bench, которую называют SWE-bench Verified, и каков ELO-рейтинг новой модели как участника соревнований по программированию Codeforces.

Вот как выглядит эволюция accuracy на SWE-bench в 2024 году. Это количественная оценка того, насколько хорошо могут системы ИИ видеть ошибки в коде и исправлять их.

4dfbe53def79de48a94311762ae157a1.png

Впервые новая модель сразу показала прирост в 20% и 40% за полгода. За этим процентом кроется тот факт, что способность o3 решать проблемы из реальных репозиториев GitHub ведет к тому, что модель не просто может помочь программистам в отладке и реализации функций эффективнее, чем другие средства разработки ПО. o3 порождает новые парадигмы в разработке ПО, где ИИ выступает в качестве полноправного помощника, а не просто инструмента.

Теперь обратимся к результатам рейтингования по спортивному программированию.

acc2a0a5ba3da0576f32fb22c1b2cd5b.jpeg

ELO 2727 ставит o3 в число 200 лучших конкурентоспособных программистов в мире. Это выше, чем рейтинг Chief Scientist OpenAI, равный 2665.

Кстати, многие спрашивают, что означает затемненная часть рейтинга. Сплошные столбцы показывают точность «прошел с первого раза», а затемненная показывает результат большинства голосов (консенсус) на 64 попытках.

Более того, ELO 2727 говорит о том, что o3 находится в пределах 99,7 процентиля всех участников, то есть превосходит примерно 99,7% всех участников Codeforces, что иллюстрирует ее статус в сообществе спортивного программирования. Этот процентильный рейтинг позволяет понять, насколько редким является такой высокий результат среди тысяч конкурентов. Оценка o3 по результатам консенсусного голосования составляет 2727, что ставит его на уровень международного гроссмейстера и примерно в двадцатку лучших конкурентоспособных программистов-людей на планете. o3-mini превосходит o1. При этом o3-mini существенно дешевле, что, учитывая тенденции,   позволит ей стать наиболее эффективной моделью, используемой массами. А стоимость использования о3 пока просто заоблачная. Я не нашел нигде точных оценок, но известно, что o3-mini тратит 17–20 долларов на задачу, в то время как модель o3 — «примерно 172x» от стоимости o3-mini. Иными словами, 2,5–3 тыс. долларов за задачу и ошеломляющий 1 млн долларов за весь набор задач. При этом ожидается, что расходы будут снижаться по мере появления более энергоэффективных чипов и оптимизированного ПО.

Ну и, наверное, интересующий многих читателей вопрос, а как удалось достигнуть таких результатов? Изменилась ли архитектура модели, и как она была обучена? Очевидно, что узнать это именно об о3 вряд ли когда удастся. Будем ждать похожих опенсорсных моделей. Но вот какие догадки удалось сделать. Основным механизмом o3, по-видимому, является поиск и выполнение программ на естественном языке в пространстве токенов: во время тестирования модель выполняет поиск в пространстве возможных цепочек мыслей (CoT), описывающих шаги, необходимые для решения задачи, способом, возможно, не слишком отличающимся от поиска по дереву Монте-Карло в стиле AlphaZero. В случае o3 поиск, по-видимому, управляется некой отдельной моделью для оценивания. Ведущий разработчик OpenAI Nat McAleese написал в Х: «o3 работает на основе дальнейшего масштабирования RL за пределы o1, и мощности полученной модели весьма впечатляют». Опираясь на исследования Sasha Rush и Daniel Ritter, это одно из возможных направлений систем обучения в OpenAI.  Sasha Rush изучает четыре вероятных подхода:

  1. предположи + проверь,

  2. обработка вознаграждений,

  3. поиск / AlphaZero,

  4. обучение исправлять.

Первый и последний вариант подтверждает комментарий из блога компании: «При обучении моделей рассуждению мы сначала думали использовать записи человеческих размышлений как обучающие данные. Но когда попробовали обучить модель самостоятельно выстраивать логические цепочки через обучение с подкреплением (RL), результаты превзошли человеческие. Это открытие стало поворотным моментом в масштабировании технологии». 

С точки зрения архитектуры, есть предположения, что добавленный слой в o3, который, вероятно, разбивает незнакомые проблемы на части, и является прорывом. Модели o3 используют то, что OpenAI называет «частной цепочкой мыслей», когда модель делает паузу, чтобы изучить свой внутренний диалог и спланировать заранее, прежде чем ответить. Это можно назвать «имитацией рассуждений» (SR) — формой ИИ, которая выходит за рамки базовых больших языковых моделей (LLM). о3, как и о1,   учится оттачивать свою цепочку рассуждений, совершенствовать используемые стратегии, распознавать и исправлять свои ошибки, разбивать сложные шаги на более простые, а также пробовать другой подход решения задачи, если первоначальный не сработал. Исправления и поиск других стратегий чем-то напоминает процесс DPO. Ключевое отличие в том, что управление не обязательно должно происходить на каждом шаге — может быть некоторый набор шагов, которые проверяются только при достижении неверного окончательного ответа.

В любом случае, мы лишь получили подтверждение того, что, исчерпав все возможности масштабирования LLM по размерам и объему вычислений для обучения, разработчики открыли новый формат в масштабировании моделей: от LLM к LRM (большая модель рассуждений). И это измерение есть вычислительные затраты на вывод (Inference Compute).

f6b575e120af5357f80aca5d60feea45.jpeg

Итак, что все это означат для нас? Буквально через пару-тройку лет в мире следует ожидать изменения спроса на ряд должностей белых воротничков — от дизайна веб-сайтов до кодирования. Уже любой, кто выполняет в основном повторяющуюся работу, будет в шатком положении или уволен. В то же время я уверен, что будут созданы и другие рабочие места, требующие иных умений и знаний. Изменятся цели, но компании по-прежнему будут конкурировать, и мы довольно далеки от точки, когда люди вообще не будут нужны.

Хорошо это или плохо? Думаю, что любое изменение, которое повышает производительность, открывает новые знания и возможности — это здорово. Именно так наша цивилизация достигла того, что есть у нас сейчас. История не была благосклонна к обществам, которые сопротивлялись таким изменениям, поэтому лучше быть готовыми к этому процессу и попытаться отнестись к нему с позитивом.

© Habrahabr.ru