<НА ГЛАВНУЮ

Reinforcement Learning открывает потенциал открытых LLM для долгих задач в разработке ПО

Исследование Nebius AI и Humanoid применяет модифицированный DAPO для обучения открытой модели Qwen2.5 на многотуровых задачах разработки ПО, добившись 39% Pass@1 на SWE-bench Verified без учителя.

Применение усиленного обучения к открытым моделям

Исследователи из Nebius AI и Humanoid разработали конвейер усиленного обучения, который обучает открытые большие языковые модели действовать как полноценные агенты для разработки ПО в многотуровых задачах с длинным контекстом. В отличие от подходов с учителем или закрытыми моделями, команда модифицировала Decoupled Advantage Policy Optimization и внедрила практические изменения, чтобы RL работал в реальных средах отладки и правок кода.

Почему одношаговое RL не годится для разработки ПО

Большинство работ по RL для LLM сосредоточены на одношаговых задачах, где награда приходит в конце и взаимодействия короткие. Разработка ПО иначе: агентам необходимо работать с длинными последовательностями действий, интерпретировать содержательное окружение вроде ошибок компиляции и логов тестов, и сохранять контекст на десятки тысяч токенов. Эти особенности делают стандартные bandit-подходы неэффективными для автоматизации SWE.

Основные сложности для RL в SWE

  • Долгие горизонты рассуждений: требуется логическая связность на множестве шагов, часто с контекстом более 100k токенов.
  • Состояние среды и обратная связь: действия генерируют информативные наблюдения (выводы shell, результаты тестов), которые должны направлять последующие решения.
  • Разреженные и отсроченные награды: успех часто проявляется лишь после длинной последовательности действий, что усложняет распределение заслуг.
  • Шумная оценка: полноценный прогон траекторий может быть флакки из-за нестабильных тестов и окружений.

Двухэтапный конвейер обучения

Команда обучала Qwen2.5-72B-Instruct через два этапа: rejection fine-tuning, затем RL с модифицированным DAPO.

Rejection Fine-Tuning (RFT)

Сначала модель дообучают под надзором на 7,249 отфильтрованных задачах SWE из датасета SWE-REBENCH. Траектории взаимодействий, которые проходят тестовый набор среды, сохраняются для дообучения, при этом во время тренировки маскируются некорректные действия формата окружения. Этот этап повышает базовую точность Pass@1 приблизительно с 11% до 20% на бенчмарке SWE-bench Verified.

Усиленное обучение с модифицированным DAPO

Исходный DAPO был расширен рядом изменений для стабильности и масштабируемости:

  • Асимметричное усечение (asymmetric clipping) предотвращает коллапс энтропии политики и поддерживает исследование.
  • Динамическая фильтрация выборок фокусирует оптимизацию на траекториях с реальным сигналом обучения.
  • Штрафы за длину эпизода помогают избежать зацикливания и чрезмерно длинных попыток.
  • Усреднение на уровне токена обеспечивает вклад каждого токена каждой траектории в градиент, что позволяет длинным траекториям влиять на обновления.

Агент работает в ReAct-стиле, чередуя рассуждения и использование инструментов. Набор инструментов включает произвольные shell-команды, точечные правки кода, утилиты навигации и поиска, а также действие submit для завершения эпизода. Все взаимодействия выполняются в песочнице, инициализированной снимками реальных репозиториев и промптами в стиле GitHub issue.

Масштабирование контекста и длины эпизодов

Первичная тренировка использовала длину контекста 65k токенов, что уже больше, чем у большинства открытых моделей, но производительность застряла на 32% Pass@1. Второй этап RL расширил контекст до 131k токенов и увеличил потолок длины эпизода, при этом обучение концентрировалось на наиболее информативных задачах. Это позволяет агенту справляться с длинными стектрейсами и историей диффов, типичными для реальной отладки и правок.

Результаты и сравнение с базовыми моделями

Финальный агент, обученный с RL, добился 39.04% Pass@1 на SWE-bench Verified и 58.4% Pass@10, что примерно вдвое превышает результат после rejection fine-tuning и сопоставимо с передовыми открытыми моделями, такими как DeepSeek-V3-0324, без использования supervision от учителя. На отложенных разбиениях SWE-REBENCH метод показывает устойчивость: 35.0% для May и 31.7% для June. Сравнения по результатам демонстрируют, что RL-подход сопоставим или лучше ряда специализированных агентов и ведущих открытых бенчмарков.

Важные выводы и дальнейшие шаги

  • Распределение заслуг остаётся сложной задачей в условиях разреженных наград и длинных горизонтов. Перспективы включают shaping награды, step-level critics и префиксные прогонки для более детальной обратной связи.
  • Оценка неопределённости критична: агентам нужно уметь воздерживаться или выражать уверенность. Метрики энтропии вывода или явные оценки доверия могут помочь.
  • Инфраструктурные оптимизации важны: обучение велось с использованием параллелизма по контексту на 16 узлах H200, оркестрацией через Kubernetes и Tracto AI и ускоренным инференсом через vLLM.

Практическое значение

Исследование показывает, что усиленное обучение — перспективный путь к созданию автономных инженеров ПО на базе открытых LLM. Преодолев проблемы долгих взаимодействий, стохастичной обратной связи и редких наград, метод открывает возможности для масштабируемого обучения агентов без учителя, основанного на интерактивном опыте.

Где читать подробнее

Статья и сопутствующие репозитории, туториалы и ноутбуки доступны на GitHub авторов и проектных страницах. Команда поддерживает социальные каналы и рассылку для обновлений и взаимодействия с сообществом.

🇬🇧

Switch Language

Read this article in English

Switch to English