ChatPaper.aiChatPaper

BioCoder: Ein Benchmark für die Bioinformatik-Codegenerierung mit kontextuellem pragmatischem Wissen

BioCoder: A Benchmark for Bioinformatics Code Generation with Contextual Pragmatic Knowledge

August 31, 2023
Autoren: Xiangru Tang, Bill Qian, Rick Gao, Jiakang Chen, Xinyun Chen, Mark Gerstein
cs.AI

Zusammenfassung

Vortrainierte Sprachmodelle wie ChatGPT haben die Codegenerierung erheblich verbessert. Mit zunehmender Skalierung dieser Modelle besteht ein wachsender Bedarf, dass die Ausgabe komplexere Aufgaben bewältigen kann. Darüber hinaus stellt die Generierung funktionaler Programme in der Bioinformatik zusätzliche bemerkenswerte Herausforderungen dar, bedingt durch den Umfang des Domänenwissens, die Notwendigkeit komplizierter Datenoperationen und die komplexen funktionalen Abhängigkeiten zwischen diesen Operationen. Hier präsentieren wir BioCoder, einen Benchmark, der entwickelt wurde, um bestehende vortrainierte Modelle bei der Generierung von Bioinformatik-Code zu bewerten. Im Zusammenhang mit der Funktionscode-Generierung deckt BioCoder potenzielle Paketabhängigkeiten, Klassendeklarationen und globale Variablen ab. Es integriert 1026 Funktionen und 1243 Methoden in Python und Java von GitHub sowie 253 Beispiele aus dem Rosalind-Projekt. BioCoder beinhaltet ein Fuzz-Testing-Framework zur Bewertung, und wir haben es verwendet, um viele Modelle zu evaluieren, darunter InCoder, CodeGen, CodeGen2, SantaCoder, StarCoder, StarCoder+, InstructCodeT5+ und ChatGPT. Unsere detaillierte Analyse dieser Modelle unterstreicht die Bedeutung von Domänenwissen, pragmatischer Codegenerierung und kontextuellem Verständnis. Unser Datensatz, Benchmark, Docker-Images und die für das Testen erforderlichen Skripte sind alle unter https://github.com/gersteinlab/biocoder verfügbar.
English
Pre-trained language models like ChatGPT have significantly improved code generation. As these models scale up, there is an increasing need for the output to handle more intricate tasks. Moreover, in bioinformatics, generating functional programs poses additional notable challenges due to the amount of domain knowledge, the need for complicated data operations, and intricate functional dependencies between the operations. Here, we present BioCoder, a benchmark developed to evaluate existing pre-trained models in generating bioinformatics code. In relation to function-code generation, BioCoder covers potential package dependencies, class declarations, and global variables. It incorporates 1026 functions and 1243 methods in Python and Java from GitHub and 253 examples from the Rosalind Project. BioCoder incorporates a fuzz-testing framework for evaluation, and we have applied it to evaluate many models including InCoder, CodeGen, CodeGen2, SantaCoder, StarCoder, StarCoder+, InstructCodeT5+, and ChatGPT. Our detailed analysis of these models emphasizes the importance of domain knowledge, pragmatic code generation, and contextual understanding. Our dataset, benchmark, Docker images, and scripts required for testing are all available at https://github.com/gersteinlab/biocoder.
PDF120December 15, 2024