Исследователи представили метод Anchored Self-Play, направленный на повышение эффективности языковых моделей в исправлении программных ошибок. Подход использует обучение с подкреплением, где одна модель попеременно выступает в роли генератора багов и исправляющего агента. Это позволяет масштабировать процесс обучения на синтетических данных, преодолевая нехватку размеченных наборов для отладки кода.

Традиционные методы обучения моделей для написания кода часто ограничены объемом доступных пар «ошибка — исправление». Новый подход решает эту проблему через создание самообучающейся петли: модель учится генерировать сложные баги, которые затем сама же должна исправить, опираясь на результаты прохождения модульных тестов. Использование «якорей» (anchors) в процессе генерации помогает контролировать сложность создаваемых задач, обеспечивая стабильный прогресс обучения.

Техника позволяет модели лучше понимать логические взаимосвязи внутри кода и повышает точность прохождения тестов без необходимости в больших объемах человеческой разметки. Этот метод демонстрирует перспективность использования синтетических данных, созданных самими моделями, для улучшения специализированных навыков программирования в условиях ограниченных ресурсов.

Ключевые факты

  • Метод основан на схеме «генератор-исправитель» (generator-fixer self-play) с использованием обучения с подкреплением.
  • Основная цель — масштабирование процесса обучения моделей для исправления кода при нехватке реальных данных.
  • Модель обучается генерировать баги, которые должны успешно проходить проверку через заданные модульные тесты.
  • Подход позволяет повысить качество генерации исправлений за счет итеративного взаимодействия модели с самой собой в рамках контролируемой среды.