ChatPaper.aiChatPaper

BigCodeBench: Avaliação de Desempenho da Geração de Código com Chamadas de Funções Diversas e Instruções Complexas

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

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

Resumo

A engenharia de software automatizada tem sido grandemente potencializada pelos recentes avanços em Modelos de Linguagem de Grande Escala (LLMs) para programação. Enquanto benchmarks atuais têm mostrado que LLMs podem realizar diversas tarefas de engenharia de software como desenvolvedores humanos, a maioria de suas avaliações está limitada a tarefas algorítmicas curtas e autocontidas. Resolver tarefas desafiadoras e práticas de programação requer a capacidade de utilizar chamadas de função diversas como ferramentas para implementar eficientemente funcionalidades como análise de dados e desenvolvimento web. Além disso, usar múltiplas ferramentas para resolver uma tarefa requer raciocínio composicional ao compreender com precisão instruções complexas. Atender a ambas as características pode representar um grande desafio para LLMs. Para avaliar quão bem LLMs podem resolver tarefas desafiadoras e práticas de programação, apresentamos o Bench, um benchmark que desafia LLMs a invocar múltiplas chamadas de função como ferramentas de 139 bibliotecas e 7 domínios para 1.140 tarefas de programação detalhadas. Para avaliar LLMs de forma rigorosa, cada tarefa de programação engloba 5,6 casos de teste com uma cobertura média de ramificação de 99%. Além disso, propomos uma variante orientada à linguagem natural do Bench, Benchi, que transforma automaticamente as docstrings originais em instruções curtas contendo apenas informações essenciais. Nossa extensa avaliação de 60 LLMs mostra que os LLMs ainda não são capazes de seguir instruções complexas para utilizar chamadas de função com precisão, com pontuações de até 60%, significativamente inferiores ao desempenho humano de 97%. Os resultados destacam a necessidade de avanços adicionais nesta área.
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.
PDF488November 29, 2024