Исследователи изучили применение обучения с подкреплением (RL) для оптимизации производительности кода. Хотя использование RL для проверки корректности программ стало стандартом, переход к оптимизации времени выполнения сталкивается с серьезными препятствиями. Основными проблемами выступают шум при измерении задержек, разреженность наград и нестабильность алгоритмов обучения, которые нивелируют потенциальный прирост эффективности в реальных задачах программирования.
Основная сложность заключается в том, что при попытке оптимизировать время выполнения кода модель сталкивается с высокой вариативностью замеров. Даже незначительные изменения в среде исполнения создают «шум», который мешает алгоритму корректно оценивать качество предложенных решений. В результате модель перестает фокусироваться на поиске алгоритмически эффективных путей, переключаясь на случайные или нестабильные стратегии, которые не дают реального ускорения при масштабировании.
Для преодоления этих барьеров авторы работы анализируют методы стабилизации процесса обучения, включая использование алгоритма GRPO (Group Relative Policy Optimization). Исследование показывает, что для успешной оптимизации кода недостаточно просто добавить время выполнения в функцию награды. Требуется комплексный подход к фильтрации шума и нормализации метрик, чтобы сигнал о качестве кода стал достаточно четким для эффективной корректировки весов модели.
Ключевые факты
- Использование времени выполнения в качестве сигнала награды приводит к нестабильности из-за высокого уровня шума в измерениях.
- Разреженность наград при оптимизации кода затрудняет сходимость модели по сравнению с задачами на проверку корректности.
- Исследование акцентирует внимание на проблемах алгоритмической нестабильности при использовании GRPO в задачах оптимизации.
- Основной вывод работы заключается в необходимости разработки более устойчивых функций награды, которые учитывают вариативность среды исполнения.