ChatPaper.aiChatPaper

Sul Pretraining per il Completamento del Codice a Livello di Progetto

On Pretraining for Project-Level Code Completion

October 15, 2025
Autori: Maksim Sapronov, Evgeniy Glukhov
cs.AI

Abstract

Il pretraining a livello di repository è comunemente utilizzato per consentire ai grandi modelli linguistici per il codice di sfruttare il contesto a livello di intera codebase. Ciò migliora la loro capacità di generare completamenti di codice accurati e consapevoli del contesto. In questo lavoro, investigiamo come diverse strategie di elaborazione del repository influenzino l'apprendimento in contesto in OpenCoder, un modello da 1,5 miliardi di parametri. Estendiamo la sua finestra contestuale da 4.096 a 16.384 token addestrandolo su ulteriori 1 miliardo di token di dati curati a livello di repository. Nonostante si basi su un dataset più piccolo rispetto ai modelli concorrenti (che spesso utilizzano centinaia di miliardi di token), il nostro modello raggiunge prestazioni comparabili sul benchmark Long Code Arena. Scopriamo che varie tecniche di elaborazione del repository producono risultati altrettanto forti, con il guadagno principale derivante dall'adattamento a un nuovo parametro di scaling per l'embedding posizionale rotatorio (RoPE). Infine, dimostriamo che un approccio di addestramento più semplice a livello di file, con la lunghezza originale della sequenza, rimane altamente efficace, aprendo la ricerca sui completamenti di codice a livello di repository a contesti con risorse di dati e calcolo più limitate.
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