Skip to content

学習パイプライン

TL;DR

学習パイプラインは、生データを再現可能なモデル成果物に変換します。本番パイプラインでは、入力のバージョン管理、データ検証、時点整合データセット作成、学習、評価、成果物登録、昇格ゲートが必要です。中心となる信頼性要件は再現性です。


パイプライン構造

各エッジには、データセット版、コード版、特徴量定義、パラメータ、成果物ハッシュ、評価レポートを残します。


パイプラインDAGの所有

ステージ所有者契約
ソース取り込みデータ/プラットフォーム新鮮、重複なし、スキーマ版あり
ラベル生成プロダクト/ドメインラベル定義と遅延期間
特徴量計算特徴量所有者時点整合な特徴量
学習MLチーム再現可能な成果物と指標
評価ML + プロダクト + リスク昇格判断とガードレール
レジストリプラットフォーム状態、リネージ、ロールバック先
デプロイサービング/プラットフォームランタイム互換性とロールアウト

所有が曖昧なステージからMLパイプラインは劣化します。


再現性契約

モデルバージョンは次に答えられるべきです。

  • どのコードコミットで学習したか。
  • どのデータセットスナップショットとラベル期間を使ったか。
  • どの特徴量定義とバックフィルを使ったか。
  • どのハイパーパラメータを使ったか。
  • どのコンテナイメージや環境で実行したか。
  • どの評価指標とスライスが合格したか。
  • 誰またはどの自動化が昇格を承認したか。

これに答えられないと、ロールバックと障害調査は推測になります。


データ検証

悪いモデルが本番に届く前に、学習前に検証します。

検証
スキーマ必須列がない
数値特徴量に文字列が入る
範囲年齢が負、確率が1を超える
分布取引金額平均が5倍になる
完全性ラベルの40%が欠落
一意性entity-eventペアが重複
鮮度最新パーティションが古い

検証ルールはパイプラインと一緒にバージョン管理します。


学習/評価分割戦略

分割使う条件障害モード
ランダム行分割IIDでエンティティ漏洩がない既知ユーザー/アイテムで過大評価
時間分割未来予測が重要季節性や一時イベントに敏感
エンティティ分割新規ユーザー/アイテムへ汎化したいwarm-start品質を過小評価
グループ分割世帯、チーム、加盟店、クリエイター正しいグループIDが必要
地域/市場分割新地域展開地域差と時間差が混ざる

本番で未来を予測するなら、ランダム分割は楽観的になりがちです。


データセットバージョン

学習データは巨大でGitに入れられませんが、参照はバージョン化できます。

yaml
dataset:
  source: warehouse.ml.fraud_training_examples
  snapshot_date: 2026-06-10
  entity_time_column: decision_at
  label_window: 30d
  feature_view_versions:
    - account_risk:v12
    - device_velocity:v7
code:
  commit: 441c720
environment:
  image: registry.example.com/ml-train:2026-06-01

目的は、すべてをモデルレジストリに保存することではなく、決定的に再構築できることです。


スナップショットとバックフィル

バックフィルは見かけ上の過去を書き換えます。過去の本番判断を調査するための当時値と、将来学習用の修正値を分けます。


評価ゲート

昇格ゲートには次を含めます。

  • 主品質指標。
  • ガードレール指標。
  • スライス別チェック。
  • 確率が重要な場合のキャリブレーション。
  • サービング用のレイテンシとモデルサイズ。
  • 特徴量互換性。
  • 高リスク意思決定の人間承認。

実験追跡

成果物理由
コードコミットTrainerを再構築する
データセットスナップショット例を再構築する
特徴量版スコア差分を説明する
ハイパーパラメータ実験を公正に比較する
指標とスライス昇格判断に使う
ランダムシード分散をデバッグする
ランタイムイメージ依存関係を再現する
コストと時間学習経済性を管理する

モデルレジストリは勝ったrunを指し、run記録はモデル廃止後も参照できるようにします。


再学習パターン

パターン使う条件リスク
手動再学習低頻度変更または高リスク領域ドリフト対応が遅い
定期再学習データ到着が予測可能不要な再学習
トリガー再学習ドリフトや品質低下を検知ノイズの多いトリガー
継続学習変化が速く自動化が成熟悪いデータがすぐ伝播

多くのチームは、検証と監視が成熟するまでは、定期または人間承認つき再学習から始めるべきです。


障害モード

再現できないモデル

良い性能のモデルがあるが、誰も再構築できない状態です。

対策: レジストリ昇格前にリネージメタデータを必須にします。

悪いバックフィル

バックフィルが履歴特徴量を変え、将来の学習データを静かに変えます。

対策: 特徴量定義をバージョン化し、バックフィル範囲を記録し、検証を再実行します。

評価リーク

学習セットと評価セットが、時間、ユーザー、エンティティで正しく分離されていません。

対策: 実際の予測設定に合わせて分割し、リークしやすいJOINをレビューします。


運用メトリクス

レイヤーメトリクス
パイプライン成功率、時間、キュー待ち、リトライ数
データ鮮度、検証失敗、除外行数
学習コスト、GPU使用率、収束、再現性失敗
評価指標差分、スライス回帰、キャリブレーション
レジストリ昇格率、ロールバック率、モデル経過時間
配信データ到着からデプロイ可能モデルまでの時間

重要なポイント

  1. 学習パイプラインはスケジュールされたノートブックではなく本番システムである。
  2. 再現性はML信頼性の基盤。
  3. データ検証は悪いモデルを学習前に止める。
  4. 昇格ゲートは品質、安全性、レイテンシ、互換性を組み合わせる。
  5. 再学習自動化は検証とロールバックが成熟してから進める。

参考文献

  1. TFX: A TensorFlow-Based Production-Scale Machine Learning Platform
  2. Data Validation for Machine Learning
  3. MLflow Tracking
  4. Hidden Technical Debt in Machine Learning Systems

MITライセンスの下で公開。Babushkaiコミュニティが構築。