ChatPaper.aiChatPaper

Sobre o Pré-treinamento para Conclusão de Código em Nível de Projeto

On Pretraining for Project-Level Code Completion

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

Resumo

O pré-treinamento em nível de repositório é comumente utilizado para permitir que grandes modelos de linguagem para código aproveitem o contexto em toda a base de código. Isso melhora sua capacidade de gerar sugestões de código precisas e contextualmente conscientes. Neste trabalho, investigamos como diferentes estratégias de processamento de repositório afetam o aprendizado em contexto no OpenCoder, um modelo com 1,5 bilhão de parâmetros. Estendemos sua janela de contexto de 4.096 para 16.384 tokens ao treinar com 1 bilhão adicionais de tokens de dados curados em nível de repositório. Apesar de depender de um conjunto de dados menor do que os modelos concorrentes (que frequentemente usam centenas de bilhões de tokens), nosso modelo alcança desempenho comparável no benchmark Long Code Arena. Descobrimos que várias técnicas de processamento de repositório produzem resultados igualmente fortes, com o ganho principal vindo da adaptação a um novo parâmetro de escalonamento de embeddings posicionais rotativos (RoPE). Por fim, mostramos que uma abordagem de treinamento mais simples em nível de arquivo, com o comprimento original da sequência, permanece altamente eficaz, abrindo caminho para pesquisas em conclusão de código em nível de repositório em cenários com recursos de dados e computação mais 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.
PDF52October 17, 2025