Imagen

ModelOps - 初めてのBYOMモデルのインポートとデプロイ

概要

これは、ClearScape Analytics ModelOps を初めてご利用になる方を対象としたハウツーです。このチュートリアルでは、ModelOpsで新しいプロジェクトを作成し、必要なデータをVantageにアップロードし、BYOMメカニズムを使用してインポートしたDiabetesデモモデルのライフサイクルを完全に追跡することができます。

前提条件

  • Teradata VantageインスタンスとClearScape Analytics(ModelOpsを含む)へのアクセス。

  • Jupyter Notebookを実行する機能

Vantage のテスト インスタンスが必要な場合は、 https://clearscape.teradata.com. で無料でプロビジョニングできます。

必要なファイル

まず、このチュートリアルに必要なファイルをダウンロードすることから始めましょう。これら4つの添付ファイルをダウンロードし、Notebookのファイルシステムにアップロードしてください。ModelOpsのバージョンに応じてファイルを選択します。

ModelOpsバージョン6 (2022 年 10 月):

または、以下のレポをgit cloneしてください。

git clone https://github.com/willfleury/modelops-getting-started
git clone https://github.com/Teradata/modelops-demo-models/

ModelOpsバージョン7 (2023 年 4 月):

git clone -b v7 https://github.com/willfleury/modelops-getting-started.git
git clone https://github.com/Teradata/modelops-demo-models/

データベースと Jupyter 環境のセットアップ

ModelOps_Training Jupyter Notebookに従って、デモに必要なデータベース、テーブル、ライブラリのセットアップを行います。

メソドロジーにおける当社の位置づけを理解する

ModelOps 方法論の BYOM スクリーンショット

新しいプロジェクトを作成するか、既存のプロジェクトを使用する

新しいプロジェクトを追加する

ここで git 接続をテストできます。緑色の場合は、保存して続行します。ここではサービス接続設定をスキップします。

新しいプロジェクトを作成するとき、ModelOpsは新しい接続をリクエストします。

パーソナル接続を作成する

パーソナル接続

  • 名前: Vantage personal your-name

  • 説明: Vantage デモ環境

  • ホスト: tdprd.td.teradata.com (teradata transcendの内部のみ)

  • データベース: your-db

  • VAL データベース: TRNG_XSP (teradata transcendの内部のみ)

  • BYOM データベース: TRNG_BYOM (teradata transcendの内部のみ)

  • ログインメカニズム: TDNEGO

  • ユーザー名/パスワード

SQL データベースの VAL および BYOM のアクセス権を検証する

接続パネルの新しいヘルスチェックパネルでアクセス権を確認できます。

ModelOps Healtcheckのスクリーンショット

BYOM の評価とスコアリングのために Vantage テーブルを識別するためのデータセットを追加する

新しいデータセット テンプレートを作成してから、トレーニング用に 1 つのデータセット、評価用に 2 つのデータセットを作成して、2 つの異なるデータセットでモデルの品質メトリクスを監視できるようにしましょう。

データセットの追加

  • データセットテンプレートの作成

  • カタログ

  • 名前: PIMA

  • 説明: PIMA Diabetes

  • フィーチャカタログ: Vantage

  • データベース: your-db

  • テーブル: aoa_feature_metadata

フィーチャ クエリー:

SELECT * FROM {your-db}.pima_patient_features

エンティティ キー: PatientId フィーチャ: NumTimesPrg、PlGlcConc、BloodP、SkinThick、TwoHourSerIns、BMI、DiPedFunc、Age

エンティティとターゲット クエリー:

SELECT * FROM {your-db}.pima_patient_diagnoses

エンティティキー: PatientId Target: HasDiabetes

予測

  • データベース: your-db

  • 表:pima_patient_predictions

エンティティの選択:

クエリー:

SELECT * FROM pima_patient_features WHERE patientid MOD 5 = 0

v6のみ(v7では、これをBYOMのコードなし画面で定義する):BYOMターゲットカラム:CAST(CAST(json_report AS JSON).JSONExtractValue('$.predicted_HasDiabetes')AS INT)

トレーニングデータセットの作成

ベーシック

  • 名前: トレーニング

  • 説明: トレーニングデータセット

  • スコープ: トレーニング

  • エンティティとターゲット

クエリー:

SELECT * FROM {your-db}.pima_patient_diagnoses WHERE patientid MOD 5 = 1

評価データセット1を作成する

ベーシック

  • 名前: Evaluate

  • 説明: Evaluate データセット

  • スコープ: Evaluation

  • エンティティとターゲット

クエリー:

SELECT * FROM {your-db}.pima_patient_diagnoses WHERE patientid MOD 5 = 2

評価データセット2を作成する

ベーシック

  • 名前: Evaluate

  • 説明: Evaluate データセット

  • スコープ: Evaluation

  • エンティティとターゲット

クエリー:

SELECT * FROM {your-db}.pima_patient_diagnoses WHERE patientid MOD 5 = 3

新規 BYOM のモデル ライフサイクル

必要なファイルをダウンロードして解凍します。リンクはチュートリアルの上部にあります。PMML ファイルについては、GIT モデルのトレーニングで生成された PMML をダウンロードすることもできます。

  • BYOM.ipynb

  • model.pmml

  • requirements.txt

  • evaluation.py

  • data_stats.json

  • init.py

評価と監視による BYOM モデルの定義

  • インポートバージョン

  • v7 の場合 - BYOM コードは使用できません - 自動評価とデータ ドリフト監視を有効にすることができます。 Monitoring ページで、BYOM ターゲット列を使用します。 CAST(CAST(json_report AS JSON).JSONExtractValue('$.predicted_HasDiabetes') AS INT)

  • 評価する

  • データセット統計を含む評価レポートを確認する

  • 承認する

  • Vantage でのデプロイ - エンジン、パブリッシュ、スケジュール。スコアリング データセットが必要です。 接続を使用してデータベースを選択してください。例: "aoa_byom_models"

  • デプロイメント/実行

  • dataset2 を使用して再度評価します - モデル メトリクスの動作を監視します

  • モデルドリフトの監視 - データとメトリクス

  • v7 の場合 - Deployments → Job ページから予測を直接確認します。

  • BYOM Notebookを開き、SQL コードから PMML 予測を実行します。

  • リタイアする

まとめ

このクイックスタートではBYOMモデルの完全なライフサイクルをModelOpsで実行する方法とそれをVantageにデプロイする方法について学びました。そしてバッチスコアリング、レストフルまたはオンデマンドスコアリングのテスト、データドリフトとモデル品質メトリックのモニタリングの開始をスケジュールする方法を紹介しました。

さらに詳しく

  • リンク:https://docs.teradata.com/search/documents?query=ModelOps&sort=last_update&virtual-field=title_only&content-lang=

ご質問がある場合、またはさらにサポートが必要な場合は、コミュニティ フォーラムにアクセスしてサポートを受け、他のコミュニティ メンバーと交流してください。
このページは役に立ちましたか?