ChatPaper.aiChatPaper

Нет ресурсов, нет бенчмарков, нет проблем? Оценка и улучшение LLM для генерации кода на языках без ресурсов

No Resource, No Benchmarks, No Problem? Evaluating and Improving LLMs for Code Generation in No-Resource Languages

June 15, 2026
Авторы: Alessandro Giagnorio, Alberto Martin-Lopez, Gabriele Bavota
cs.AI

Аннотация

Большие языковые модели (БЯМ) значительно продвинули автоматизацию задач программной инженерии. Одним из ярких примеров является генерация кода, где БЯМ создает код на указанном языке программирования на основе описания на естественном языке. Большинство исследований в этой области сосредоточено на высокоресурсных языках, таких как Python или Java, которые выигрывают от обилия обучающих данных. Меньшее число работ посвящено низкоресурсным языкам, которые недостаточно представлены в обучающих корпусах. В противоположность этому, языки с нулевыми ресурсами, для которых БЯМ практически не видели обучающих данных, остаются в значительной степени неизученными. Такие языки часто возникают в промышленности, где организации разрабатывают проприетарные или предметно-ориентированные языки, не поддерживаемые коммерческими инструментами, такими как GitHub Copilot. Это приводит к необходимости для компаний развертывать собственные внутренние рекомендаторы кода. Для изучения возможных решений в этом контексте мы создаем и публикуем три бенчмарка генерации кода для языков с нулевыми ресурсами, основанных на двух недавно предложенных языках программирования, для которых доступно очень мало обучающих данных. Используя эти бенчмарки, мы экспериментируем с несколькими решениями для обучения БЯМ работе с языками с нулевыми ресурсами, включая методы на основе подсказок, а также предобучение и дообучение с использованием доступного небольшого объема данных. Хотя дальнейшее предобучение дает наибольший прирост производительности для языков с нулевыми ресурсами, его непосредственное применение к моделям, настроенным на инструкции, вредит их способности следовать инструкциям. Чтобы решить эту проблему, мы начинаем с базовой модели, дополнительно предобучаем ее на целевом языке, а затем внедряем способность следовать инструкциям через перенос разности весов из инструктивной модели. Такой подход значительно улучшает возможности генерации кода в условиях нулевых ресурсов, позволяя компаниям дешево развертывать специализированную инструктивную модель, не сталкиваясь с вычислительными затратами на дообучение на инструкциях.
English
Large Language Models (LLMs) have significantly advanced the automation of software engineering tasks. One prominent example is code generation, where an LLM produces code in a specified programming language based on a natural language description. Most research in this area has focused on high-resource languages, such as Python or Java, which benefit from abundant training data. A smaller body of work has explored low-resource languages, which are underrepresented in training corpora. In contrast, no-resource languages for which LLMs have seen virtually no training data remain largely unstudied. These languages often emerge in industry, where organizations develop proprietary or domain-specific languages unsupported by commercial tools like GitHub Copilot. This results in the need for companies to deploy their own in-house code recommenders. To investigate possible solutions in this context, we build and release three code generation benchmarks for no-resource languages, based on two recently proposed programming languages for which very little training data is available. Using these benchmarks, we experiment several solutions to teach LLMs about no-resource languages, including prompt-based techniques as well as pre-training and fine-tuning exploiting the little data available. While further pre-training gives the largest performance gains for no-resource languages, applying it directly to instruction-tuned models harms their ability to follow instructions. To address this, we start from a base model, further pre-training it on the target language, and then inject instruction-following capabilities via weight diff transfer from an instruction model. Such an approach significantly improves code generation capabilities in no-resource settings, allowing companies to cheaply deploy a specialized instruct model without dealing with the computational cost of instruction fine-tuning.