Sobre el Pretrenamiento para la Finalización de Código a Nivel de Proyecto
On Pretraining for Project-Level Code Completion
October 15, 2025
Autores: Maksim Sapronov, Evgeniy Glukhov
cs.AI
Resumen
El preentrenamiento a nivel de repositorio se utiliza comúnmente para permitir que los modelos de lenguaje grandes para código aprovechen el contexto de toda la base de código. Esto mejora su capacidad para generar completaciones de código precisas y conscientes del contexto. En este trabajo, investigamos cómo diferentes estrategias de procesamiento de repositorios afectan el aprendizaje en contexto en OpenCoder, un modelo de 1.500 millones de parámetros. Extendemos su ventana de contexto de 4.096 a 16.384 tokens mediante el entrenamiento con 1.000 millones adicionales de tokens de datos curados a nivel de repositorio. A pesar de depender de un conjunto de datos más pequeño que los modelos competidores (que a menudo utilizan cientos de miles de millones de tokens), nuestro modelo logra un rendimiento comparable en el benchmark Long Code Arena. Encontramos que varias técnicas de procesamiento de repositorios producen resultados igualmente sólidos, siendo la principal ganancia la adaptación a un nuevo parámetro de escalado de incrustación posicional rotatoria (RoPE). Finalmente, demostramos que un enfoque de entrenamiento más simple a nivel de archivo, con la longitud de secuencia original, sigue siendo altamente efectivo, abriendo la investigación en completación de código a nivel de repositorio a entornos con recursos de datos y computación más limitados.
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.