[논문 리뷰] A Survey of Large Language Models for Code: Evolution, Benchmarking, and Future Trends
이 논문은 소프트웨어 공학에 특화된 Code LLMs과 일반 LLMs를 체계적으로 비교하고, 149개의 Code LLM 연구(스크리닝 후 134) 를 수록하며, 성능 차이를 분석하고 어떤 LLM이 어떤 SE 작업에 우수한지 매핑한다.
General large language models (LLMs), represented by ChatGPT, have demonstrated significant potential in tasks such as code generation in software engineering. This has led to the development of specialized LLMs for software engineering, known as Code LLMs. A considerable portion of Code LLMs is derived from general LLMs through model fine-tuning. As a result, Code LLMs are often updated frequently and their performance can be influenced by the base LLMs. However, there is currently a lack of systematic investigation into Code LLMs and their performance. In this study, we conduct a comprehensive survey and analysis of the types of Code LLMs and their differences in performance compared to general LLMs. We aim to address three questions: (1) What LLMs are specifically designed for software engineering tasks, and what is the relationship between these Code LLMs? (2) Do Code LLMs really outperform general LLMs in software engineering tasks? (3) Which LLMs are more proficient in different software engineering tasks? To answer these questions, we first collect relevant literature and work from five major databases and open-source communities, resulting in 134 works for analysis. Next, we categorize the Code LLMs based on their publishers and examine their relationships with general LLMs and among themselves. Furthermore, we investigate the performance differences between general LLMs and Code LLMs in various software engineering tasks to demonstrate the impact of base models and Code LLMs. Finally, we comprehensively maintained the performance of LLMs across multiple mainstream benchmarks to identify the best-performing LLMs for each software engineering task. Our research not only assists developers of Code LLMs in choosing base models for the development of more advanced LLMs but also provides insights for practitioners to better understand key improvement directions for Code LLMs.
연구 동기 및 목표
- 소프트웨어 엔지니어링용으로 설계된 LLM이 무엇이며 서로 어떤 관계가 있는지 식별한다.
- Code LLMs가 SE 작업에서 일반 LLMs보다 우수한지 평가한다.
- 다양한 SE 작업 및 벤치마크에서 어떤 LLM이 어떤 task에서 더 우수한지 목록화한다.
제안 방법
- 미리 정의된 키워드를 사용하여 네 개의 데이터베이스(GitHub, dblp, Google Scholar, arXiv)에서 문헌을 수집한다.
- 카드 분류(닫힘)를 적용하여 논문을 관련성 여부로 분류한다.
- 스크리닝 및 snowballing을 통해 134편의 논문을 선별하고 개발 관계 및 성능 결과를 수동으로 추출한다.
- SE 작업 전반에서 보고된 실험 결과를 사용하여 Code LLMs와 일반 LLMs를 비교한다.
- 주요 벤치마크(HumanEval) 등에서 126 Code LLMs의 성능 점수를 유지하고 분석한다.
실험 결과
연구 질문
- RQ1RQ1: 어떤 LLM이 소프트웨어 엔지니어링 작업을 위해 설계되었으며 서로 어떻게 관련되어 있는가?
- RQ2RQ2: Code LLMs가 소프트웨어 엔지니어링 작업에서 일반 LLMs보다 우수한가?
- RQ3RQ3: 서로 다른 소프트웨어 엔지니어링 작업에서 어떤 LLM이 더 능숙한가?
주요 결과
- Code LLMs가 SE 작업에 대해 미세 조정된 경우 일반적으로 기본 모델보다 성능이 더 우수하다.
- 매개변수 수가 비슷할 때 Code LLMs가 일반 LLMs보다 우수한 경향이 있다.
- State-of-the-art Code LLMs (예: CodeFuse-CodeLlama-34B) 는 일부 설정에서 코드 생성 벤치마크에서 GPT-4를 능가할 수 있으며, GPT-4는 다른 작업에서 여전히 경쟁력이 있다.
- 본 연구는 126 Code LLMs의 성능 점수를 유지하고 주요 SE 벤치마크 및 작업에 걸쳐 성능을 분석한다.
- 본 리뷰는 개발자 소속 및 작업 성능에 따라 구성된 Code LLMs의 최초의 체계적 평가이다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.