ChatPaper.aiChatPaper

BioCoder: Um Benchmark para Geração de Código em Bioinformática com Conhecimento Pragmático Contextual

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

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

Resumo

Modelos de linguagem pré-treinados como o ChatGPT melhoraram significativamente a geração de código. À medida que esses modelos aumentam em escala, há uma necessidade crescente de que a saída seja capaz de lidar com tarefas mais complexas. Além disso, em bioinformática, a geração de programas funcionais apresenta desafios adicionais notáveis devido à quantidade de conhecimento de domínio necessário, à necessidade de operações de dados complicadas e às dependências funcionais intrincadas entre essas operações. Aqui, apresentamos o BioCoder, um benchmark desenvolvido para avaliar modelos pré-treinados existentes na geração de código de bioinformática. Em relação à geração de código de funções, o BioCoder abrange possíveis dependências de pacotes, declarações de classes e variáveis globais. Ele incorpora 1026 funções e 1243 métodos em Python e Java do GitHub e 253 exemplos do Projeto Rosalind. O BioCoder incorpora um framework de fuzz-testing para avaliação, e o aplicamos para avaliar diversos modelos, incluindo InCoder, CodeGen, CodeGen2, SantaCoder, StarCoder, StarCoder+, InstructCodeT5+ e ChatGPT. Nossa análise detalhada desses modelos enfatiza a importância do conhecimento de domínio, da geração pragmática de código e da compreensão contextual. Nosso conjunto de dados, benchmark, imagens Docker e scripts necessários para testes estão todos disponíveis em 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.
PDF130February 9, 2026