paper-with-me

홈 › Papers

CodeGen2: Lessons for Training LLMs on Programming and Natural Languages

2023-05-03 · Erik Nijkamp, Hiroaki Hayashi, Caiming Xiong, Silvio Savarese, Yingbo Zhou

Large language models (LLMs) have demonstrated remarkable abilities in representation learning for program synthesis and understanding tasks. The quality of the learned representations appears to be dictated by the neural scaling laws as a function of the number of model parameters and observations, while imposing upper bounds on the model performance by the amount of available data and compute, which is costly. In this study, we attempt to render the training of LLMs for program synthesis more efficient by unifying four key components: (1) model architectures, (2) learning methods, (3) infill sampling, and, (4) data distributions. Specifically, for the model architecture, we attempt to unify encoder and decoder-based models into a single prefix-LM. For learning methods, (i) causal language modeling, (ii) span corruption, (iii) infilling are unified into a simple learning algorithm. For infill sampling, we explore the claim of a "free lunch" hypothesis. For data distributions, the effect of a mixture distribution and multi-epoch training of programming and natural languages on model performance is explored. We conduct a comprehensive series of empirical experiments on 1B LLMs, for which failures and successes of this exploration are distilled into five lessons. We will provide a final recipe for training and release CodeGen2 models in size 1B, 3.7B, 7B, and, 16B parameters, along with the training framework as open-source: https://github.com/salesforce/CodeGen.

📄 PDF Abstract BibTeX arXiv:2305.02309

Code (2)

salesforce/CodeGen 공식 구현 jax
salesforce/codegen2 공식 구현 pytorch

Tasks

Causal Language ModelingDecoderLanguage ModelingLanguage ModellingProgram SynthesisRepresentation Learning

Similar Papers 제목 키워드 기반

CodeGen: An Open Large Language Model for Code with Multi-Turn Program Synthesis

2022-03-25 · Erik Nijkamp, Bo Pang, Hiroaki Hayashi, Lifu Tu 외

Program synthesis strives to generate a computer program as a solution to a given problem specification, expressed with input-output examples or natural language descriptions. The prevalence of large language models adva…

Code GenerationHumanEvalLanguage ModelingLanguage Modelling+2

Exploring the Robustness of Large Language Models for Solving Programming Problems

2023-06-26 · Atsushi Shirafuji, Yutaka Watanobe, Takumi Ito, Makoto Morishita 외

Using large language models (LLMs) for source code has recently gained attention. LLMs, such as Transformer-based models like Codex and ChatGPT, have been shown to be highly capable of solving a wide range of programming…

Code Generation

CodegenBench: Can LLMs Write Efficient Code Across Architectures?

2026-06-01 · Jie Li, Wenzhao Wu, Junqi Hu, Qinrui Zheng 외 arxiv

While large language models (LLMs) have been extensively evaluated on code generation tasks for general-purpose programming and GPU-accelerated environments (e.g., PyTorch, CUDA), their capabilities in CPU-oriented high-…

Code Generation

Incorporating External Knowledge through Pre-training for Natural Language to Code Generation

2020-04-20 · ACL 2020 6 · Frank F. Xu, Zhengbao Jiang, Pengcheng Yin, Bogdan Vasilescu 외

Open-domain code generation aims to generate code in a general-purpose programming language (such as Python) from natural language (NL) intents. Motivated by the intuition that developers usually retrieve resources on th…

Code GenerationData AugmentationRetrieval

CodeGenLink: A Tool to Find the Likely Origin and License of Automatically Generated Code

2025-10-01 · Daniele Bifolco, Guido Annicchiarico, Pierluigi Barbiero, Massimiliano Di Penta 외 arxiv

Large Language Models (LLMs) are widely used in software development tasks nowadays. Unlike reusing code taken from the Web, for LLMs' generated code, developers are concerned about its lack of trustworthiness and possib…