Gym型インタラクティブ環境 / arXiv:2505.07782v1
MLE-Dojo:
LLMエージェントのための
機械学習エンジニアリング環境
200以上の実世界Kaggleコンペティションを基盤に、LLMエージェントが「試行・デバッグ・改善」を反復できる、実行可能なGym型環境。本レポートは手法・提案フレームワーク・技術パイプラインに焦点を当て、原典の事実と著者の主張・解釈・不明点を区別して整理する。
本レポートの内容は arXiv HTML版(v1)から抽出したテキスト・表のみに基づく。図(Figure 1・6〜14など)の画像は読み取っておらず、図に依存する数値や形状は本文記述の範囲でのみ扱う。外部の二次情報源は参照していない。
エグゼクティブサマリー
3行で言うと
- 事実MLE-Dojoは、200以上の実世界Kaggleコンペを基盤にしたGym型・完全実行可能なMLEエージェント環境で、静的データセットや単発評価ではなく反復的なフィードバックループを提供する。
- 事実環境はPOMDPとして定式化され、観測空間 𝒪・行動空間 𝒜・報酬空間 ℛ を持つ。報酬は人間リーダーボード上の相対順位 HumanRank Score([0,1])。タスクは 150(学習):50(評価) に分割され、SFTとRLの両方の軌跡サンプリングを想定する。
- 事実8つのフロンティアLLMを評価し、反復的な改善は見られるものの、長期的(long-horizon)な解の自律生成と複雑なエラー解決には依然として大きな限界があると報告。解釈論文の実験は既製モデルの評価が中心で、実際にSFT/RLで学習したエージェントの結果は本文には示されていない。
01 — 問題設定
なぜ「インタラクティブな実行環境」が要るのか
事実MLE(機械学習エンジニアリング)は、その本質的な複雑さ・専門知識・反復的な実験の必要性から、コーディング一般とは異なる難しさを持つ。著者は、自律的なMLEエージェントの開発が「まだ揺籃期にある」原因を、包括的なベンチマーク・実行可能な学習環境・標準化された評価枠組みの欠如に帰している。
既存ベンチマークの限界
- 事実多くは孤立したタスク(データ分析・可視化など)や、対話性のない狭いコンペ設定に留まる(DS-1000・等)。
- 事実MLE-Bench・DSBenchはタスク多様性を広げた(それぞれ75・74コンペ)が、反復実験・ファインチューニング・RLを支える対話的環境を欠く。
- 事実SWE(ソフトウェア工学)タスクはGitHub issue等から容易に調達できるが、MLEは体系的にキュレートされたデータと標準化された学習データを必要とし、これが既存環境に欠けている。
著者主張MLE-Dojoは「包括的なMLEタスク網羅」と「完全に対話可能な実行環境」を結合し、先行のML-Gym(13評価タスク)等をタスク量・複雑さの両面で大きく拡張する、と位置づける。
02 — フレームワーク全体像
POMDPとしてのエージェント–環境ループ
事実エージェントから見ると、環境はタスク空間 𝒫 からサンプルされた問題 p ∈ 𝒫 を中心に構成される。各ステップの相互作用は部分観測マルコフ決定過程(POMDP)として定式化される。
事実各タスク環境は、データセット・評価指標・分析結果・コード実行結果・エラーメッセージ・相互作用履歴といった必須情報を保持する。エージェントは典型的に、タスク情報の要求・コードの記述と実行・生成コードの評価・履歴の取得・リセットといった行動でタスクを解く。
著者主張モジュラーなアーキテクチャがエージェントの能力と環境を分離(decouple)し、多様なツール・データソースとのシームレスな統合、相互運用性・スケーラビリティ・再現性を実現する。
03 — モジュラーインターフェース
4つの中核モジュールと単一の env.step()
事実各コンポーネントは独立かつ協調的に動作し、完全に疎結合で、統一された登録(register)機構を通じて拡張できる。論文は以下の4モジュールを中核と定義する。
Error(エラー)
エラー型の包括的な階層を符号化し、細粒度のデバッグと環境からの有益なフィードバックを可能にする。
Interface(インターフェース)
ネイティブ環境行動の実行・相互作用ロジックを司り、エージェント–環境通信の背骨となる。
Feedback(フィードバック)
相互作用の結果を構造化・解釈可能なフィードバックへ変換し、エージェントの挙動と評価を導く。
Metric(評価指標)
汎用のメトリック基底クラスを定義し、コンペ固有の評価指標を標準化・再利用可能な形で実装できる。
# 自作モジュールでの拡張も、既製環境の直接利用も可能
obs, reward, done, info = env.step(action_type, action_args)
事実論文は、エージェントのカスタマイズ/開発の障壁を下げるため、相互作用が env.step(action_type, action_args) への単一呼び出しで済むと述べる。引数名・戻り値の正確なシグネチャは本文では完全には定義されていない(不明)。
04 — 拡張可能なタスク空間 𝒫
Docker隔離 + サンドボックス実行
- 事実各タスクは個別のDockerコンテナで実行され、再現性とタスク間の独立性を担保する。
- 事実コンテナ内にサンドボックスを実装し、時間制限・GPU/CPUメモリ制約などの実験設定を構成可能にして、制御された安全で統一的な環境を提供する。
- 事実環境をprivate/publicのセグメントに分離し、一部ディレクトリはアクセス不可(private)、他は共有(public)とすることで、安全で信頼できるテスト空間を作る。
プラグアンドプレイのタスク追加
事実新規タスクのために統一フォーマットを定め、(1) 基本情報(コンペ説明・サンプル提出)、(2) prepare.py による整形済みデータ分割、(3) コンペ固有指標で評価されるpublic/privateリーダーボード、を維持する。これに従えば利用者は自前コンペを容易に組み込める。
competition/ ├─ data/ │ ├─ private/ # test_answer.csv, *_leaderboard.csv │ └─ public/ # train/test, description.txt, │ # sample_submission.csv ├─ utils/ │ ├─ prepare.py # データ整形・分割 │ └─ metric.py # コンペ固有の評価指標 └─ info/ (任意) # web_url.txt, raw_description.txt 等
05 — タスク・データセット構築
~600候補から200リリースへ
事実初期に約600のKaggleコンペから出発し、説明の明確さ・データ可用性・評価指標の妥当性で手動審査。過大・扱いにくいデータを除外し、挑戦性と計算的実現可能性のバランスをとって第1リリースの200コンペを得た。
出所の内訳
| ソース | 件数 | 備考 |
|---|---|---|
| MLE-Bench | 68 | 入手不可・過大・特定パッケージ密結合の7件を除外 |
| DSBench | 74 | — |
| Kaggle公式から追加収集 | 75 | 独自にスクレイプ・整形 |
| 重複除去後の合計 | 200+ | ユニークなタスク集合 |
事実出典:本文 §3.2。単純合計(68+74+75=217)から重複を除いて「200超」としている。
タスクの広がり
- 事実4大ドメイン:テーブルデータ・コンピュータビジョン(CV)・自然言語処理(NLP)・MLE-Lite。合計15種の具体的タスク型を含む。
- 事実MLE-Lite はMLE-Benchの軽量サブセット(22コンペ)で、CV・NLP・Tabular・Audioを含む(評価スイートへの取り込み容易性を重視)。
- 事実各タスクは MLE-Bench に倣い統一構造へ標準化:(1) 説明、(2) train/test分割した元データ、(3) ローカル評価クラス、(4) リーダーボードのスナップショット。
- 解釈4大ドメインに「Audio」は集計上含まれないが、MLE-Liteの内訳としては音声タスクも存在する点に注意(評価表の列はMLE-Lite/Tabular/NLP/CVの4分類)。
事実「初心者すぎず難しすぎない」「多数の人間参加者が完了した」軽量タスクを選定。解釈これは検証容易性と人間リーダーボードの統計的厚み(HumanRank報酬の信頼性)を確保するための設計判断と読める。
06 — 観測空間 𝒪
5つの観測コンポーネント
事実MLE-Dojoはリッチな観測空間を5要素で提供する。
CompileError/RuntimeError を構造化。成功時でも提出ファイルの形式不備(列不一致など)を報告。事実会話履歴は推論モデルの拡張思考過程の記録に適し、環境記録は自然言語対話を前提としないコーディング特化LLMに適する。解釈対話型LLMとコード生成型エージェントの両方の足場(scaffold)に互換させるための分岐と読める。
07 — 拡張可能な行動空間 𝒜
5つの基本アクション + ユーザー定義ポータル
事実基底の行動空間は生の実行可能Pythonコード。エージェントは情報を要求し、コードを生成し、サンドボックス内のインタプリタへ接続する。既定で拡張可能な5アクションを提供する。
| アクション | 役割 |
|---|---|
request_info | タスク説明・サンプル提出・データ/出力ディレクトリ・データ構造を取得(剪定なしで全情報を返す) |
validate_code | 構文・実行時の軽量検証。提出要件なしのコンパイル試行で、デバッグや情報printの手段となる |
execute_code | 完全実行・提出検証・評価。1回の呼び出し=1回の本提出。これを通じてのみスコアが付く |
get_history | 過去の経験へアクセスし、メモリからの学習を可能にする |
reset | 環境全体をリセットし最初からやり直す既定機構 |
事実出典:本文 §4.5。execute_code の呼び出し回数に制限を設けることで、方法論・実験設計の柔軟な要件に対応できる。
事実ユーザー定義アクションポータルを提供。ポータル経由で登録しコンテキストに与えれば、エージェントは新しいアクションを学習して問題解決に活用できる。
08 — 報酬空間とフィードバック
HumanRank Score:人間リーダーボード上の相対位置
事実コンペごとに指標(accuracy・F1など)も範囲も異なるため、絶対性能をそのまま報酬にするのは不正確。著者は、既存ベンチの粗いメダルではなく人間リーダーボード上の相対順位を、連続的で細粒度な報酬として用いることを提案する。
s = 1 − p / N # p: 提出の順位, N: 総提出数 # s は「上回った人間参加者の割合」を表す(高いほど良い) # public/private 各リーダーボードで独立に算出し、その平均を最終報酬とする
- 事実元の性能指標と整合:生スコアが高いほどHumanRankも高い(指標に依らず狭義に正の相関)。
- 事実[0,1]に正規化され、タスク間のスコア桁差を解消し、統一的で情報量のある報酬として機能する。
- 事実public/private間のバイアスを避けるため、各リーダーボードで独立に相対スコアを算出し平均する。
09 — インタラクションループ
1セッションの流れ(概念図)
事実論文はFigure 5で「理論モデル(左)と具体的なPython API(右)」としてループを提示している。以下は本文記述から再構成した概念的な擬似コードであり、正確な実装シグネチャではない(解釈)。
obs = env.reset(task=p) # p ∈ 𝒫 をサンプル while not done and steps < 15: # 最大15ステップ a = agent.act(obs, history) # request_info / validate_code / # execute_code / get_history / reset obs, reward, done, info = env.step(a.type, a.args) # reward = HumanRank ∈ [0,1](execute_code 成功時のみ)
request_info でタスク・データ構造を把握validate_code で軽量に検証・printexecute_code で提出生成・評価(=1提出)事実応答は厳格なJSON(action と params)で1択。要件には「全情報をまず要求」「data_dir から読む」「提出は output_dir にtestと同じ長さで保存」「可視化・作図は禁止」「コードは自己完結」などが含まれる。
10 — 学習・評価フロー
SFT・RLの軌跡サンプリングと評価設定
事実完全実行可能な環境が、教師ありファインチューニング(SFT)とRLの両方での包括的なエージェント学習を支える。150タスクの学習セットが軌跡サンプリングを提供し、リアルなデータサンプリングとリアルタイムの結果検証を可能にする。
評価の環境設定(§5.1)
| 項目 | 設定 |
|---|---|
| 最大ステップ数 | 15(履歴へのフルアクセスあり) |
| 最大実行時間 | 1セッションあたり12時間 |
| GPUメモリ | 32GBに制限 |
| 入力トークン上限 | 50,000 |
| 出力トークン上限 | 1ラウンドあたり8,192 |
| 提出回数 | 無制限(継続的改善のため) |
| サンプリング | 非推論モデルは temperature=0.0 / top-p=1.0、各タスク2回実行の最良を採用 |
評価指標(§5.1, Appendix E)
- 事実AUP(Area Under the Performance Profile):ML-Gym由来。性能プロファイルを積分しロバスト性を1スカラーに集約。実行不能な解には最悪実行性能に対するペナルティを付与。
- 事実HumanRank Score(H-Rank, %):人間リーダーボード上の相対順位(絶対的な性能の物差し)。
- 事実Elo ranking:Chatbot Arena方式。各コンペを2モデルの「対戦」と見なし勝敗から算出。スケール S=400・初期 R₀=1000・ブートストラップ R=100回(固定シード)で中央値を報告。
解釈環境はSFT/RLを「支援する」と明記されるが、本文の実験(Table 2等)は既製フロンティアLLMの推論時評価であり、MLE-Dojo上で実際にSFT/RL学習したエージェントの定量結果は抽出テキスト内に見当たらない。学習用途は能力(capability)としての提示に留まると読むのが妥当。
11 — 評価結果(ハイレベル)
8モデル × 4ドメインの傾向
事実以下は Table 2 から抽出した HumanRank(%) の値。読みやすさのため4ドメインのH-Rankのみを掲載(AUP・Eloは本文・別記)。横スクロールで全列を確認できる。
| モデル | MLE-Lite | Tabular | NLP | CV |
|---|---|---|---|---|
| gpt-4o-mini | 21.21 | 15.37 | 13.14 | 10.17 |
| gpt-4o | 27.85 | 18.97 | 29.97 | 18.76 |
| o3-mini | 56.48 | 32.65 | 37.46 | 35.02 |
| DeepSeek-v3 | 44.26 | 37.85 | 28.41 | 26.75 |
| DeepSeek-r1 | 58.43 | 38.13 | 28.48 | 34.26 |
| Gemini-2.0-Flash | 33.50 | 30.36 | 28.39 | 20.35 |
| Gemini-2.0-Pro | 48.61 | 37.46 | 30.93 | 23.07 |
| Gemini-2.5-Pro | 61.95 | 42.64 | 38.45 | 42.83 |
事実出典:arXiv HTML版 Table 2(H-Rank列)。各セルの正確な転記。AUP・Eloの全列は割愛。
読み取れる傾向
- 事実推論・コーディング系(o3-mini・DeepSeek-r1・Gemini-2.5-Pro)が全指標で一貫して高位。Gemini-2.5-Proは全4ドメインのH-Rankで最高。
- 事実CVが最難:平均HumanRankが60を超えるCVタスクは皆無で、半数超が30未満(Figure 7記述)。MLE-Liteは多くが30超。
- 事実EloではGemini-2.5-Proが各ドメインで上位(例:NLP 1266・MLE-Lite 1257・CV 1177・Tabular 1150)。Eloは相対的強弱を示すが性能差の絶対量は示さない。
- 事実行動戦略の差:o3-miniは検証を経ず実行へ直行する傾向(execute比率90%超)。gpt-4o系は保守的で実行は約20%、検証に依存。
- 事実ステップ動態:o3-miniは初期5ステップ程度で高性能に到達し安定。DeepSeek-r1・Gemini-2.5-Proは中〜後半で漸進的に改善。非推論モデルは後半の伸びが乏しい。
著者主張現行モデルは意味のある反復改善を示す一方、長期的な解の自律生成と複雑なエラーの効率的解決には大きな限界がある。HumanRank(絶対)・Elo(相対)・AUP(ロバスト性)の併用が多面的な評価視点を与える、とする。
コスト・エラーの観察
- 事実推論モデル(例:DeepSeek-r1)は価格と長い出力により総コストが高くなりがち。ただしDeepSeek-r1は少ないトークンで競争力ある性能を出す場合があり、コスト効率の余地を示唆。
- 事実CV・深層学習パイプラインのタスクは、CPU上の古典的MLより一貫して長いコードを生成。
- 事実失敗率:Gemini-2.5-Proが最低。DeepSeek-r1は高性能だが実行・検証の失敗率が比較的高い。Gemini-2.0-Flashは積極実行と低失敗率を両立。
- 事実実行エラー型は「Execution Failed/Submission Not Created/Submission Invalid」に分類。強いモデルほど長く複雑なコードゆえ「Execution Failed」を起こしやすいが、成功時は有効提出・高性能に至りやすい。
- 事実チャット履歴長と最良解の長さは正の相関で、ともに性能と正相関。解釈長さ自体は良さを保証しないが、より高い能力のモデルが複雑な解空間を探索できている代理指標と読める。
- 不明コスト分析からGemini-2.0-Pro/2.5-Proは(無料利用のため)除外されており、これらの絶対コストは本文では不明。
12 — エージェントハーネス設計への示唆
MLE-Dojoから持ち帰れる設計原則
解釈以下は原典の設計選択から、エージェントハーネス(足場)一般へ一般化した本レポートの読み筋であり、論文が明示的に主張する設計指針とは限らない。
① 「検証」と「本提出」を別アクションに分ける
validate_code(軽量・print可・提出なし)と execute_code(採点される本提出)の分離は、デバッグ反復のコストを下げつつ提出回数を統制できる。解釈これは実行系ハーネス全般に転用しやすい原則。
② 報酬は「桁を正規化」して横断可能に
タスクごとに指標が違う環境では、相対順位など [0,1] 正規化報酬が学習信号として扱いやすい(HumanRank)。解釈マルチタスクRLでの報酬設計に直接応用できる。
③ 履歴を「会話/環境記録」の二系統で持つ
対話型LLMと非対話のコーディングLLMの両方に互換させるための分岐。解釈足場非依存(model-agnostic)を狙うなら、観測の表現を消費側に合わせて二重化する価値がある。
④ コンテナ+サンドボックスで再現性と安全性
タスク単位のDocker隔離・private/public分離・資源制約は、評価の再現性と安全な任意コード実行を両立する基盤。
⑤ 拡張ポータルで行動空間を開いておく
登録機構で新アクションを足せる設計は、固定ツールセットに縛られない研究プラットフォームに有効。
13 — 再実装チェックリスト
同等環境を組むための要点
解釈原典の記述から、最小限同等の環境を再構成する際に押さえるべき項目を整理(一部は実装詳細が原典で完全には開示されておらず、リポジトリ参照が必要)。
- タスク標準化:
data/{private,public}+utils/{prepare.py,metric.py}+ 任意のinfo/の統一ディレクトリへ整形(事実)。 - データ分割:test正解が無いKaggleタスクは
prepare.pyでtrainを新train/testに分割(事実)。 - 評価クラス:汎用Metric基底クラスを継承し、コンペ固有指標と提出フォーマット検証を実装(事実)。
- HumanRank報酬:
s = 1 − p/Nを public/private 各リーダーボードで算出し平均(事実)。 - 4モジュール:Error / Interface / Feedback / Metric を疎結合に実装し register 機構で接続(事実)。
- 5アクション:
request_info / validate_code / execute_code / get_history / reset+ ユーザー定義ポータル(事実)。 - 実行隔離:タスク単位Docker+サンドボックス(時間・GPU/CPUメモリ制約、private/public分離)(事実)。
- 観測:データセット情報・評価スコア(生+HumanRank)・実行結果・エラー・履歴(会話/環境記録)の5要素(事実)。
- プロンプト規約:厳格JSON応答、可視化禁止、自己完結コード、
output_dirへtestと同長で提出(事実, Appendix G)。 - 評価指標:AUP(ML-Gym式)・H-Rank・Elo(S=400, R₀=1000, R=100ブートストラップ)(事実)。
- セッション制約:15ステップ・12時間・GPU 32GB・入力50k/出力8,192トークン・提出無制限(事実)。
- 不明SFT/RLの具体的アルゴリズム・損失・学習ハイパーパラメータは本文に定量記載がなく、公式リポジトリの参照が必要。
14 — 限界と懐疑的注記
原典の限界 + 本レポートの留保
論文自身が挙げる限界(Appendix A)
- 事実資源負荷:数百タスクで完全なMLEパイプライン(前処理・学習・デバッグ)を回すには、APIクレジット・CPU/GPU・大規模ディスクが必要。
- 事実データのライセンス/プライバシー:各Kaggleコンペのライセンスは異なる。フレームワークは独自データを再配布せず、Kaggle APIで取得。利用者にライセンス順守の責任がある。
- 事実タスク選定の偏り:公開コンペの可用性に制約され、全ドメイン・全人口統計的文脈を代表するとは限らない。LLMはバイアスを継承・増幅しうる。
本レポートの懐疑的注記
- 解釈「学習対応」と「学習実績」のギャップ:SFT/RLを支援すると述べる一方、本文の主要結果は既製モデルの推論時評価。学習済みエージェントの性能向上は本文では実証されていない。
- 著者主張「uniquely」「new standard」等の表現:独自性・新規性の主張は著者の評価であり、相対比較(Table 1)の自己申告に基づく。第三者検証は本稿の範囲外。
- 解釈HumanRank報酬の前提:人間リーダーボードのスナップショット品質・時点・参加者数Nに依存。Nが小さい/古いタスクでは報酬の安定性が下がりうる。
- 解釈「best of 2 runs」:各タスク2回の最良を採るため、報告値は分散の上側を反映する。単発運用時の挙動とは乖離しうる。
- 不明図に依存する詳細:Figure 1/6〜14の正確な数値・分布は画像を読んでおらず、本文記述の範囲でのみ言及している。
- 不明ライセンス種別:本文は「permissive licenseでのOSS維持」を約束するが、具体的なライセンス名は抽出テキストに明記がない。
15 — ソースと注記
出典・抽出範囲・再現性
- 事実一次情報源:MLE-Dojo 論文 arXiv:2505.07782v1(2025-05-12公開, cs.LG)。本レポートは原典の本文・表・付録テキストのみに基づく。
- 事実抽出方法:arXiv HTML版(arxiv.org/html/2505.07782v1)から抽出したテキスト。図の画像内容は読み取っていない。
- 事実公式資源:コード github.com/MLE-Dojo/MLE-Dojo、ページ mle-dojo.github.io、リーダーボード HuggingFace Spaces。
- 解釈本レポートの性質:手法・パイプラインの整理が目的。数値・引用は原典に忠実だが、見出しや一般化(特に §12 示唆)は編集上の解釈を含む。
不明本文で参照される図表(特にコスト・ステップ動態・エラー型)の細部は原典の図を直接確認すること。本レポートの数値は抽出済みの表・本文記述に限定される。