ChatPaper.aiChatPaper

Обучение LLM малоресурсному языку: улучшение автодополнения кода в Pharo

Teaching LLMs a Low-Resource Language: Enhancing Code Completion in Pharo

July 6, 2026
Авторы: Kilian Kier, Alessandro Giagnorio, Omar AbedelKader, Oleksandr Zaitsev, Robert Peharz, Romain Robbes, Gabriele Bavota, Stéphane Ducasse
cs.AI

Аннотация

Большие языковые модели (LLM) открыли новые возможности для автоматического написания кода, став основой большинства инструментов автодополнения кода. Хотя LLM превосходно работают с распространёнными языками, они часто не поддерживают так называемые низкоресурсные языки, для которых обучающих данных недостаточно. В результате такие языки отстают по качеству инструментов автодополнения, доступных их сообществам. Конкретным примером служит Pharo — язык, вдохновлённый Smalltalk, среда разработки которого в настоящее время предлагает лишь однотокенное автодополнение. В данной работе мы делимся опытом внедрения автодополнения кода на основе LLM в Pharo. Во-первых, мы описываем сквозной конвейер, объединяющий курирование данных, специфичных для Pharo, продолженное предобучение и тонкую настройку открытых кодовых LLM. Во-вторых, мы представляем набор тестов автодополнения кода на Pharo, предназначенных для оценки того, насколько модели (i) усваивают синтаксис Pharo и (ii) корректно восстанавливают маскированный код Pharo из реальных репозиториев GitHub. В-третьих, мы эмпирически показываем, что специализированные для Pharo модели существенно превосходят свои исходные базовые контрольные точки, а также превышают точность значительно более крупных кодовых LLM при автодополнении на Pharo. В целом, наше исследование демонстрирует принципиальную возможность внедрения мощного автодополнения кода на основе LLM для низкоресурсных языков программирования с помощью моделей, достаточно компактных для обеспечения поддержки в среде разработки в реальном времени.
English
Large Language Models (LLMs) unlocked new possibilities in automated code writing, becoming the backbone of most code completion tools. While LLMs excel in mainstream languages, they often lack support for the so-called low-resource languages where training data is scarce. As a result, these languages lag behind in the quality of code completion tooling available to their communities. A concrete example is Pharo, a Smalltalk-inspired language whose IDE currently offers only single-token completion. In this work, we report on our experience bringing LLM-based code completion to Pharo. First, we describe an end-to-end pipeline that combines Pharo-specific data curation, continued pre-training and fine-tuning of open code LLMs. Second, we introduce a set of Pharo code completion benchmarks designed to evaluate whether models (i) learn Pharo's syntax and (ii) accurately complete masked Pharo code from real-world GitHub repositories. Third, we show empirically that Pharo-specialized models substantially outperform their original base checkpoints and also exceed the accuracy of substantially larger code LLMs on Pharo completion. Overall, our case study demonstrates the feasibility of bringing strong LLM-based code completion to low-resource programming languages, with models small enough to provide ``real-time'' in-IDE support.