project
Multi-SWE-bench - ByteDanceのオープンソース多言語コード修正ベンチマーク
Multi-SWE-benchは、ByteDanceのDoubao Big Modelチームがオープンソース化した、初のマルチ言語対応コード修正ベンチマークです。SWE-benchをベースに、Pythonに加え、Java、TypeScriptなど7つの主要プログラミング言語を網羅した初のベンチマークです。
Multi-SWE-benchとは何ですか?
Multi-SWE-benchは、ByteDanceのDoubao Big Modelチームがオープンソース化した初のマルチ言語コード修正ベンチマークです。SWE-benchをベースに、Pythonに加え、Java、TypeScript、JavaScript、Go、Rust、C、C++の7つの主要プログラミング言語を初めて網羅し、「フルスタックエンジニアリング」のための真のベンチマークとなっています。データセットには、GitHubの課題から抽出した1632件の実際の修正タスクが含まれています。これらのタスクは、各サンプルに明確な問題の説明、正しい修正パッチ、再現可能なテスト環境があることを保証するために、厳密なスクリーニングと手動検証を受けています。タスクの難易度評価メカニズムが導入され、問題は簡単、中程度、難しいの3つのカテゴリに分類され、1行の変更から複数ファイル、複数ステップ、複数の意味的依存関係の問題まで、開発上の課題を網羅しています。
Multi-SWE-benchの主な機能
- 多言語コード修正評価業界初の多言語コード修復ベンチマークデータセットであるMulti-SWE-benchは、Pythonに加え、Java、TypeScript、JavaScript、Go、Rust、C、C++といった7つの主要プログラミング言語を網羅しています。これにより、様々なプログラミング言語環境における大規模モデルの自動コード修復能力をより包括的に評価することが可能になります。
- タスクの難易度このデータセットでは、タスクの難易度を評価する仕組みを導入し、問題を「簡単」「中程度」「難しい」の3つのカテゴリに分類しています。この評価方法は、1行の変更から複数のファイル、複数のステップ、複数の意味的依存関係に至るまで、幅広い開発上の課題に対応し、さまざまな能力レベルにおける大規模モデルのパフォーマンスをより体系的に測定できます。
- 実際のデータサポートMulti-SWE-benchの1632個のインスタンスはすべて、実際のオープンソースリポジトリ(GitHubのイシュー)から生成され、統一されたテスト基準を用いてプロの開発者によるレビューとスクリーニングを受けています。各サンプルには明確な問題の説明、適切な修正、再現可能なテスト環境が含まれており、データセットの品質と使いやすさが保証されています。
Multi-SWE-benchの技術原理
- データソースと品質管理データセットに含まれる1632件のインスタンスはすべて、実際のオープンソースリポジトリ(GitHubのイシュー)から取得され、プロの開発者による厳格なテストとレビューを受けています。構築プロセスにおいて、チームは厳格な5段階のデータ構築手順を採用しました。
- オープンソースリポジトリのスクリーニングGitHubの公開リポジトリを基に、複数の基準から高品質なプロジェクトリポジトリを選別します。
- プルリクエストのクロール問題に関連するプルリクエスト(PR)を収集し、重要な情報を抽出します。
- Docker環境のセットアップ各プルリクエストに対応するDockerコンテナを構築し、データセット内の各タスクが完全に実行可能であることを確認します。
- PRのフィルタリングと検証3段階のテストプロセス(元の状態、テストパッチのみの適用、テストパッチと修正パッチの両方の適用)を通じて、効果的な修正策を特定します。
- 手動検証データの信頼性と正確性を確保するため、手動による二重ラベル付けプロセスを導入しました。
- 学習支援の強化コード修復タスクにおける強化学習(RL)の活用を支援するため、チームはMulti-SWE-RLをオープンソース化しました。このコミュニティは、再現可能なDocker環境を備えた4723個の構造化トレーニングサンプルを提供しており、ワンクリックでの起動、自動評価、RLトレーニングフレームワークとの迅速な統合をサポートしています。この「評価+トレーニング」というデュアルエンジンアプローチは、大規模モデルの継続的な最適化を強力に支援します。
Multi-SWE-bench のプロジェクトアドレス
- プロジェクト公式サイト:https://multi-swe-bench.github.io/#/
- GitHubリポジトリ:https://github.com/multi-swe-bench/multi-swe-bench
- HuggingFaceデータセット:https://huggingface.co/datasets/ByteDance-Seed/Multi-SWE-bench
- arXiv技術論文:https://arxiv.org/pdf/2504.02605
Multi-SWE-benchの応用シナリオ
- コード修正自動化開発者は、Multi-SWE-benchでトレーニングされたモデルを使用することで、コード内のバグを自動的に特定して修正することができ、手動デバッグにかかる時間と作業量を削減できます。
- モデル性能の評価と改善このデータセットは、大規模モデルを評価するための体系的なベンチマークを提供し、開発者や研究者がさまざまなプログラミング言語やタスクの難易度におけるモデルのパフォーマンスを評価するのに役立ちます。
- プログラミング言語の比較研究異なるプログラミング言語のバグ修正能力を比較することで、研究者は各言語の長所と短所についてより深い理解を得ることができる。
- インテリジェントラーニングと教育開発者や学習者にとって、Multi-SWE-benchは学習とスキル向上のためのプラットフォームです。このデータセットを研究・活用することで、開発者は様々なプログラミング言語における一般的なエラーとその修正方法をより深く理解し、プログラミングスキルと問題解決能力を向上させることができます。