Nous Research выпускает NousCoder-14B: модель для олимпиадного программирования, обученная с помощью подкрепляющего обучения

Компания Nous Research представила NousCoder-14B — модель для олимпиадного программирования, которая была дообучена на Qwen3-14B с использованием подкрепляющего обучения (RL) с проверяемыми вознаграждениями.

Основные характеристики модели

На бенчмарке LiveCodeBench v6, который охватывает задачи с 01.08.2024 по 01.05.2025, модель достигает точности Pass@1 в 67,87 %. Это на 7,08 процентных пункта выше, чем у базового уровня Qwen3-14B (60,79 %) на том же бенчмарке.

Этапы обучения модели

Исследовательская группа обучила модель на 24 тысячах проверяемых задач по программированию, используя 48 видеокарт B200 GPU в течение 4 дней. Веса модели были выпущены под лицензией Apache 2.0 на Hugging Face.

Описание бенчмарка LiveCodeBench v6

LiveCodeBench v6 предназначен для оценки олимпиадного программирования. Тестовый набор содержит 454 задачи. Обучающий набор использует тот же рецепт, что и проект DeepCoder-14B от Agentica и Together AI. Он объединяет задачи из TACO Verified, PrimeIntellect SYNTHETIC 1 и задачи LiveCodeBench, созданные до 31.07.2024.

Задачи бенчмарка

В бенчмарке представлены задачи в стиле олимпиадного программирования. Для каждой задачи решение должно соответствовать строгим ограничениям по времени и памяти и проходить большой набор скрытых тестов ввода-вывода. Pass@1 — это доля задач, в которых первая сгенерированная программа проходит все тесты, включая ограничения по времени и памяти.

Набор данных для RL на основе выполнения

Все наборы данных, используемые для обучения, состоят из проверяемых задач по генерации кода. Каждая задача имеет эталонную реализацию и множество тестовых примеров.

Среда RL с Atropos и Modal

Среда RL построена с использованием фреймворка Atropos. NousCoder-14B получает подсказки в стандартном формате LiveCodeBench и генерирует код на Python для каждой задачи. Каждый прогон получает скалярное вознаграждение, которое зависит от результатов тестовых случаев:
* Вознаграждение 1, когда сгенерированный код проходит все тестовые случаи для этой задачи.
* Вознаграждение −1, когда код выводит неверный ответ, превышает 15-секундный лимит времени или превышает лимит памяти в 4 ГБ по любому тестовому случаю.

Для безопасного и масштабного выполнения ненадёжного кода команда использует Modal в качестве автоматически масштабируемой песочницы.

Объективы GRPO, DAPO, GSPO и GSPO+

NousCoder-14B использует групповую относительную оптимизацию политики (GRPO), которая не требует отдельной модели значений. На основе GRPO исследовательская группа тестирует три цели:
* Динамическая оптимизация политики выборки (DAPO).
* Групповая оптимизация последовательной политики (GSPO).
* Модифицированный вариант GSPO, называемый GSPO+.

Все три цели используют одно и то же определение преимущества. Преимущество для каждого прогона — это награда за этот прогон, нормализованная средним и стандартным отклонением вознаграждений внутри группы.

Ключевые выводы

NousCoder 14B — это модель олимпиадного программирования на основе Qwen3-14B, обученная с помощью RL на основе выполнения. Она достигает 67,87 % Pass@1 на LiveCodeBench v6, что на 7,08 процентных пункта больше, чем у базового уровня Qwen3-14B (60,79 %) на том же бенчмарке.

Модель обучена на 24 тысячах проверяемых задач по программированию из TACO Verified, PrimeIntellect SYNTHETIC-1 и задач LiveCodeBench до 31.07.2024, и оценена на отдельном тестовом наборе LiveCodeBench v6 из 454 задач с 01.08.2024 по 01.05.2025.

Для настройки RL используется Atropos, с решениями на Python, исполняемыми в изолированных контейнерах, простым вознаграждением в 1 за решение всех тестовых случаев и −1 за любой сбой или нарушение лимита ресурсов, а также конвейерной архитектурой, где вывод и проверка выполняются асинхронно.

Цели оптимизации групповой относительной политики DAPO, GSPO и GSPO+ используются для RL с длинным контекстом, все они работают с нормализованными по группам вознаграждениями и демонстрируют схожую производительность.

1. Какие преимущества предлагает модель NousCoder-14B по сравнению с базовым уровнем Qwen3-14B?

Модель NousCoder-14B достигает точности Pass@1 в 67,87 % на бенчмарке LiveCodeBench v6, что на 7,08 процентных пункта выше, чем у базового уровня Qwen3-14B (60,79 %) на том же бенчмарке.

2. Какие этапы и инструменты использовались для обучения модели NousCoder-14B?

Исследовательская группа обучила модель на 24 тысячах проверяемых задач по программированию, используя 48 видеокарт B200 GPU в течение 4 дней. Для обучения использовался фреймворк Atropos.

3. Какие цели оптимизации используются для настройки RL в модели NousCoder-14B и как они работают?

NousCoder 14B использует групповую относительную оптимизацию политики (GRPO). На основе GRPO исследовательская группа тестирует три цели: динамическая оптимизация политики выборки (DAPO), групповая оптимизация последовательной политики (GSPO) и модифицированный вариант GSPO, называемый GSPO+. Все три цели используют одно и то же определение преимущества. Преимущество для каждого прогона — это награда за этот прогон, нормализованная средним и стандартным отклонением вознаграждений внутри группы.

4. Какие ограничения и условия необходимо учитывать при использовании модели NousCoder-14B для решения задач олимпиадного программирования?

Для каждой задачи решение должно соответствовать строгим ограничениям по времени и памяти и проходить большой набор скрытых тестов ввода-вывода. Код должен быть сгенерирован на Python и проходить все тестовые случаи для задачи, чтобы получить вознаграждение 1. В противном случае код получает вознаграждение −1.

Источник