ChatPaper.aiChatPaper

BioCoder: Бенчмарк для генерации биоинформатического кода с учетом контекстуальных прагматических знаний

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

August 31, 2023
Авторы: Xiangru Tang, Bill Qian, Rick Gao, Jiakang Chen, Xinyun Chen, Mark Gerstein
cs.AI

Аннотация

Предварительно обученные языковые модели, такие как ChatGPT, значительно улучшили генерацию кода. По мере увеличения масштаба этих моделей возникает растущая потребность в том, чтобы их выходные данные могли справляться с более сложными задачами. Кроме того, в биоинформатике генерация функциональных программ представляет дополнительные существенные трудности из-за объема предметных знаний, необходимости сложных операций с данными и запутанных функциональных зависимостей между операциями. В данной работе мы представляем BioCoder — эталонный набор, разработанный для оценки существующих предварительно обученных моделей в генерации биоинформатического кода. В контексте генерации кода функций BioCoder охватывает потенциальные зависимости пакетов, объявления классов и глобальные переменные. Он включает 1026 функций и 1243 метода на Python и Java, взятых из GitHub, а также 253 примера из проекта Rosalind. BioCoder включает фреймворк для фаззинг-тестирования, и мы применили его для оценки множества моделей, включая InCoder, CodeGen, CodeGen2, SantaCoder, StarCoder, StarCoder+, InstructCodeT5+ и ChatGPT. Наш детальный анализ этих моделей подчеркивает важность предметных знаний, прагматичной генерации кода и контекстуального понимания. Наш набор данных, эталонный набор, Docker-образы и скрипты, необходимые для тестирования, доступны по адресу 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