scikit-learn分類モデルを本番環境にデプロイする最適な方法は、オンラインのVertex AI予測エンドポイントをデプロイし、最大レプリカ数を100に設定することです。このオプションを使用すると、Google Cloudのパワーとスケーラビリティを活用して、24時間365日リクエストを処理し、毎秒数百万件のリクエストに対応できます。Vertex AIは、Google Cloud上で機械学習ソリューションを構築およびデプロイするための統合プラットフォームです。Vertex AIは、トレーニング済みのscikit-learnモデルをオンライン予測エンドポイントにデプロイでき、個々のインスタンスに対して低遅延の予測を提供できます。オンライン予測エンドポイントは、仮想マシン上で実行されるモデルのコピーである1つ以上のレプリカで構成されます。最大レプリカ数は、エンドポイント用に作成できるレプリカの最大数を決定するパラメータです。最大レプリカ数を100に設定することで、トラフィックが増加したときにエンドポイントを最大100レプリカまでスケールアップし、トラフィックが減少したときにレプリカ数をゼロまでスケールダウンできます。これにより、使用したリソースに対してのみ料金が発生するため、デプロイコストを最小限に抑えることができます。さらに、オートスケーリングアルゴリズムオプションを使用すると、レイテンシと利用率のメトリックに基づいてエンドポイントのスケーリング動作を最適化できます1。 他の選択肢は、以下の理由から選択肢Bほど優れていません。 オプションA:オンラインのVertex AI予測エンドポイントをデプロイし、最大レプリカ数を1に設定すると、24時間365日リクエストを処理したり、毎秒数百万件のリクエストを処理したりすることはできません。最大レプリカ数を1に設定すると、エンドポイントのレプリカが1つに制限されるため、トラフィックが増加するとパフォーマンスの問題やサービスの中断が発生する可能性があります。さらに、最大レプリカ数を1に設定すると、トラフィックが減少したときにエンドポイントがレプリカ数をゼロにスケールダウンできなくなるため、使用しないリソースに対しても料金を支払うことになり、デプロイコストが増加する可能性があります1。 オプション C: レプリカごとに 1 つの GPU を使用し、最大レプリカ数を 1 に設定してオンライン Vertex AI 予測エンドポイントをデプロイすると、24 時間 365 日リクエストを処理したり、毎秒数百万件のリクエストを処理したりすることができず、デプロイのコストが増加します。各レプリカに GPU を追加するとエンドポイントの計算能力は向上しますが、GPU は CPU よりも高価なため、デプロイのコストも増加します。さらに、最大レプリカ数を 1 に設定すると、エンドポイントは 1 つのレプリカのみに制限されるため、トラフィックが増加するとパフォーマンスの問題やサービスの中断が発生する可能性があり、トラフィックが減少したときにエンドポイントがゼロ レプリカにスケールダウンできなくなります 1。さらに、scikit-learn は GPU アクセラレーションに最適化されていないため、scikit-learn モデルは GPU の恩恵を受けません 2。 Option D: Deploying an online Vertex AI prediction endpoint with one GPU per replica and setting the max replica count to 100 would be able to serve requests 24/7 and handle millions of requests per second, but it would increase the cost of deployment. Adding a GPU to each replica would increase the computational power of the endpoint, but it would also increase the cost of deployment, as GPUs are more expensive than CPUs. Setting the max replica count to 100 would enable the endpoint to scale up to 100 replicas when the traffic increases, and scale down to zero replicas when the traffic decreases, which can help minimize the cost of deployment. However, scikit-learn models do not benefit from GPUs, as scikit-learn is not optimized for GPU acceleration2. Therefore, using GPUs for scikit-learn models would be unnecessary and wasteful. Reference: Preparing for Google Cloud Certification: Machine Learning Engineer, Course 3: Production ML Systems, Week 2: Serving ML Predictions Google Cloud Professional Machine Learning Engineer Exam Guide, Section 3: Scaling ML models in production, 3.1 Deploying ML models to production Official Google Cloud Certified Professional Machine Learning Engineer Study Guide, Chapter 6: Production ML Systems, Section 6.2: Serving ML Predictions Online prediction Scaling online prediction scikit-learn FAQ
Professional-Machine-Learning-Engineer 試験問題 3
あなたは、過去の取引データに基づいて自社製品の売上を予測するために、Vertex AI を使用してカスタム モデルを開発しました。近い将来、特徴量の分布と特徴量間の相関関係に変化が生じると予想されます。また、予測リクエストが大量に発生することも予想されます。ドリフト検出のために Vertex AI モデルモニタリングを使用する予定で、コストを最小限に抑えたいと考えています。どうすればよいでしょうか?
正解: D
Vertex AI Model Monitoring を使用してドリフトを検出し、コストを最小限に抑える最良の方法は、監視に特徴と特徴属性を使用し、予測サンプリングレートの値を 1 より 0 に近い値に設定することです。このオプションを使用すると、Google Cloud のパワーと柔軟性を活用して、カスタム モデルの入力予測リクエストにおける特徴ドリフトを検出し、モデル監視ジョブのストレージと計算コストを削減できます。Vertex AI Model Monitoring は、複数の機械学習実行の結果を追跡および比較できるサービスです。Vertex AI Model Monitoring は、モデルの予測入力データの特徴の偏りとドリフトを監視できます。特徴ドリフトは、本番環境で特徴データの分布が時間の経過とともに変化するときに発生します。元のトレーニング データが利用できない場合は、ドリフト検出を有効にして、モデルの特徴ドリフトを監視できます。 Vertex AI Model Monitoring は TensorFlow Data Validation (TFDV) を使用して各特徴量の分布と距離スコアを計算し、ベースライン分布と比較します。ベースライン分布は、トレーニングデータにおける特徴量の値の統計的分布です。トレーニングデータが利用できない場合は、モデルが最初に受け取る 1000 件の予測要求からベースライン分布が計算されます。特徴量の距離スコアが設定したアラートしきい値を超えると、Vertex AI Model Monitoring から電子メールアラートが送信されます。ただし、カスタムモデルを使用している場合は、特徴量のドリフトに関するより詳細な情報を提供する特徴量アトリビューション監視を有効にすることもできます。特徴量アトリビューション監視は、予測出力に対する各特徴量の寄与である特徴量アトリビューションを分析します。特徴量アトリビューション監視は、モデルのパフォーマンスに最も影響を与える特徴量と、時間の経過とともに最も大きなドリフトを示す特徴量を特定するのに役立ちます。特徴量アトリビューション監視は、特徴量と予測出力の関係、および特徴量間の相関関係を理解するのにも役立ちます 1。予測サンプリングレートは、モデル監視ジョブによってログに記録され分析される予測リクエストの割合を決定するパラメータです。予測サンプリングレートを低く設定すると、モデル監視ジョブのストレージと計算コストを削減できますが、データの品質と妥当性も低下する可能性があります。 予測サンプリングレートを低く設定すると、データにサンプリングバイアスやノイズが混入し、モデル監視ジョブがデータの重要な特徴やパターンを見落とす可能性があります。しかし、予測サンプリングレートを高く設定すると、モデル監視ジョブのストレージと計算コストが増加し、処理および分析する必要のあるデータ量も増加します。したがって、予測サンプリングレートとモデル監視ジョブのコストおよび精度にはトレードオフがあり、最適な予測サンプリングレートはビジネス目標とデータ特性2に依存します。監視に特徴と特徴属性を使用し、予測サンプリングレートの値を1よりも0に近い値に設定することで、Vertex AI Model Monitoringを使用してドリフト検出を行い、コストを最小限に抑えることができます。 他の選択肢は、以下の理由から選択肢Dほど優れていません。 * オプション A: 監視機能を使用し、監視頻度の値をデフォルト値よりも高く設定すると、特徴量帰属監視は有効にならず、モデル監視ジョブのコストが増加する可能性があります。監視頻度は、モデル監視ジョブがログに記録された予測要求を分析し、各特徴量の分布と距離スコアを計算する頻度を決定するパラメータです。監視頻度を高くすると、モデル監視ジョブの頻度と適時性が向上しますが、モデル監視ジョブの計算コストも増加します。さらに、監視機能を使用すると、特徴量のドリフトとモデルのパフォーマンスに関するより詳細な情報を提供する特徴量帰属監視が有効になりません。 * オプション B: 監視に機能を使用し、予測サンプリング レートの値を 0 より 1 に近い値に設定すると、特徴量アトリビューションの監視は有効にならず、モデル監視ジョブのコストが増加する可能性があります。予測サンプリング レートは、モデル監視ジョブによってログに記録され分析される予測要求の割合を決定するパラメータです。予測サンプリング レートを高くすると、データの品質と妥当性が向上しますが、モデル監視ジョブのストレージと計算コストも増加します。さらに、監視に機能を使用すると、特徴量のドリフトとモデルのパフォーマンスに関するより詳細な洞察を提供する特徴量アトリビューションの監視が有効になりません 12。 * オプション C: 機能と機能属性を監視に使用し、監視頻度の値をデフォルト値より低く設定すると、機能属性の監視が可能になりますが、モデル監視ジョブの頻度と適時性が低下する可能性があります。監視頻度は、モデル監視ジョブがログに記録された予測要求を分析し、各機能の分布と距離スコアを計算する頻度を決定するパラメータです。監視頻度を低く設定すると、モデル監視ジョブの計算コストは削減できますが、モデル監視ジョブの頻度と適時性も低下します。これにより、モデル監視ジョブの応答性が低下し、機能ドリフトの検出とアラートの有効性が低下する可能性があります。 参考文献: * Google Cloud認定資格の準備:機械学習エンジニア、コース3:本番環境の機械学習システム、第4週:評価 * Google Cloud Professional Machine Learning Engineer 試験ガイド、セクション 3: 本番環境での ML モデルのスケーリング、3.3 本番環境での ML モデルの監視 * Google Cloud 認定プロフェッショナル機械学習エンジニア公式学習ガイド、第 6 章: 実運用機械学習システム、第6.3節:機械学習モデルの監視 * モデルモニタリングの使用 * スコアしきい値スライダーの理解