QUIZ 15分

クイズの説明

Step 5「MLOpsとフィーチャーストアを設計しよう」の理解度を確認します。MLOpsパイプラインとフィーチャーストアについて問います。

合格ライン: 80%(5問中4問正解)


問題

Q1. MLOps成熟度

以下の組織の状態に最も適したMLOps成熟度レベルはどれですか?

データサイエンティストがJupyter Notebookでモデルを開発し、学習済みモデルファイルをSlackで共有している。インフラチームが手動でモデルをサーバーにデプロイする。モデルの再学習は四半期に1回手動で実施。

  • A. Level 0(手動プロセス)
  • B. Level 1(MLパイプライン自動化)
  • C. Level 2(CI/CD for ML)
  • D. Level 3(自律型ML)
答えを見る

正解: A

この組織はMLOps Level 0(手動プロセス)です。Notebookでの手動開発、Slackでのモデル共有、手動デプロイ、四半期ごとの手動再学習。すべてが手動で、パイプラインの自動化がありません。Level 1に進むには、学習パイプラインの自動化(Airflow等)、モデルレジストリ(MLflow)、自動デプロイを導入する必要があります。Level 2ではさらにパイプラインコードのCI/CDが加わります。


Q2. Training-Serving Skew

Training-Serving Skew問題を解決するためのアプローチとして最も適切なものはどれですか?

  • A. 学習時と推論時で異なるプログラミング言語を使用する
  • B. フィーチャーストアでフィーチャーの定義を一元管理し、学習と推論の両方で同じ定義からフィーチャーを取得する
  • C. モデルの精度が低下したら手動でフィーチャーを修正する
  • D. 推論時はフィーチャーを使わず、生データをモデルに入力する
答えを見る

正解: B

Training-Serving Skew(学習-推論の不整合)は、学習時と推論時で異なるフィーチャー計算ロジックが使われることが原因です。フィーチャーストアでフィーチャーの定義(計算ロジック)を一元管理し、学習時はオフラインストア(BigQuery)から、推論時はオンラインストア(Redis)から同じ定義に基づいて計算されたフィーチャーを取得することで、Skewを構造的に防止できます。


Q3. フィーチャーストア

フィーチャーストアにおけるオフラインストアとオンラインストアの最も重要な違いはどれですか?

  • A. オフラインストアは無料でオンラインストアは有料
  • B. オフラインストアは学習用に過去の大量データを提供し、オンラインストアは推論用に最新データを低レイテンシで提供する
  • C. オフラインストアはSQLを使い、オンラインストアはNoSQLを使う
  • D. オフラインストアは構造化データ、オンラインストアは非構造化データを格納する
答えを見る

正解: B

オフラインストアとオンラインストアの最も重要な違いは用途です。オフラインストア(BigQuery、S3等)は学習用に過去の大量のフィーチャーデータを提供し、Point-in-Time Correct Joinで正しい時点のフィーチャーを取得できます。オンラインストア(Redis、DynamoDB等)は推論用に各エンティティの最新フィーチャーを低レイテンシ(< 10ms)で提供します。技術的にはSQLやNoSQLの違い(C)もありますが、本質的な違いは用途とレイテンシ要件です。


Q4. データドリフト

PSI(Population Stability Index)が0.30を示した場合、適切な対応はどれですか?

  • A. 問題なし。通常の変動範囲なのでモニタリングを継続する
  • B. 入力データの分布に大きな変化があるため、原因を調査し、必要に応じてモデルを再学習する
  • C. モデルを即座に停止し、推論を中断する
  • D. PSIの閾値を0.50に引き上げてアラートを抑制する
答えを見る

正解: B

PSI > 0.25は「大きな変化」を示し、入力データの分布が学習時と有意に異なっています。まず原因を調査します(季節性、データパイプラインの障害、ビジネス環境の変化等)。原因がデータの実質的な変化であれば、最新データでモデルを再学習します。PSI 0.30は即座にモデル停止(C)するほどではありませんが、放置すると精度低下が進行するため、迅速な対応が必要です。閾値を引き上げる(D)のは問題の隠蔽です。


Q5. Point-in-Time Correct Join

MLモデルの学習データ作成時にPoint-in-Time Correct Joinが必要な理由として最も適切なものはどれですか?

  • A. クエリの実行速度を向上させるため
  • B. フィーチャーのストレージコストを削減するため
  • C. 学習時に未来のデータ(まだ発生していないイベント)がフィーチャーに含まれることを防ぎ、データリークによる過度に楽観的なモデル評価を避けるため
  • D. オンラインストアとオフラインストアのデータを同期するため
答えを見る

正解: C

Point-in-Time Correct Joinは、学習データを作成する際に「その時点で利用可能だったフィーチャーのみ」を使用することを保証します。例えば、2025年1月1日に解約した顧客の学習データを作る際、1月5日時点のフィーチャー(解約後の値)を使うとデータリークが発生し、モデルの評価が実際よりも高くなります。正しくは、2024年12月31日時点のフィーチャー(解約前の値)を使う必要があります。Feastなどのフィーチャーストアがこのジョインを自動で行います。


結果

合格(4問以上正解)

Step 5の内容をよく理解しています。MLOpsパイプラインとフィーチャーストアの設計知識を身につけ、データ基盤とMLの統合的な設計ができるようになりました。最終Step 6に進みましょう。

不合格(3問以下正解)

Step 5の内容を復習しましょう。特に以下のポイントを重点的に確認してください:

  • MLOps成熟度 — Level 0/1/2の特徴と違い
  • フィーチャーストア — Training-Serving Skewの解決方法
  • オフライン/オンライン — 学習用と推論用の違い
  • Point-in-Time — データリーク防止の仕組み

推定所要時間: 15分