ChatPaper.aiChatPaper

Code Representatie Leren op Schaal

Code Representation Learning At Scale

February 2, 2024
Auteurs: Dejiao Zhang, Wasi Ahmad, Ming Tan, Hantian Ding, Ramesh Nallapati, Dan Roth, Xiaofei Ma, Bing Xiang
cs.AI

Samenvatting

Recente studies hebben aangetoond dat code-taalmodelleermodellen op grote schaal aanzienlijke prestatieverbeteringen laten zien bij downstream taken, zoals codegeneratie. De meeste bestaande werken over code-representatie leren trainen echter modellen op een schaal van honderden miljoenen parameters met zeer beperkte pretrainingscorpora. In dit werk versterken we code-representatie leren met een enorme hoeveelheid codedata via een tweestaps pretrainingsschema. We trainen eerst de encoders via een mix die zowel willekeur in gemaskeerde taalmodellering als het structurele aspect van programmeertalen benut. Vervolgens verbeteren we de representaties via contrastief leren met harde negatieven en harde positieven die op een onbewaakte manier worden geconstrueerd. We ontwikkelen een kant-en-klare encodermodel dat consequent de bestaande modellen overtreft op een breed scala aan downstream taken met grote marges. Om de factoren te begrijpen die bijdragen aan succesvol code-representatie leren, voeren we gedetailleerde ablatie-onderzoeken uit en delen we onze bevindingen over (i) een op maat gemaakt en effectief token-level denoisingschema voor broncode; (ii) het belang van harde negatieven en harde positieven; (iii) hoe het voorgestelde bimodale contrastieve leren de prestaties van cross-linguale semantische zoekopdrachten verbetert; en (iv) hoe de pretrainingsschema's bepalen hoe de prestaties van downstream taken schalen met de modelgrootte.
English
Recent studies have shown that code language models at scale demonstrate significant performance gains on downstream tasks, i.e., code generation. However, most of the existing works on code representation learning train models at a hundred million parameter scale using very limited pretraining corpora. In this work, we fuel code representation learning with a vast amount of code data via a two-stage pretraining scheme. We first train the encoders via a mix that leverages both randomness in masking language modeling and the structure aspect of programming language. We then enhance the representations via contrastive learning with hard negative and hard positive constructed in an unsupervised manner. We establish an off-the-shelf encoder model that persistently outperforms the existing models on a wide variety of downstream tasks by large margins. To comprehend the factors contributing to successful code representation learning, we conduct detailed ablations and share our findings on (i) a customized and effective token-level denoising scheme for source code; (ii) the importance of hard negatives and hard positives; (iii) how the proposed bimodal contrastive learning boost the cross-lingual semantic search performance; and (iv) how the pretraining schemes decide the downstream task performance scales with the model size.
PDF131December 22, 2025