ChatPaper.aiChatPaper

BigCodeBench : Évaluation de la génération de code avec des appels de fonctions variés et des instructions complexes

BigCodeBench: Benchmarking Code Generation with Diverse Function Calls and Complex Instructions

June 22, 2024
Auteurs: 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

Résumé

L'ingénierie logicielle automatisée a été grandement renforcée par les récents progrès des modèles de langage de grande taille (LLMs) pour la programmation. Bien que les benchmarks actuels aient montré que les LLMs peuvent accomplir diverses tâches d'ingénierie logicielle comme les développeurs humains, la majorité de leurs évaluations se limitent à des tâches algorithmiques courtes et autonomes. Résoudre des tâches de programmation complexes et pratiques nécessite la capacité d'utiliser divers appels de fonction comme outils pour implémenter efficacement des fonctionnalités telles que l'analyse de données et le développement web. De plus, l'utilisation de plusieurs outils pour résoudre une tâche nécessite un raisonnement compositionnel en comprenant avec précision des instructions complexes. Réunir ces deux caractéristiques peut représenter un défi majeur pour les LLMs. Pour évaluer dans quelle mesure les LLMs peuvent résoudre des tâches de programmation complexes et pratiques, nous introduisons Bench, un benchmark qui met les LLMs au défi d'invoquer plusieurs appels de fonction comme outils provenant de 139 bibliothèques et 7 domaines pour 1 140 tâches de programmation granulaires. Pour évaluer rigoureusement les LLMs, chaque tâche de programmation comprend 5,6 cas de test avec une couverture de branches moyenne de 99 %. De plus, nous proposons une variante de Bench orientée langage naturel, Benchi, qui transforme automatiquement les docstrings originaux en instructions courtes ne contenant que les informations essentielles. Notre évaluation approfondie de 60 LLMs montre que les LLMs ne sont pas encore capables de suivre des instructions complexes pour utiliser les appels de fonction avec précision, avec des scores allant jusqu'à 60 %, nettement inférieurs à la performance humaine de 97 %. Les résultats soulignent la nécessité de progrès supplémentaires dans ce domaine.
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

PDF478November 29, 2024