Über Vorverarbeitung für projektbezogene Code-Vervollständigung
On Pretraining for Project-Level Code Completion
October 15, 2025
papers.authors: Maksim Sapronov, Evgeniy Glukhov
cs.AI
papers.abstract
Repository-Level-Pretraining wird häufig eingesetzt, um großen Sprachmodellen für Code die Nutzung von kontextuellen Informationen auf Codebasis-Ebene zu ermöglichen. Dies verbessert ihre Fähigkeit, präzise und kontextbewusste Code-Vervollständigungen zu generieren. In dieser Arbeit untersuchen wir, wie verschiedene Repository-Verarbeitungsstrategien das In-Context-Lernen in OpenCoder, einem Modell mit 1,5 Milliarden Parametern, beeinflussen. Wir erweitern dessen Kontextfenster von 4.096 auf 16.384 Tokens, indem wir es mit zusätzlichen 1 Milliarden Tokens kuratierter Repository-Level-Daten trainieren. Obwohl unser Modell auf einem kleineren Datensatz basiert als konkurrierende Modelle (die oft Hunderte von Milliarden Tokens verwenden), erzielt es vergleichbare Leistungen im Long-Code-Arena-Benchmark. Wir stellen fest, dass verschiedene Repository-Verarbeitungstechniken ähnlich starke Ergebnisse liefern, wobei der primäre Gewinn aus der Anpassung an einen neuen Skalierungsparameter für rotatorische Positionsembedding (RoPE) resultiert. Schließlich zeigen wir, dass ein einfacherer Ansatz auf Dateiebene bei der ursprünglichen Sequenzlänge weiterhin hochwirksam ist, wodurch die Forschung zu Code-Vervollständigung auf Repository-Ebene auch in Umgebungen mit begrenzten Daten- und Rechenressourcen ermöglicht wird.
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.