o3 Практическая демонстрация превосходства общих моделей вывода над специализированными моделями программирования в области программирования

Новости ИИОпубликовано 6 месяцев назад Круг обмена ИИ
5.2K 00

Оригинальный текст:Исследование компетенций в соревнованиях по программированию на основе модели большого рассужденияДля удобства чтения ниже приводится краткое содержание.

 

1. Введение

1.1 Предпосылки и мотивация

В последние годы большие языковые модели (LLM) добились значительного прогресса в генерации программ и решении сложных задач рассуждения. Соревнования по программированию, особенно такие платформы, как Международная олимпиада по информатике (IOI) и CodeForces, являются идеальными тестовыми площадками для оценки способности систем ИИ к рассуждениям благодаря жестким требованиям к логическому мышлению и навыкам решения задач.

1.2 Цели исследования

Цель данного исследования - изучить следующие вопросы:

  • Сравнение производительности общих и специфических для домена моделей рассуждений: Сравнение производительности моделей вывода общего назначения (например, o1 и o3 от OpenAI) с моделями, специально разработанными для соревнований IOI (например, o1-ioi).
  • Роль обучения с подкреплением в развитии навыков рассуждения по модели: Оценка производительности больших моделей умозаключений, обученных методом обучения с подкреплением (RL), в сложных задачах программирования.
  • Возникновение стратегий автономного рассуждения на основе моделей: Проверьте, может ли модель автономно разрабатывать эффективные стратегии рассуждений без вмешательства человека.

2. Методология

2.1 Введение в модель

2.1.1 OpenAI o1

OpenAI o1 - это крупномасштабная языковая модель, обученная методом обучения с подкреплением для генерации и выполнения кода. Она решает задачи шаг за шагом, генерируя внутренние цепочки умозаключений и оптимизируя их с помощью RL.

2.1.2 OpenAI o1-ioi

o1-ioi - это улучшенная версия o1, доработанная специально для конкурса IOI. В ней используется стратегия тестирования, аналогичная системе AlphaCode, которая заключается в генерации большого количества решений-кандидатов для каждой подзадачи и выборе лучшего из них путем кластеризации и переупорядочивания.

2.1.3 OpenAI o3

o3 является преемником o1 и еще больше улучшает возможности модели в области выводов. В отличие от o1-ioi, o3 не полагается на разработанные вручную стратегии тестирования, а автономно разрабатывает сложные стратегии вывода путем сквозного обучения RL.

2.2 Методология оценки

2.2.1 Соревнования по имитационному моделированию CodeForces

Мы смоделировали среду соревнований CodeForces, используя полный набор тестов и накладывая соответствующие ограничения по времени и памяти, чтобы оценить производительность модели.

2.2.2 Конкурс IOI 2024 Live

o1-ioi участвовали в соревнованиях IOI 2024 года, соревнуясь в тех же условиях, что и люди.

2.2.3 Оценка задач программной инженерии

Мы также оценили производительность модели на наборах данных HackerRank Astra и SWE-bench Verified, чтобы проверить ее возможности в реальных задачах разработки программного обеспечения.

3. Открытие

3.1 Общие и специфические для конкретной области модели

  • o1-ioi в конкурсе IOI: В соревнованиях IOI 2024 года o1-ioi набрал 213 очков и занял 49%. После снятия ограничений на подачу заявок его результат улучшился до 362,14 очков, что выше золотой медали.
  • o3 превосходство: o3 показал хорошие результаты в бенчмарке CodeForces, набрав 2724 балла (99,8-й процентиль), что значительно лучше, чем у o1-ioi (2214, 98-й процентиль). В бенчмарке IOI 2024 o3 также набрал 395,64 балла, превысив планку золотой медали при ограничении всего в 50 представлений.
o3用实际证明通用推理模型在编程领域优于专用编程模型

Рисунок 1: Сравнение производительности o1-preview и o1 с gpt-4o на CodeForces

3.2 Повышение роли обучения

  • Увеличение объема вычислений при обучении и тестировании RLКак показано на рис. 2, увеличение вычислительных ресурсов при обучении и тестировании RL может значительно улучшить производительность модели в конкурентных математических задачах.
o3用实际证明通用推理模型在编程领域优于专用编程模型

Рисунок 2: Дополнительное обучение RL и вычисления во время тестирования повышают производительность в соревновательных математических задачах

3.3 Возникновение стратегий автономного рассуждения на основе моделей

  • Стратегии автономного рассуждения для o3: o3 демонстрирует более сложные и продуманные цепочки рассуждений при тестировании. Например, для задач, требующих проверки, он генерирует простые решения методом грубой силы, а затем сверяет свой результат с более оптимизированной реализацией алгоритма, чтобы выявить потенциальные ошибки.
o3用实际证明通用推理模型在编程领域优于专用编程模型

Рисунок 3: Решение o3 test itself, отражающее частичную реализацию стратегии test-time, используемой o1-ioi в IOI 2024.

4. Заключение

4.1 Основные выводы

  • Превосходство обобщенных моделейВ то время как специфические модели (например, o1-ioi) хорошо справляются с конкретными задачами, модели общего назначения (например, o3), обученные в крупномасштабной RL, способны превзойти эти результаты, не полагаясь на эвристики вывода, разработанные вручную.
  • Эффективность обучения RL: Добавление вычислительных ресурсов для обучения и тестирования RL может последовательно улучшать производительность модели, приближая ее к производительности лучших в мире человеческих игроков.
  • Моделирование способности к автономной разработке сложных стратегийo3 демонстрирует способность модели автономно разрабатывать сложные стратегии вывода, устраняя необходимость в ручном проектировании стратегий тестирования.

4.2 Перспективы на будущее

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

5. Примеры

5.1 Примеры решений из конкурса IOI 2024

5.1.1 Проблема Нила

o1-ioi набрал полные баллы по задаче Нила, вот пример кода для решения:

#include "nile.h"
#include <bits/stdc++.h>
using namespace std;
// ... (代码省略,详见附录C.1)

5.1.2 Проблема с сообщениями

o1-ioi набрал 79,64 балла в задаче "Сообщение", и вот пример кода для решения:

#include "message.h"
#include <bits/stdc++.h>
using namespace std;
// ... (代码省略,详见附录C.2)

5.2 Примеры решений в задачах программной инженерии

5.2.1 Набор данных HackerRank Astra

o1 на наборе данных HackerRank Astra:

o3用实际证明通用推理模型在编程领域优于专用编程模型

Рисунок 4: Производительность o1 на наборе данных HackerRank Astra

5.2.2 Верифицированный набор данных SWE-bench

o3 на наборе данных SWE-bench Verified:

o3用实际证明通用推理模型在编程领域优于专用编程模型

Рисунок 5: Производительность o3 на наборе данных SWE-bench Verified

© заявление об авторских правах

Похожие статьи

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...