o3 Практическая демонстрация превосходства общих моделей вывода над специализированными моделями программирования в области программирования
Оригинальный текст:Исследование компетенций в соревнованиях по программированию на основе модели большого рассужденияДля удобства чтения ниже приводится краткое содержание.
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 представлений.

Рисунок 1: Сравнение производительности o1-preview и o1 с gpt-4o на CodeForces
3.2 Повышение роли обучения
- Увеличение объема вычислений при обучении и тестировании RLКак показано на рис. 2, увеличение вычислительных ресурсов при обучении и тестировании RL может значительно улучшить производительность модели в конкурентных математических задачах.

Рисунок 2: Дополнительное обучение RL и вычисления во время тестирования повышают производительность в соревновательных математических задачах
3.3 Возникновение стратегий автономного рассуждения на основе моделей
- Стратегии автономного рассуждения для 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:

Рисунок 4: Производительность o1 на наборе данных HackerRank Astra
5.2.2 Верифицированный набор данных SWE-bench
o3 на наборе данных SWE-bench Verified:

Рисунок 5: Производительность o3 на наборе данных SWE-bench Verified
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...