Новый метод Selective Left-Shift улучшает генерацию кода для редких языков программирования на 14%
Крупные языковые модели (LLM) отлично работают с популярными языками программирования, такими как Python и Java, но резко теряют качество на редких языках (LRPL), например Julia. До сих пор улучшение малых моделей (SLM) для этих языков было затруднено так называемой трилеммой: синтез данных требует редких примеров, методы инференса дороги, а обучение с подкреплением с нуля почти не даёт результата.
Авторы новой статьи на arXiv предлагают пайплайн Selective Left-Shift, решающий эту проблему. Он разделяет усвоение синтаксиса и алгоритмического рассуждения. На первом этапе вычислительные ресурсы инференса переносятся в офлайн-синтез данных: система с компилятором и тестами генерирует и проверяет учебные примеры.
На втором этапе малая модель (в эксперименте — Qwen3-8B) дообучается на этих синтетических данных, чтобы закрепить синтаксис. Затем применяется обучение с подкреплением на основе верифицируемых наград (RLVR) — тестов ввода-вывода, не зависящих от языка. SFT-приоритет ограничивает поиск модели от синтаксических ошибок.
Результаты: на бенчмарках MultiPL-E и Agnostics LiveCodeBench для Julia пайплайн повысил pass@1 на 7,6 и 14,2 пункта соответственно. При этом использовано только треть объёма данных и шестая часть затрат предыдущего лучшего подхода.
Кроме того, метод показал универсальность: для языка Ballerina, практически не представленного при предобучении, достигнут результат 49,7% pass@1 на MultiPL-E. Абляционные тесты подтвердили, что и фаза SFT, и награды на основе выполнения кода необходимы для стабильного обучения.
Таким образом, Selective Left-Shift предлагает эффективный путь развития малых моделей для редких языков программирования, снижая потребность в дорогостоящих данных и вычислениях.



