ChatPaper.aiChatPaper

Ü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.
PDF52October 17, 2025