ChatPaper.aiChatPaper

О предобучении для проектного завершения кода

On Pretraining for Project-Level Code Completion

October 15, 2025
Авторы: Maksim Sapronov, Evgeniy Glukhov
cs.AI

Аннотация

Предварительное обучение на уровне репозитория широко используется для того, чтобы крупные языковые модели, работающие с кодом, могли учитывать контекст всей кодовой базы. Это повышает их способность генерировать точные и контекстно-зависимые завершения кода. В данной работе мы исследуем, как различные стратегии обработки репозитория влияют на обучение в контексте в модели OpenCoder, содержащей 1,5 миллиарда параметров. Мы расширяем её контекстное окно с 4096 до 16 384 токенов, обучая модель на дополнительных 1 миллиарде токенов тщательно отобранных данных уровня репозитория. Несмотря на использование меньшего набора данных по сравнению с конкурирующими моделями (которые часто используют сотни миллиардов токенов), наша модель демонстрирует сопоставимую производительность на бенчмарке Long Code Arena. Мы обнаруживаем, что различные методы обработки репозитория дают схожие результаты, при этом основной прирост производительности достигается за счёт адаптации к новому параметру масштабирования ротационных позиционных эмбеддингов (RoPE). Наконец, мы показываем, что более простой подход к обучению на уровне файлов с исходной длиной последовательности остаётся высокоэффективным, что открывает исследования в области завершения кода на уровне репозитория для условий с ограниченными данными и вычислительными ресурсами.
English
Repository-level pretraining is commonly used to enable large language models for code to leverage codebase-wide context. This enhances their ability to generate accurate and context-aware code completions. In this work, we investigate how different repository-processing strategies affect in-context learning in OpenCoder, a 1.5B-parameter model. We extend its context window from 4,096 to 16,384 tokens by training on additional 1B tokens of curated repository-level data. Despite relying on a smaller dataset than competing models (which often use hundreds of billions of tokens), our model achieves comparable performance on the Long Code Arena benchmark. We find that various repository-processing techniques yield similarly strong results, with the primary gain coming from adapting to a new rotary positional embedding (RoPE) scaling parameter. Finally, we show that a simpler file-level training approach at the original sequence length remains highly effective, opening up repository-level code completion research to settings with more constrained data and compute resources.
PDF52October 17, 2025