CodeT5+: Open Code Large Language Models voor Codebegrip en Generatie
CodeT5+: Open Code Large Language Models for Code Understanding and Generation
May 13, 2023
Auteurs: Yue Wang, Hung Le, Akhilesh Deepak Gotmare, Nghi D. Q. Bui, Junnan Li, Steven C. H. Hoi
cs.AI
Samenvatting
Grote taalmodellen (LLMs) die vooraf zijn getraind op enorme hoeveelheden broncode hebben aanzienlijke vooruitgang geboekt in code-intelligentie. Echter, bestaande code-LLMs hebben twee belangrijke beperkingen wat betreft architectuur en voorafgaande trainings taken. Ten eerste gebruiken ze vaak een specifieke architectuur (alleen encoder of alleen decoder) of vertrouwen ze op een uniform encoder-decoder netwerk voor verschillende downstream taken. Het eerste paradigma wordt beperkt door inflexibiliteit in toepassingen, terwijl bij het laatste het model als een enkel systeem voor alle taken wordt behandeld, wat leidt tot suboptimale prestaties op een subset van taken. Ten tweede gebruiken ze vaak een beperkte set van voorafgaande trainingsdoelen die mogelijk niet relevant zijn voor sommige downstream taken en dus resulteren in een aanzienlijke prestatievermindering. Om deze beperkingen aan te pakken, stellen we ``CodeT5+'' voor, een familie van encoder-decoder LLMs voor code waarin componentmodules flexibel kunnen worden gecombineerd om aan een breed scala aan downstream code taken te voldoen. Deze flexibiliteit wordt mogelijk gemaakt door onze voorgestelde mix van voorafgaande trainingsdoelen om het verschil tussen vooraf trainen en finetunen te verminderen. Deze doelen omvatten span denoising, contrastief leren, tekst-code matching, en causale LM voorafgaande trainings taken, op zowel unimodale als bimodale meertalige code corpora. Bovendien stellen we voor om CodeT5+ te initialiseren met bevroren kant-en-klare LLMs zonder vanaf nul te trainen om onze modellen efficiënt op te schalen, en onderzoeken we instructie-afstemming om af te stemmen op natuurlijke taal instructies. We evalueren CodeT5+ uitgebreid op meer dan 20 code-gerelateerde benchmarks in verschillende instellingen, waaronder zero-shot, finetunen, en instructie-afstemming. We observeren state-of-the-art (SoTA) modelprestaties op verschillende code-gerelateerde taken, zoals code generatie en voltooiing, wiskundig programmeren, en tekst-naar-code retrieval taken. In het bijzonder behaalt onze instructie-afgestemde CodeT5+ 16B nieuwe SoTA resultaten op de HumanEval code generatie taak in vergelijking met andere open code LLMs.
English
Large language models (LLMs) pretrained on vast source code have achieved
prominent progress in code intelligence. However, existing code LLMs have two
main limitations in terms of architecture and pretraining tasks. First, they
often adopt a specific architecture (encoder-only or decoder-only) or rely on a
unified encoder-decoder network for different downstream tasks. The former
paradigm is limited by inflexibility in applications while in the latter, the
model is treated as a single system for all tasks, leading to suboptimal
performance on a subset of tasks. Secondly, they often employ a limited set of
pretraining objectives which might not be relevant to some downstream tasks and
hence result in substantial performance degrade. To address these limitations,
we propose ``CodeT5+'', a family of encoder-decoder LLMs for code in which
component modules can be flexibly combined to suit a wide range of downstream
code tasks. Such flexibility is enabled by our proposed mixture of pretraining
objectives to mitigate the pretrain-finetune discrepancy. These objectives
cover span denoising, contrastive learning, text-code matching, and causal LM
pretraining tasks, on both unimodal and bimodal multilingual code corpora.
Furthermore, we propose to initialize CodeT5+ with frozen off-the-shelf LLMs
without training from scratch to efficiently scale up our models, and explore
instruction-tuning to align with natural language instructions. We extensively
evaluate CodeT5+ on over 20 code-related benchmarks in different settings,
including zero-shot, finetuning, and instruction-tuning. We observe
state-of-the-art (SoTA) model performance on various code-related tasks, such
as code generation and completion, math programming, and text-to-code retrieval
tasks. Particularly, our instruction-tuned CodeT5+ 16B achieves new SoTA
results on HumanEval code generation task against other open code LLMs.