ChatPaper.aiChatPaper

BioCoder : Un benchmark pour la génération de code en bioinformatique intégrant des connaissances pragmatiques contextuelles

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

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

Résumé

Les modèles de langage pré-entraînés comme ChatGPT ont considérablement amélioré la génération de code. À mesure que ces modèles augmentent en taille, il devient de plus en plus nécessaire que leurs sorties puissent gérer des tâches plus complexes. De plus, en bioinformatique, la génération de programmes fonctionnels présente des défis supplémentaires notables en raison de la quantité de connaissances spécifiques au domaine, de la nécessité d'opérations de données complexes et des dépendances fonctionnelles complexes entre ces opérations. Nous présentons ici BioCoder, un benchmark développé pour évaluer les modèles pré-entraînés existants dans la génération de code bioinformatique. En ce qui concerne la génération de code de fonction, BioCoder couvre les dépendances potentielles de packages, les déclarations de classes et les variables globales. Il intègre 1026 fonctions et 1243 méthodes en Python et Java provenant de GitHub, ainsi que 253 exemples du projet Rosalind. BioCoder intègre un framework de fuzz-testing pour l'évaluation, et nous l'avons appliqué pour évaluer de nombreux modèles, notamment InCoder, CodeGen, CodeGen2, SantaCoder, StarCoder, StarCoder+, InstructCodeT5+ et ChatGPT. Notre analyse détaillée de ces modèles met en évidence l'importance des connaissances spécifiques au domaine, de la génération pragmatique de code et de la compréhension contextuelle. Notre ensemble de données, benchmark, images Docker et scripts nécessaires pour les tests sont tous disponibles à l'adresse https://github.com/gersteinlab/biocoder.
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