← ClaudeAtlas

ml-model-structurelisted

Lay out ML training and inference code as versioned directories with a feature SSoT. Use when building or retraining a model(モデル構築・モデル再学習・推論API).
devbasex/ai-plugins · ★ 1 · AI & Automation · score 68
Install: claude install-skill devbasex/ai-plugins
# ML モデル構築・API開発の標準構造 機械学習モデルの学習コードと推論API(コンテナ)を、**版ごとに自己完結する構造**で配置するための基準。 連番スクリプト (`01_…` `10_…`) をプロジェクト直下にフラットに並べると「どれがデプロイ済みの正規コードか」 「どれが旧版・ボツ実験か」が判別できなくなる。本構造はこれを **版 (version) 単位の実体ディレクトリ** で解決し、 将来 v2/v3 を champion/challenger・shadow で**並行運用**しても破綻しないようにする。 ## 設計の核 (なぜこの形か) - **版ごとに自己完結**: 各版 `vN/` は独自の `features.py` / `train/` / `inference/` を持つ。 並行運用では特徴量ロジック自体が版ごとに進化するため、全版が単一の共通ライブラリを共有する設計は破綻する。 版を跨いだ共有 (`shared/`) や `current -> vN` の symlink は**作らない**。 - **版内 feature SSoT**: 同一版の学習 (`train/`)・推論 (`inference/`)・テストが **`vN/features.py` だけ** を参照する (import / Docker COPY)。train/serve skew (学習時と推論時で特徴量計算がずれる事故) は **版内で** 保証する。 版間は独立でよい — v3 が別ロジックでも v2 に影響しない。 - **「コードの並行」と「デプロイの並行」は別レイヤー**。デプロイ並行は推論基盤側 (SageMaker production/shadow variants・multi-model endpoint 等) で解決する。本構造が担うのは**コード層の独立**のみ。 - **本番版の所在は symlink でなく明示管理**。並行運用では「今の本番」が複数になり得るため、 本番版はエンドポイント名・環境変数・README の表で管理する。 ## 目標ディレクトリ構造 モデルプロジェクト 1 つ (例: `analysis/<yyyymmdd>_<name>/`) を版で分割する。 ``` <model-project>/ # 例: analysis/20260505_oac-prediction/ ├── v1/ # 退役版: read-only アーカイブ │ ├── train/ # 旧学習コード (features.py 非依存・自己完結) │ ├── *_report.md *.csv # 旧レポート・成果物 │ └── README.md # 「read-only。再実行非想定」を明記 ├── v2/ # 現役版: 自己完結の実体 (symlink なし) │ ├── features.py # ★版内 feature SSoT (学習・推論が共有) │ ├── train/ │ │ ├── 01_build_dataset.py