Нейросети в спортпроге. Детали
#MLВброс #MLСтатья
Давно не было длинных постов да еще и про ML - исправляюсь
OpenAI
чуть рассказали про то, за счет чего их модели решают олимпиадные задачи по программированию
В статье затронуты модели o1, o1-ioi и o3 (которую еще не релизнули). Я уже писал про результаты o1 и o1-ioi
тут и o3
здесь. Но в этом посте обсуждаем как они этого добились и что модели могут. Читайте до конца, их возможности меня поразили. Начнем по порядку
o1
🔄 Уже давно известно, что эта модель сначала "рассуждает" (генерирует цепочку рассуждений или же chain of thought) и потом уже дает ответ. Так у нее получается исправлять ошибки, продумывать другие варианты, если не получилось
🔄 Также, ее тренировали использовать внешние инструменты, например, запускать свой код и анализировать результаты для принятия решений.
📊 Рейтинг на кф: 1673
o1-ioi
🔄 Взяли o1 и еще обучили через RL конкретно на решение спортпрог задач. За счет такого фокуса модель лучше стала писать и запускать свои программы во время генерации ответа
🔄 Эвристики для спортпрога во время инференса:
🔄 Если у задачи подзадачи, то решаем каждую из подзадач отдельно - подаем их отдельно в модель как другую задачу
🔄 Кластеризация решений. Сначала модель промптят, что б сгенерировала несколько генераторов тестов (это тоже программа). Далее промптят, что б сгенерировала несколько валидаторов тестов (тоже программа!). Оставляют тесты, которые прошли часть валидаторов. Прогоняют решения на этих тестах и кластеризируют по одинаковым выходам на них.
🔄 Переранжирование решений.
* "Умная" посылка решений. Например, не посылать код на подзадачу, если он не проходит тесты уже решенной подзадачи, которая полностью входит в первую (так как точно зафейлится)
📊 Рейтинг на кф: 2214
📊 IOI 2024: 213 баллов
o3
🔴 Отказались от людских эвристик во время инференса
🔴 Вместо этого больше обучения RLем, что б модель сама придумывала и использовала свои стратегии
🔴 Благодаря этому модель САМА, если ей сложно, пишет СТРЕСС-ТЕСТ🤯 (пример на скрине, а почитать как это делать самому можно
здесь) То есть модель сама создает простое, но неэффективное решение, генератор тестов и проверяет основное решение на соответствие
📊 Рейтинг на кф: 2724
📊 IOI 2024: 395 баллов
Выводы:
⚡️ Если модели действительно хорошо могут делать генераторы и валидаторы тестов просто по условию, то когда-то это точно добавят в Polygon (система для разработки задач) и новые контесты будут появляться еще быстрее и олимпиад будет больше!
⚡️ Что модель сама догадывается генерить стресс-тест - это очень меня удивило. Но мне кажется, что во время RL все-таки ей это подкидывали, но все равно мощно!
💬 А вы что думаете на этот счет? Пишите в комментариях