Исследователи представили метод Anchored Self-Play, направленный на повышение эффективности языковых моделей в исправлении программных ошибок. Подход использует обучение с подкреплением, где одна модель попеременно выступает в роли генератора багов и исправляющего агента. Это позволяет масштабировать процесс обучения на синтетических данных, преодолевая нехватку размеченных наборов для отладки кода.
Традиционные методы обучения моделей для написания кода часто ограничены объемом доступных пар «ошибка — исправление». Новый подход решает эту проблему через создание самообучающейся петли: модель учится генерировать сложные баги, которые затем сама же должна исправить, опираясь на результаты прохождения модульных тестов. Использование «якорей» (anchors) в процессе генерации помогает контролировать сложность создаваемых задач, обеспечивая стабильный прогресс обучения.
Техника позволяет модели лучше понимать логические взаимосвязи внутри кода и повышает точность прохождения тестов без необходимости в больших объемах человеческой разметки. Этот метод демонстрирует перспективность использования синтетических данных, созданных самими моделями, для улучшения специализированных навыков программирования в условиях ограниченных ресурсов.
Ключевые факты
- Метод основан на схеме «генератор-исправитель» (generator-fixer self-play) с использованием обучения с подкреплением.
- Основная цель — масштабирование процесса обучения моделей для исправления кода при нехватке реальных данных.
- Модель обучается генерировать баги, которые должны успешно проходить проверку через заданные модульные тесты.
- Подход позволяет повысить качество генерации исправлений за счет итеративного взаимодействия модели с самой собой в рамках контролируемой среды.