[논문 리뷰] BioCoder: A Benchmark for Bioinformatics Code Generation with Large Language Models
BioCoder는 GitHub에서 1,026개의 파이썬 함수와 1,243개의 자바 메서드, 그리고 253개의 Rosalind Project 예제를 활용하여 생물정보학 전용 코드 생성을 평가하기 위한 종합적인 벤치마크를 도입한다. 이 벤치마크는 장기적인 컨텍스트(≥2600 토큰)를 요구하고 생물정보학 분야의 전문 지식을 갖춘 모델이 일반 모델보다 뛰어난 성능을 보임을 드러내며, GPT-4는 더 작은 모델들보다 최대 25% 높은 pass@K 점수를 기록한다.
Pre-trained large language models (LLMs) have significantly improved code generation. As these models scale up, there is an increasing need for the output to handle more intricate tasks and to be appropriately specialized to particular domains. Here, we target bioinformatics due to the amount of domain knowledge, algorithms, and data operations this discipline requires. We present BioCoder, a benchmark developed to evaluate LLMs in generating bioinformatics-specific code. BioCoder spans much of the field, covering cross-file dependencies, class declarations, and global variables. It incorporates 1,026 Python functions and 1,243 Java methods extracted from GitHub, along with 253 examples from the Rosalind Project, all pertaining to bioinformatics. Using topic modeling, we show that the overall coverage of the included code is representative of the full spectrum of bioinformatics calculations. BioCoder incorporates a fuzz-testing framework for evaluation. We have applied it to evaluate various models including InCoder, CodeGen, CodeGen2, SantaCoder, StarCoder, StarCoder+, InstructCodeT5+, GPT-3.5, and GPT- 4. Furthermore, we fine-tuned one model (StarCoder), demonstrating that our training dataset can enhance the performance on our testing benchmark (by >15% in terms of Pass@K under certain prompt configurations and always >3%). The results highlight two key aspects of successful models: (1) Successful models accommodate a long prompt (> 2,600 tokens) with full context, including functional dependencies. (2) They contain domain-specific knowledge of bioinformatics, beyond just general coding capability. This is evident from the performance gain of GPT-3.5/4 compared to the smaller models on our benchmark (50% vs. up to 25%). Availability and implementation: Code is available at: https://github.com/gersteinlab/biocoder and https://biocoder-benchmark. github.io/.
연구 동기 및 목표
- 생물정보학 코드 생성을 평가하기 위한 종합적이고 도메인 특화된 벤치마크의 부족을 보완한다.
- 피어 리뷰된 논문에서 유래한 실제 생물정보학 코드를 포함한 고품질, 대표성 있는 데이터셋을 구축한다.
- 생물정보학 과제에서 컨텍스트 길이와 도메인 특화 지식이 LLM 성능에 미치는 영향을 평가한다.
- 코드 생성 모델의 신뢰성 있고 확장 가능한 평가를 보장하기 위해 퍼저 테스팅 프레임워크를 개발한다.
- BioCoder로의 희소 조정이 복잡한 다중 파일 종속성과 도메인 특화 논리를 처리하는 데 있어 LLM 성능 향상에 기여함을 입증한다.
제안 방법
- 피어 리뷰된 논문에서 유래한 1,720개의 생물정보학 레포지토리에서 전체 컨텍스트(클래스 선언 및 전역 변수 포함)를 포함한 1,026개의 파이썬 함수와 1,243개의 자바 메서드를 추출한다.
- 생물정보학의 核심 주제인 DNA/RNA 분석 및 시퀀스 처리에 중점을 두고 Rosalind Project에서 253개의 생물정보학 문제를 통합한다.
- 대규모 코드베이스에서 함수 사양, 주석, 종속성을 추출하기 위한 파싱 툴을 설계하여 파일 간 및 패키지 간 관계를 유지한다.
- 자동화되고 확장 가능한 생성 함수 실행을 통해 코드 정확성을 평가하기 위한 퍼저 테스팅 프레임워크를 구축한다.
- 기능 정확성과 생성 코드의 견고성을 측정하기 위해 1,000회 반복하여 Pass@K 평가를 수행한다.
- 기억 저장과 진정한 코드 생성 능력 간의 차이를 구분하기 위해 추론 실험을 실시하여 모델의 일반화 능력을 확보한다.

실험 결과
연구 질문
- RQ1장기 컨텍스트 창문(≥2600 토큰)을 갖춘 LLM이 짧은 컨텍스트를 갖춘 모델보다 생물정보학 코드 생성에서 얼마나 더 뛰어난가?
- RQ2일반적인 프로그래밍 지식과 비교했을 때 생물정보학 분야의 전문 지식은 LLM 성능에 어떤 영향을 미치는가?
- RQ3BioCoder 데이터셋으로의 희소 조정이 생물정보학 과제에서 LLM의 코드 생성 정확도를 상당히 향상시킬 수 있는가?
- RQ4주석 기호(#看似)와 같은 프롬프트 포맷팅 요소가 코드 생성의 신뢰성 향상에 어떤 역할을 하는가?
- RQ5BioCoder 벤치마크는 생물정보학 코드 생성 과제의 전반적인 스펙트럼을 얼마나 잘 대변하는가?
주요 결과
- 장기 컨텍스트(≥2600 토큰)를 갖춘 모델은 파일 간 종속성과 복잡한 함수 호출을 처리할 때 특히 짧은 컨텍스트를 갖춘 모델보다 뚜렷이 뛰어난 성능을 보인다.
- GPT-4는 InCoder나 CodeGen과 같은 더 작은 모델들보다 최대 25% 높은 Pass@K 점수를 기록하여 도메인 특화 지식으로 인한 뚜렷한 성능 격차를 보였다.
- BioCoder로 StarCoder를 희소 조정하면 특정 프롬프트 구성에서는 Pass@K 점수가 15% 이상 향상되었고, 모든 구성에서는 최소 3% 향상되었다.
- 프롬프트에 주석 기호(#)를 포함시킴으로써 더 깔끔하고 실행 가능한 코드 출력이 가능해졌으며, 불필요한 텍스트와 런타임 오류가 감소했다.
- 주제 모델링를 통해 생물정보학 주제에 대한 높은 커버리지가 입증되었으며, 핵심 생물정보학 워크플로우 전반에 걸쳐 대표성 있는 것으로 확인되었다.
- 추론 실험 결과, 모델이 단순히 솔루션을 기억하고 있는 것이 아니라 실제로 정확한 코드를 생성하고 있음을 확인하여, 이 벤치마크가 평가에 신뢰할 수 있음을 입증했다.

더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.