Code-LLM들에 대한 정보를 모아둔 GitHub 저장소를 발견하여 공유드립니다.
Survey 논문부터 시작하여 분류별 모델 목록과 데이터셋, 문서들을 모아두었습니다.
Awesome Code LLM 저장소 URL (원문)
주요 내용
주의
: 아래 내용은 작성 시점까지의 내용을 정리한 것으로, 최신 내용은 위의 저장소를 방문해주세요!
1. Code-LLM 서베이 논문 목록
- 6개의 Code-LLM 서베이 논문들을 정리하였습니다. 앞의 2개는 NLP 측면에서의, 뒤의 4개는 SE 측면에 초점을 맞춘 논문들입니다.
논문 제목 | 출판일 | 출처 |
---|---|---|
Large Language Models Meet NL2Code: A Survey | 2022-12 | ACL 2023 |
A Survey on Pretrained Language Models for Neural Code Intelligence | 2022-12 | arXiv |
An Empirical Comparison of Pre-Trained Models of Source Code | 2023-02 | ICSE 2023 |
Large Language Models for Software Engineering: A Systematic Literature Review | 2023-08 | arXiv |
Towards an Understanding of Large Language Models in Software Engineering Tasks | 2023-08 | arXiv |
Pitfalls in Language Models for Code Intelligence: A Taxonomy and Survey | 2023-10 | arXiv |
2. Code-LLM 모델 목록
2.1 기존의 LLM들 (Off-the-Shelf LLM)
- 코드 작성을 위한 모델은 아니지만, 기본적으로 코딩 능력을 갖춘 LLM 모델들입니다.
모델명 | 논문 제목 및 링크 | 출판일 | 추가 링크 |
---|---|---|---|
LaMDA | LaMDA: Language Models for Dialog Applications | 2022-01 | - |
PaLM | PaLM: Scaling Language Modeling with Pathways | 2022-04 | - |
GPT-NeoX | GPT-NeoX-20B: An Open-Source Autoregressive Language Model | 2022-04 | 저장소 |
BLOOM | BLOOM: A 176B-Parameter Open-Access Multilingual Language Model | 2022-11 | 모델 |
LLaMA | LLaMA: Open and Efficient Foundation Language Models | 2023-02 | |
GPT-4 | GPT-4 Technical Report | 2023-03 | - |
LLaMA 2 | Llama 2: Open Foundation and Fine-Tuned Chat Models | 2023-07 | 저장소 |
Phi-1.5 | Textbooks Are All You Need II: phi-1.5 technical report | 2023-09 | 모델 |
Baichuan 2 | Baichuan 2: Open Large-scale Language Models | 2023-09 | 저장소 |
Qwen | Qwen Technical Report | 2023-09 | 저장소 |
2.2 코드를 추가 학습한 LLM들 (Existing LLM Further Trained on Code)
- 사전 학습 시 코드 데이터를 사용하여 학습한 범용 LLM 모델들입니다.
모델명 | 논문 제목 및 링크 | 출판일 | 추가 링크 |
---|---|---|---|
Codex (GPT-3) | Evaluating Large Language Models Trained on Code | 2021-07 | - |
PaLM Coder (PaLM) | PaLM: Scaling Language Modeling with Pathways | 2022-04 | - |
Minerva (PaLM) | Solving Quantitative Reasoning Problems with Language Models | 2022-06 | - |
PaLM 2 (PaLM 2) | PaLM 2 Technical Report | 2023-05 | - |
Code LLaMA (LLaMA 2) | Code Llama: Open Foundation Models for Code | 2023-08 | 저장소 |
2.3 코드에 대한 일반 사전 학습 모델 (General Pretraining on Code)
- 처음부터 사전 학습된 트랜스포머 인코더, 디코더 및 인코더-디코더 구조의 코드 모델들입니다.
Encoder
모델명 | 논문 제목 및 링크 | 출판일 | 추가 링크 |
---|---|---|---|
CuBERT (MLM + NSP) | Learning and Evaluating Contextual Embedding of Source Code | 2019-12 | 저장소 |
CodeBERT (MLM + RTD) | CodeBERT: A Pre-Trained Model for Programming and Natural Languages | 2020-02 | 저장소 |
GraphCodeBERT (MLM + DFG Edge Prediction + DFG Node Alignment) | GraphCodeBERT: Pre-training Code Representations with Data Flow | 2020-09 | 저장소 |
SynCoBERT (MLM + Identifier Prediction + AST Edge Prediction + Contrastive Learning) | SynCoBERT: Syntax-Guided Multi-Modal Contrastive Pre-Training for Code Representation | 2021-08 | - |
DISCO (MLM + Node Type MLM + Contrastive Learning) | Towards Learning (Dis)-Similarity of Source Code from Program Contrasts | 2021-q0 | - |
Code-MVP (MLM + Type Inference + Contrastive Learning) | CODE-MVP: Learning to Represent Source Code from Multiple Views with Contrastive Pre-Training | 2022-05 | - |
Decoder
Encoder-Decoder
모델명 | 논문 제목 및 링크 | 출판일 | 추가 링크 |
---|---|---|---|
PyMT5 | PyMT5: multi-mode translation of natural language and Python code with transformers | 2020-10 | - |
Mastropaolo et al. | DOBF: A Deobfuscation Pre-Training Objective for Programming Languages | 2021-02 | 저장소 |
DOBF | Studying the Usage of Text-To-Text Transfer Transformer to Support Code-Related Tasks | 2021-02 | 저장소 |
PLBART | Unified Pre-training for Program Understanding and Generation | 2021-03 | 저장소 |
CodeT5 | CodeT5: Identifier-aware Unified Pre-trained Encoder-Decoder Models for Code Understanding and Generation | 2021-09 | 저장소 |
SPT-Code | SPT-Code: Sequence-to-Sequence Pre-Training for Learning Source Code Representations | 2022-01 | - |
AlphaCode | Competition-Level Code Generation with AlphaCode | 2022-02 | 블로그 |
NatGen | NatGen: Generative pre-training by "Naturalizing" source code | 2022-06 | 저장소 |
CodeT5+ | CodeT5+: Open Code Large Language Models for Code Understanding and Generation | 2023-05 | 저장소 |
UniLM
모델명 | 논문 제목 및 링크 | 출판일 | 추가 링크 |
---|---|---|---|
CugLM | Multi-task Learning based Pre-trained Language Model for Code Completion | 2020-12 | - |
UniXcoder | UniXcoder: Unified Cross-Modal Pre-training for Code Representation | 2022-03 | 저장소 |
2.4 코드에 대한 명령어 미세 조정 (Instruction Fine-Tuning on Code)
- 이러한 모델에는 명령어 미세 조정 기법(instruction fine-tuning)을 적용하여 코드 LLM의 기능을 향상시킨 모델들입니다.
모델명 | 논문 제목 및 링크 | 출판일 | 추가 링크 |
---|---|---|---|
WizardCoder | WizardCoder: Empowering Code Large Language Models with Evol-Instruct | 2023-06 | 저장소 |
PanGu-Coder 2 | PanGu-Coder2: Boosting Large Language Models for Code with Ranking Feedback | 2023-07 | - |
OctoCoder / OctoGeeX | OctoPack: Instruction Tuning Code Large Language Models | 2023-08 | 저장소 |
MFTCoder | MFTCoder: Boosting Code LLMs with Multitask Fine-Tuning | 2023-11 | 저장소 |
2.5 코드에 대한 강화 학습 (Reinforcement Learning on Code)
모델명 | 논문 제목 및 링크 | 출판일 | 추가 링크 |
---|---|---|---|
CompCoder | Compilable Neural Code Generation with Compiler Feedback | 2022-03 | - |
CodeRL | CodeRL: Mastering Code Generation through Pretrained Models and Deep Reinforcement Learning | 2022-07 | 저장소 |
PPOCoder | Execution-based Code Generation using Deep Reinforcement Learning | 2023-01 | 저장소 |
RLTF | RLTF: Reinforcement Learning from Unit Test Feedback | 2023-07 | 저장소 |
3. 데이터셋 (Datasets)
(생략 / 아래 원문을 참고해주세요)
- 3.1 사전학습 (Pretraining)
- 3.2 벤치마크 (Benchmarks)
4. Recommended Readings
(생략 / 아래 원문을 참고해주세요)
5. Citation
@misc{zhang2023survey,
title={A Survey on Language Models for Code},
author={Ziyin Zhang and Chaoyu Chen and Bingchang Liu and Cong Liao and Zi Gong and Hang Yu and Jianguo Li and Rui Wang},
year={2023},
eprint={2311.07989},
archivePrefix={arXiv},
primaryClass={cs.CL}
}