[論文レビュー] BioCoder: A Benchmark for Bioinformatics Code Generation with Large Language Models
BioCoderは、GitHub より1,026個のPython関数と1,243個のJavaメソッド、Rosalind Projectの253例から成る、バイオインフォマティクス固有のコード生成を評価する包括的なベンチマークを導入した。このベンチマークは、長文脈(≥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/.
研究の動機と目的
- バイオインフォマティクスコード生成における包括的で分野特異的なベンチマークの不足に対処する。
- 査読済み論文から抽出した1,720のバイオインフォマティクスレポジトリを基に、実世界のバイオインフォマティクスコードの高品質で代表的なデータセットを構築する。
- 文脈長と分野特異的知識がバイオインフォマティクスタスクにおけるLLMのパフォーマンスに与える影響を評価する。
- コード生成モデルの信頼性とスケーラビリティを確保するためのファズァー評価フレームワークを開発する。
- BioCoderでのファインチューニングが、複雑なマルチファイル依存関係や分野特異的論理を扱う際のLLMのパフォーマンスを向上させることを実証する。
提案手法
- 査読済み論文から抽出した1,720のバイオインフォマティクスレポジトリを基に、クラス宣言やグローバル変数を含む完全な文脈を保ったまま、1,026個のPython関数と1,243個のJavaメソッドを収集した。
- Rosalind Projectから253のバイオインフォマティクス問題を統合し、DNA/RNA解析やシーケンス処理といったコアなトピックに焦点を当てた。
- 大規模なコードベースから関数仕様、コメント、依存関係を抽出するためのパーサーを設計し、ファイル間およびパッケージ間の関係を保持した。
- 生成された関数の自動的かつスケーラブルな実行を通じて、コードの正しさを評価するファズァー評価フレームワークを構築した。
- 1,000回の反復でPass@K評価を実施し、生成コードの機能的正しさと耐性を測定した。
- 記憶と真のコード生成能力の違いを明確にするためにアブレーションスタディを実施し、モデルの一般化能力を保証した。

実験結果
リサーチクエスチョン
- RQ1長文脈ウィンドウ(≥2600トークン)を持つLLMは、短い文脈を持つLLMに比べて、正しいバイオインフォマティクスコードを生成する際にどの程度優れているか?
- RQ2一般のプログラミング知識と比較して、バイオインフォマティクス分野特異的知識がLLMのパフォーマンスに与える影響は何か?
- RQ3BioCoderデータセットでファインチューニングを施すことで、LLMのバイオインフォマティクスタスクにおけるコード生成精度が顕著に向上するか?
- RQ4コメント記号(#)などのプロンプトフォーマット要素が、コード生成の信頼性を向上させる役割を果たすか?
- RQ5BioCoderベンチマークは、バイオインフォマティクスコード生成タスクの全範囲をどの程度代表しているか?
主な発見
- 長文脈(≥2600トークン)を持つモデルは、特にファイル間依存関係や複雑な関数呼び出しを処理する際、短い文脈を持つモデルを顕著に上回る。
- GPT-4は、InCoder や CodeGen といった小規模モデルに比べ、最大25%高いPass@Kスコアを達成しており、分野特異的知識による顕著なパフォーマンスギャップが示された。
- StarCoderをBioCoderでファインチューニングした結果、特定のプロンプト設定ではPass@Kが15%以上向上し、すべての設定で最低3%の向上が確認された。
- プロンプトにコメント記号(#)を含めることで、出力コードがより綺麗で実行可能になり、余分なテキストや実行時エラーが減少した。
- トピックモデリングを通じて、ベンチマークがバイオインフォマティクスのコアなワークフローにわたって高いカバレッジを示しており、分野全体を代表していることが確認された。
- アブレーションスタディにより、モデルが単に解決策を記憶しているのではなく、実際に正しいコードを生成していることが確認され、ベンチマークの評価の信頼性が裏付けられた。

より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。