ChatPaper.aiChatPaper

CodeT5+: Offene Code-Großsprachmodelle für das Verständnis und die Generierung von Code

CodeT5+: Open Code Large Language Models for Code Understanding and Generation

May 13, 2023
Autoren: Yue Wang, Hung Le, Akhilesh Deepak Gotmare, Nghi D. Q. Bui, Junnan Li, Steven C. H. Hoi
cs.AI

Zusammenfassung

Große Sprachmodelle (LLMs), die auf umfangreichen Quellcode-Daten vortrainiert wurden, haben bedeutende Fortschritte in der Code-Intelligenz erzielt. Allerdings weisen bestehende Code-LLMs zwei Hauptbeschränkungen in Bezug auf Architektur und Vortrainingsaufgaben auf. Erstens verwenden sie oft eine spezifische Architektur (nur Encoder oder nur Decoder) oder stützen sich auf ein einheitliches Encoder-Decoder-Netzwerk für verschiedene Downstream-Aufgaben. Das erstgenannte Paradigma ist durch mangelnde Flexibilität in der Anwendung eingeschränkt, während im letzteren Fall das Modell als ein einziges System für alle Aufgaben behandelt wird, was zu suboptimaler Leistung bei einer Teilmenge der Aufgaben führt. Zweitens setzen sie oft eine begrenzte Anzahl von Vortrainingszielen ein, die für einige Downstream-Aufgaben möglicherweise nicht relevant sind und somit zu erheblichen Leistungseinbußen führen. Um diese Einschränkungen zu überwinden, schlagen wir „CodeT5+“ vor, eine Familie von Encoder-Decoder-LLMs für Code, bei der Komponentenmodule flexibel kombiniert werden können, um eine Vielzahl von Downstream-Code-Aufgaben zu bewältigen. Diese Flexibilität wird durch unsere vorgeschlagene Mischung von Vortrainingszielen ermöglicht, um die Diskrepanz zwischen Vortraining und Feinabstimmung zu verringern. Diese Ziele umfassen Span-Denoising, kontrastives Lernen, Text-Code-Matching und kausale LM-Vortrainingsaufgaben auf sowohl unimodalen als auch bimodalen mehrsprachigen Code-Korpora. Darüber hinaus schlagen wir vor, CodeT5+ mit eingefrorenen, gebrauchsfertigen LLMs zu initialisieren, ohne von Grund auf zu trainieren, um unsere Modelle effizient zu skalieren, und untersuchen Instruction-Tuning, um sie mit natürlichen Sprachanweisungen in Einklang zu bringen. Wir evaluieren CodeT5+ umfassend auf über 20 Code-bezogenen Benchmarks in verschiedenen Settings, einschließlich Zero-Shot, Feinabstimmung und Instruction-Tuning. Wir beobachten state-of-the-art (SoTA) Modellleistungen bei verschiedenen Code-bezogenen Aufgaben, wie Code-Generierung und -Vervollständigung, mathematische Programmierung und Text-zu-Code-Retrieval-Aufgaben. Insbesondere erzielt unser instruction-getuntes CodeT5+ 16B neue SoTA-Ergebnisse bei der HumanEval-Code-Generierungsaufgabe im Vergleich zu anderen offenen 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.
PDF52December 15, 2024