mcpField
R
reproduce

reproduce

github.com/fcakyon開発43785 回インストール2 週間前に更新
リポジトリ

reproduce について

reproduce は、機械学習論文を一から再現するためのスキルです。論文の抽出から実装、データ準備、報告値との定量比較までを段階的に進め、各段階の基準によって作業の根拠を追跡可能にします。

主な機能

  1. 01arXiv HTML から論文情報を抽出
  2. 02既存コードと不足箇所の棚卸し
  3. 03不足しているハイパーパラメーターの分析
  4. 04根拠を記録しながら実装
  5. 05データセット取得とスモークテスト
  6. 06再現結果と論文指標の比較

活用シーン

  1. 01完全なコードがない論文の再現
  2. 02論文の記述から実装上の不足を特定
  3. 03長時間実行前の学習パイプライン検証
  4. 04報告結果との差の記録

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/fcakyon/phd-skills --skill reproduce

インストール後、Claude Code で/reproduceを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
01-paper-fetch.md
02-code-clone.md
03-gap-analysis.md
04-implement.md
05-dataset.md
06-smoke.md
07-replicate.md

詳細

再現:論文をゼロから再現する

ML 論文の再現では、著者が公開していない部分、たとえば学習スクリプト、ハイパーパラメーター表、データ拡張の詳細、正確なデータセット分割などを補うことがよくあります。このスキルでは、「arxiv のリンクがある」状態から「論文の数値との差を測定できる再現実験を実行した」状態まで、7 つのステージを順に進めます。

概要を見やすく保つため、各ステージに対応するリファレンスファイルを references/ 以下に用意しています。

実行するタイミング

ユーザーが次のいずれかを言ったとき:

  • 「論文 X を再現する/実装する/再実行する」
  • 再現の意図を添えて arxiv の URL を貼ったとき(「これを再現できますか」「この手法を試しましょう」など)
  • 同じ意図で OpenReview/会議録へのリンクを示したとき
  • 「この論文にはコードがないけれど、実装できますか」と言ったとき

ワークフロー

ステージ内容リファレンス
1論文の取得(arxiv HTML → 構造化された抽出)references/01-paper-fetch.md
2既存コードの発見と棚卸しreferences/02-code-clone.md
3ギャップ分析(本文から不足しているハイパーパラメーターをすべて抽出)references/03-gap-analysis.md
4実装(uv venv、ギャップの補完、ギャップごとのコミット)references/04-implement.md
5データセットの取得(まず HF datasets を使用し、非公開なら代替)references/05-dataset.md
6スモーク実行(フォワードパス → 1 ステップ → 20 イテレーション)references/06-smoke.md
7再現実験と、論文で報告されたエポック時点での比較references/07-replicate.md

順番どおりに進めてください。各ステージには個別の成功条件があります。現在のステージをクリアするまで、次のステージへ進んではいけません。

作業ディレクトリの構成

論文を再現するたびに、専用のワークスペースを用意してください。

repro/<paper-arxiv-id>/
├── paper.md              # structured extract from stage 1
├── inventory.md          # what exists / missing from stage 2
├── gaps_filled.md        # hyperparam table with provenance from stage 3
├── code/                 # implementation from stage 4 (or cloned + extended)
├── data/                 # dataset symlinks or actual data from stage 5
├── dataset_substitution.md  # if a public dataset stood in for a private one
├── smoke_logs/           # outputs from stage 6
└── results.md            # replication outcomes from stage 7

こうすることで、再現実験を自己完結させ、後から簡単に参照できます。

関連項目

  • ステージ 3 の後、ギャップ分析を paper-verification スキルに渡し、論文に記載されたハイパーパラメーターをすべて本当に捉えられているか、照合してください。
  • ステージ 4 の実装は、小さくレビューしやすい単位でコミットしてください。各コミットには、補完した値の根拠となった論文の節を記載します。
  • ステージ 6 のスモーク実行で失敗した場合は、その場しのぎで修正せず、/phd-skills:debug スキルに回してください。
  • ステージ 7 の実行は、数時間に及ぶ実行を開始する前に、/phd-skills:launch のチェックリストに従ってください。
  • ステージ 7 の比較は、論文で報告されたエポック時点で /phd-skills:compare スキルに従って行ってください(現在の結果と最終結果を比較してはいけません)。

出力

再現実験ごとに、最終成果物は results.md です。そこには絶対差分(%だけではありません)と、各指標に対する次の 3 種類のラベルのいずれかを記載します。

  • [matched within 0.X pp]:論文で報告されたばらつきの範囲内
  • [gap, hypothesis: ...]:測定可能な性能低下があり、その原因について仮説を明記
  • [fundamental disagreement, see X]:結果と論文の主張が一致せず、計算を増やすだけではなく調査が必要な状態

ワークスペースが公開リポジトリにある場合は、プロジェクトの再現実験追跡用メインドキュメントから、ワークスペースの README にリンクしてください。

コメント