Sur le prétraitement pour la complétion de code au niveau projet
On Pretraining for Project-Level Code Completion
October 15, 2025
papers.authors: Maksim Sapronov, Evgeniy Glukhov
cs.AI
papers.abstract
Le pré-entraînement au niveau du dépôt est couramment utilisé pour permettre aux grands modèles de langage dédiés au code de tirer parti du contexte à l'échelle d'une base de code. Cela améliore leur capacité à générer des complétions de code précises et adaptées au contexte. Dans ce travail, nous étudions comment différentes stratégies de traitement des dépôts affectent l'apprentissage en contexte dans OpenCoder, un modèle de 1,5 milliard de paramètres. Nous étendons sa fenêtre contextuelle de 4 096 à 16 384 tokens en l'entraînant sur un milliard de tokens supplémentaires de données de dépôt soigneusement sélectionnées. Bien que notre modèle s'appuie sur un ensemble de données plus petit que ceux des modèles concurrents (qui utilisent souvent des centaines de milliards de tokens), il atteint des performances comparables sur le benchmark Long Code Arena. Nous constatons que diverses techniques de traitement des dépôts produisent des résultats similaires et robustes, le gain principal provenant de l'adaptation à un nouveau paramètre de mise à l'échelle des embeddings positionnels rotatifs (RoPE). Enfin, nous montrons qu'une approche d'entraînement plus simple au niveau des fichiers, avec la longueur de séquence d'origine, reste très efficace, ouvrant ainsi la recherche sur la complétion de code au niveau du dépôt à des contextes où les données et les ressources de calcul sont plus limitées.
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.