模擬問題集 › GCP-PMLE › 練習問題 8

GCP-PMLE 練習問題 8|モデルのサービングとスケーリング

Professional Machine Learning Engineer・無料公開(全 200 問中 15 問を無料公開中)

問題
あなたのチームは、リアルタイムでパーソナライズされた広告ランキング モデルをデプロイしようとしています。このモデルは、リクエスト時に取得するユーザー単位の特徴量数百個に低レイテンシでアクセスする必要があります。これらの特徴量は BigQuery に保存されており、ストリーミングの Dataflow パイプラインによって頻繁に更新されています。ユーザーベースが拡大し続けるにつれて、リクエスト時に BigQuery から特徴量を取得していることが原因で、推論全体のレイテンシが 100 ms のサービスレベル契約(SLA)を超えていることがわかりました。低レイテンシでの取得を実現し、自動的にスケーリングし、かつ運用のオーバーヘッドを最小限に抑える特徴量サービング レイヤが必要です。どうすればよいですか。

選択肢と解説

  • 1
    BigQueryReadClient を使用して、データをモデルの推論コンテナに直接ストリーミングする。
  • ✓
    Agent Platform Feature Store を有効にし、FetchFeatureValues API を使用してモデル用の特徴量を取得する。
  • 3
    Memorystore 上に Redis キャッシュを実装し、Dataflow パイプラインに特徴量を Redis キャッシュへ書き込むコンポーネントを追加する。
  • 4
    BigQuery BI Engine を使用して、特徴量の取得に使用している SQL クエリを高速化する。

解説

【正解】B

【0からの解説】
①前提知識:BigQuery は大量データを集計・分析するためのデータウェアハウスで、1 件ずつのキー検索をミリ秒単位で大量にさばく「オンライン サービング」用途には向きません。そこで Google Cloud には、ML 用の特徴量を管理・提供するマネージドサービスとして Vertex AI Feature Store(現 Agent Platform Feature Store)があります。現行の Feature Store は BigQuery のテーブル(またはビュー)をそのままデータソースとして登録し、「特徴ビュー(feature view)」を介してオンライン ストアへ同期します。オンライン ストアは Bigtable オンライン サービングを基盤とし、エンティティ ID(ここではユーザー ID)をキーにした低レイテンシの読み取りを提供し、ノード数の自動スケーリングにも対応しています。モデルはリクエスト時に FetchFeatureValues API を呼び出して、そのユーザーの特徴量をまとめて取得します。
②要件の整理:(1) 数百の特徴量をリクエスト時に低レイテンシで取得、(2) 特徴量の元データは BigQuery にあり、ストリーミング Dataflow で頻繁に更新、(3) 100 ms の SLA を守る、(4) 自動スケーリング、(5) 運用のオーバーヘッドを最小限に。
③正解の理由:Feature Store は BigQuery をデータソースとして直接使えるため、既存の BigQuery 上の特徴量テーブル(Dataflow が更新しているもの)をそのまま登録し、オンライン ストアへ同期(Bigtable オンライン サービングではスケジュール同期に加え継続的な同期も可能)できます。サービング基盤は Google が管理し、自動スケーリングも構成でき、取得は FetchFeatureValues API の 1 回の呼び出しで済みます。キャッシュの整合性管理やインフラのサイジングを自前で行う必要がないため、「低レイテンシ」「自動スケーリング」「運用オーバーヘッド最小」のすべてを満たします。なお、旧来の Optimized オンライン サービングは非推奨となっており、Google は Bigtable オンライン サービングへの移行を推奨しています。

【誤りの選択肢】
A:BigQueryReadClient(BigQuery Storage Read API)は、テーブルの大量データを高スループットで一括読み出しするための API です。ユーザー ID を指定した 1 件単位の高速なポイント ルックアップを行う仕組みではなく、セッション作成のオーバーヘッドもあるため、リクエストごとに呼び出すと 100 ms の SLA を満たせません。根本原因である「BigQuery をオンライン サービングに使っている」点が解消されません。
C:Memorystore for Redis は低レイテンシの読み取りは実現できますが、Dataflow パイプラインへの書き込みコンポーネントの追加・保守、キー設計、TTL や整合性の管理、インスタンスのサイジングやスケーリングなどを自前で設計・運用する必要があります。マネージドの Feature Store と比べて運用のオーバーヘッドが大きく、「運用のオーバーヘッドを最小限に」という条件に反します。
D:BI Engine は BI ツールやダッシュボードからの分析 SQL を高速化するためのインメモリ分析エンジンです。リクエストごとに大量の同時ポイント ルックアップを処理する用途向けではなく、クエリの起動やジョブ処理のオーバーヘッドも残るため、オンライン推論用の特徴量サービング レイヤとしては不適切です。

【参考】
Gemini Enterprise Agent Platform の Feature Store について
オンライン サービングのタイプ
オンライン ストアから特徴をサービングする
← 練習問題 7練習問題 9 →
GCP-PMLE の模擬問題集は全 200 問

本番形式の練習テスト 4 回を、試験モード/演習モードで受験できます。 全問に解説付き、ドメイン別の弱点分析にも対応。模試プラン(月額 ¥980)からご利用いただけます。

GCP-PMLE の模試を受ける料金プランを見る

GCP-PMLE の無料公開問題

問題 1問題 2問題 3問題 4問題 5問題 6問題 7問題 8問題 9問題 10問題 11問題 12問題 13問題 14問題 15