Selective Left-Shift: новый пайплайн для генерации кода на редких языках программирования
Исследователи представили пайплайн Selective Left-Shift, который решает трилемму обучения малых языковых моделей (SLM) для низкоресурсных языков программирования (LRPL). Этот метод сочетает синтез данных с верификацией, тонкую настройку с учителем (SFT) и обучение с подкреплением на основе верифицир

Исследователи представили пайплайн Selective Left-Shift, который решает трилемму обучения малых языковых моделей (SLM) для низкоресурсных языков программирования (LRPL). Этот метод сочетает синтез данных с верификацией, тонкую настройку с учителем (SFT) и обучение с подкреплением на основе верифицируемых наград (RLVR). Разработка позволяет значительно улучшить генерацию кода для редких языков, таких как Julia и Ballerina, при меньших затратах данных и вычислений.
Почему редкие языки программирования остаются без поддержки
Большие языковые модели (LLM) демонстрируют впечатляющие результаты для популярных языков вроде Python и Java, но резко теряют качество на редких языках. Причина кроется в дисбалансе обучающих данных: в интернете и открытых репозиториях доминируют распространённые языки, а такие языки, как Julia, Ballerina, R или Fortran, представлены крайне скудно. Разработка SLM для LRPL сталкивается с тройной проблемой: нехватка качественных данных для SFT, высокая стоимость генерации кода на этапе инференса и неэффективность обучения с подкреплением с нуля. Selective Left-Shift преодолевает эти ограничения, разделяя усвоение синтаксиса и алгоритмических рассуждений.
Как работает Selective Left-Shift
Пайплайн состоит из трёх ключевых этапов. На первом этапе, названном left-shift, вычислительные затраты на инференс переносятся в офлайн-режим. В этом режиме синтезируются и верифицируются примеры с помощью итеративного запуска компилятора и тестов. Это позволяет создать высококачественный синтетический датасет без необходимости дорогостоящих онлайн-вычислений. На втором этапе малая модель дообучается на синтетических верифицированных данных для усвоения синтаксических приоритетов целевого языка. Наконец, применяется обучение с подкреплением с верифицируемой наградой (RLVR) на основе I/O-тестов. При этом SFT-приоритет ограничивает пространство поиска, избегая синтаксических ошибок и фокусируясь на алгоритмической корректности.
Какие результаты показали эксперименты
Эксперименты на модели Qwen3-8B продемонстрировали значительное улучшение метрики pass@1. Для языка Julia прирост составил +7.6 пункта на бенчмарке MultiPL-E и +14.2 пункта на Agnostics LiveCodeBench по сравнению с современными методами (SOTA). При этом использовалось лишь одна треть данных и одна шестая стоимости обучения. Для Ballerina — языка с почти нулевым представительством в предобучающих данных — достигнут показатель 49.7% pass@1 на MultiPL-E. Абляционные исследования подтверждают необходимость обоих этапов (SFT и RLVR) для стабильного обучения: удаление любого из них приводит к резкому падению качества.
Кому это выгодно
Разработчики, использующие редкие языки программирования, такие как Julia, Ballerina, R, Fortran и другие, получат доступ к более качественным инструментам генерации кода. Исследователи в области генерации кода и оптимизации языковых моделей смогут применять пайплайн для создания эффективных SLM для нишевых языков. Selective Left-Shift снижает порог входа: теперь не требуется огромных вычислительных ресурсов или уникальных датасетов для достижения конкурентоспособных результатов.
Что остаётся неизвестным
На данный момент неясно, насколько хорошо пайплайн масштабируется на другие архитектуры SLM и более широкий спектр LRPL. Также не раскрыты детали синтеза данных и критерии отбора примеров. Будущие исследования должны ответить на эти вопросы и подтвердить универсальность подхода.