LoginSignup
6
2

More than 1 year has passed since last update.

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

Last updated at Posted at 2022-11-21

著者 Pablo Escobar de la Oliva
最終更新日 2022年10月5日

概要

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

前提条件

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

・Jupyterノートブックを実行する機能

Vantageの新しいインスタンスが必要な場合は、Google CloudAzureAWSのクラウドにVantage Expressという無料版をインストールすることができます。また、VMwareVirtualBox、またはUTMを使用して、ローカルマシン上でVantage Expressを実行することもできます。

必要なファイル

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

ModelOpsトレーニングノートブックのダウンロード

デモユースケース用BYOMノートブックファイルのダウンロード

デモユースケース用のデータファイルのダウンロード

デモユースケース用のBYOMコードファイルをダウンロード

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

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

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

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

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

画像1.png

新規プロジェクトの作成、または既存のプロジェクトの使用

新規プロジェクトの追加

・プロジェクト作成
・詳細
・名前 デモ:自分の名前でよいです
・説明 ModelOpsのデモ
・グループ名:自分の名前でよいです
・パス: https://github.com/Teradata/modelops-demo-models
・クレデンシャル クレデンシャルなし
・ブランチ:マスター

ここで、gitの接続をテストします。緑色になっていれば、保存して続行します。サービス接続の設定はとりあえずスキップします。

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

パーソナル・コネクションを作成する

パーソナル・コレクション

・名前 Vantage Perdonal + 自分の名前
・説明 Vantageデモ
・ホスト: tdprd.td.teradata.com (teradata transcend のみの内部)
・データベース: 準備したデータベース
・VALデータベース TRNG_XSP (内部は teradata transcend のみ)
・BYOMデータベース TRNG_BYOM (内部はTeradata Transcendのみ)
・ログイン方法 TDNEGO
・ユーザ名/パスワード

SQLデータベースでVALとBYOMの権限を検証する

接続パネルの新しいヘルスチェックパネルで権限を確認することができます

画像2.png

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

新しいデータセットテンプレートを作成し、トレーニング用のデータセットを1つ、評価用のデータセットを2つ作成して、2種類のデータセットでモデルの品質指標を監視することにしましょう。

データセットを追加する

・データセットテンプレートの作成
・カタログ
・名称 PIMA
・説明 PIMA糖尿病
・機能カタログ バンテージ
・データベース: 準備したデータベース
・テーブル: aoa_feature_metadata

特徴クエリ:

Features_Query.sql
SELECT * FROM {your-db}.pima_patient_features

エンティティキー: PatientId 特徴 :NumTimesPrg, PlGlcConc, BloodP, SkinThick, TwoHourSerIns, BMI, DiPedFunc, Age。

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

Entity_Target.sql
SELECT * FROM {your-db}.pima_patient_diagnoses

エンティティキー: PatientId 対象:HasDiabetes

予測値

・データベース: your-db

・テーブル: pima_patient_predictions

エンティティの選択クエリ:

Select_Entity.sql
SELECT * FROM pima_patient_features WHERE patientid MOD 5 = 0

BYOM対象カラム: CAST(CAST(json_report AS JSON).JSONExtractValue('$.predicted_HasDiabetes') AS INT)

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

ベーシック:

・名称 :電車
・説明 :トレーニングデータセット
・スコープ :トレーニング
・エンティティ&ターゲット

クエリ:

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

評価用データセット1の作成

ベーシック:

・名称 :評価する
・説明 :評価用データセット
・スコープ :評価
・エンティティ&ターゲット

クエリ:

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

評価用データセット2の作成

ベーシック:

・名称 :評価する
・説明 :評価用データセット
・スコープ :評価
・エンティティ&ターゲット

クエリ:

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

新しいBYOMのためのモデルライフサイクル

必要なファイルをダウンロードし、解凍してください。PMMLファイルについては、GITモデルの学習で生成されたPMMLをダウンロードすることもできます。

・BYOM.ipynb
・model.pmml
・要件.txt
・評価.py
・データ統計.json
・init.py

評価・監視を伴うBYOMモデルの定義

・バージョンインポート
・評価
・データセットの統計情報を含む評価レポートを確認
・承認
・Vantage でデプロイ - エンジン、パブリッシュ、スケジュール。スコアリングデータセットが必要 接続を使用し、データベースを選択 (例: "aoa_byom_models")
・デプロイメント/エグゼキューション
・データセット2で再度評価 - モデルメトリクスの挙動を監視する
・モデルのドリフトを監視 - データとメトリックス
・BYOM notebook を開きSQLコードからPMMLプレディクトを実行する
・リタイアメントを行う

まとめ

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

さらに詳しく

Teradata Vantage™ - ModelOps ユーザーガイド(現在はユーザー登録が必要です)

Teradata Vantageへのお問合せ

Teradata Vantage へのお問合せ

6
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
2