BigCodeBench: 다양한 함수 호출과 복잡한 명령어를 통한 코드 생성 벤치마킹
BigCodeBench: Benchmarking Code Generation with Diverse Function Calls and Complex Instructions
June 22, 2024
저자: Terry Yue Zhuo, Minh Chien Vu, Jenny Chim, Han Hu, Wenhao Yu, Ratnadira Widyasari, Imam Nur Bani Yusuf, Haolan Zhan, Junda He, Indraneil Paul, Simon Brunner, Chen Gong, Thong Hoang, Armel Randy Zebaze, Xiaoheng Hong, Wen-Ding Li, Jean Kaddour, Ming Xu, Zhihan Zhang, Prateek Yadav, Naman Jain, Alex Gu, Zhoujun Cheng, Jiawei Liu, Qian Liu, Zijian Wang, David Lo, Binyuan Hui, Niklas Muennighoff, Daniel Fried, Xiaoning Du, Harm de Vries, Leandro Von Werra
cs.AI
초록
대규모 언어 모델(LLMs)의 프로그래밍 분야에서의 최근 발전은 자동화된 소프트웨어 공학을 크게 강화했습니다. 현재 벤치마크는 LLMs가 인간 개발자처럼 다양한 소프트웨어 공학 작업을 수행할 수 있음을 보여주지만, 대부분의 평가는 짧고 독립적인 알고리즘 작업에 국한되어 있습니다. 도전적이고 실용적인 프로그래밍 작업을 해결하기 위해서는 데이터 분석 및 웹 개발과 같은 기능을 효율적으로 구현하기 위해 다양한 함수 호출을 도구로 활용할 수 있는 능력이 필요합니다. 또한, 여러 도구를 사용하여 작업을 해결하려면 복잡한 지시사항을 정확히 이해하는 구성적 추론이 필요합니다. 이 두 가지 특성을 모두 충족하는 것은 LLMs에게 큰 도전이 될 수 있습니다. LLMs가 도전적이고 실용적인 프로그래밍 작업을 얼마나 잘 해결할 수 있는지 평가하기 위해, 우리는 Bench라는 벤치마크를 소개합니다. 이 벤치마크는 LLMs가 139개의 라이브러리와 7개의 도메인에서 1,140개의 세분화된 프로그래밍 작업을 위해 여러 함수 호출을 도구로 활용하도록 요구합니다. LLMs를 엄격하게 평가하기 위해, 각 프로그래밍 작업은 평균 99%의 분기 커버리지를 가진 5.6개의 테스트 케이스를 포함합니다. 또한, 우리는 Bench의 자연어 지향 변형인 Benchi를 제안합니다. Benchi는 원래의 문서 문자열을 필수 정보만 포함한 짧은 지시사항으로 자동 변환합니다. 60개의 LLMs에 대한 광범위한 평가 결과, LLMs는 복잡한 지시사항을 따라 정확하게 함수 호출을 사용하는 데 아직 능숙하지 않으며, 최대 60%의 점수를 기록하여 인간의 97% 성능보다 현저히 낮습니다. 이러한 결과는 이 분야에서의 추가 발전이 필요함을 강조합니다.
English
Automated software engineering has been greatly empowered by the recent
advances in Large Language Models (LLMs) for programming. While current
benchmarks have shown that LLMs can perform various software engineering tasks
like human developers, the majority of their evaluations are limited to short
and self-contained algorithmic tasks. Solving challenging and practical
programming tasks requires the capability of utilizing diverse function calls
as tools to efficiently implement functionalities like data analysis and web
development. In addition, using multiple tools to solve a task needs
compositional reasoning by accurately understanding complex instructions.
Fulfilling both of these characteristics can pose a great challenge for LLMs.
To assess how well LLMs can solve challenging and practical programming tasks,
we introduce Bench, a benchmark that challenges LLMs to invoke multiple
function calls as tools from 139 libraries and 7 domains for 1,140 fine-grained
programming tasks. To evaluate LLMs rigorously, each programming task
encompasses 5.6 test cases with an average branch coverage of 99%. In addition,
we propose a natural-language-oriented variant of Bench, Benchi, that
automatically transforms the original docstrings into short instructions only
with essential information. Our extensive evaluation of 60 LLMs shows that LLMs
are not yet capable of following complex instructions to use function calls
precisely, with scores up to 60%, significantly lower than the human
performance of 97%. The results underscore the need for further advancements in
this area.Summary
AI-Generated Summary