HyperAIHyperAI
vor 2 Monaten

BigCodeBench: Benchmarking Code Generation with Diverse Function Calls and Complex Instructions BigCodeBench: Benchmarking der Codegenerierung mit diversen Funktionsaufrufen und komplexen Anweisungen

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
BigCodeBench: Benchmarking Code Generation with Diverse Function Calls and Complex Instructions
BigCodeBench: Benchmarking der Codegenerierung mit diversen Funktionsaufrufen und komplexen Anweisungen
Abstract

Das automatisierte Software Engineering wurde durch die jüngsten Fortschritte in den großen Sprachmodellen (LLMs) für das Programmieren erheblich gefördert. Obwohl aktuelle Benchmarks gezeigt haben, dass LLMs verschiedene Software-Engineering-Aufgaben wie menschliche Entwickler ausführen können, sind die meisten ihrer Bewertungen auf kurze und selbstständige algorithmische Aufgaben beschränkt. Die Lösung anspruchsvoller und praktischer Programmieraufgaben erfordert jedoch die Fähigkeit, vielfältige Funktionsaufrufe als Werkzeuge zu nutzen, um Funktionalitäten wie Datenanalyse und Webentwicklung effizient umzusetzen. Zudem bedarf es zusammengesetzten Denkens, um komplexe Anweisungen genau zu verstehen und mehrere Werkzeuge zur Lösung einer Aufgabe einzusetzen. Beide dieser Eigenschaften stellen eine große Herausforderung für LLMs dar.Um abzuschätzen, wie gut LLMs anspruchsvolle und praktische Programmieraufgaben lösen können, stellen wir Bench vor, einen Benchmark, der LLMs dazu herausfordert, mehrere Funktionsaufrufe als Werkzeuge aus 139 Bibliotheken und 7 Domänen für 1.140 feingranulare Programmieraufgaben zu verwenden. Um LLMs streng zu bewerten, umfasst jede Programmieraufgabe durchschnittlich 5,6 Testfälle mit einem Zweigabdeckungsgrad von 99 %. Darüber hinaus schlagen wir eine natürlichsprachorientierte Variante von Bench vor, nämlich Benchi, die die Original-Docstrings automatisch in kurze Anweisungen mit wesentlichen Informationen transformiert.Unsere umfangreiche Auswertung von 60 LLMs zeigt, dass diese Modelle noch nicht in der Lage sind, komplexe Anweisungen zu befolgen und Funktionsaufrufe präzise zu verwenden; ihre Scores erreichen maximal 60 % und liegen deutlich unter der menschlichen Leistung von 97 %. Diese Ergebnisse unterstreichen die Notwendigkeit weiterer Fortschritte in diesem Bereich.

BigCodeBench: Benchmarking Code Generation with Diverse Function Calls and Complex Instructions BigCodeBench: Benchmarking der Codegenerierung mit diversen Funktionsaufrufen und komplexen Anweisungen | Neueste Forschungsarbeiten | HyperAI