ModelOps - 初めてのBYOMモデルのインポートとデプロイ
概要
このチュートリアルは、ClearScape Analytics ModelOps をすぐに使い始めるのに役立ちます。主要な概念を簡単に説明するので、最初の Bring-your-own-model (BYOM) モデルを ModelOps にインポートする作業にすぐに取り掛かることができます。このクイックスタート サイトの他のチュートリアルでは、ClearSCape Analytics ModelOps を使用した他のデプロイメントおよび自動化パターンについてさらに詳しく学ぶことができます。
このチュートリアルでは、次のことを学習します。
-
BYOM 機能と ModelOps BYOM の違いは何ですか?
-
グラフィカル ユーザー インターフェイスを使用して、モデル レジストリに最初の BYOM モデルをインポートする
-
自動スケジュール機能と監視機能を備えたVantageにモデルをデプロイする
前提条件
クイックスタートに含まれるすべてのコード例にアクセスして実行するために、Clearscape 環境にインポートできる関連ノートブックとサンプル データを提供します。 ModelOps サンプルノートブックとデータをダウンロードする
-
Teradata VantageインスタンスとClearScape Analytics(ModelOpsを含む)へのアクセス。
-
Jupyter ノートブック環境にアクセスするか、ClearScape Analytics Experience で利用可能な環境を使用します。
Vantage のテストインスタンスが必要な場合は、 https://clearscape.teradata.com で無料で プロビジョニングできます
最初に知っておくべき重要な概念
Teradata Vantage で独自のモデルを使用する (BYOM)
Vantage Bring Your Own Model (BYOM) パッケージにより、データ サイエンティストやアナリストは Vantage で予測モデルを運用できるようになります。外部ツールでトレーニングされた予測モデルは、BYOM Predict 関数を使用して、Vantage に保存されているデータのスコア付けに使用できます。
サポートされているモデル交換形式 (現在、PMML、MOJO、ONNX、Dataiku、DataRobot が利用可能) を使用して予測モデルを作成または変換し、それを Vantage テーブルにインポートし、BYOM PMMLPredict、H2OPredict、ONNXPredict、DataikuPredict、または DataRobotPredict を使用してモデルでデータをスコア付けします。
ModelOps を使用して Teradata Vantage にBring your own model (BYOM)
ModelOps の BYOM パッケージには、データ サイエンティストや機械学習エンジニア向けの追加のガバナンス、自動化、監視機能が強化されており、これらすべてをコーディングなしで適用できます。BYOM パッケージの互換性のある形式に加えて、ModelOps は、Vantage 内のモデルを Python スクリプト、R スクリプト、SAS スコアリング アクセラレータ モデルにインポートしてスコアリングする可能性を拡張します。サポートされている形式 (PMML、MOJO、ONNX、Dataiku、DataRobot、Python スクリプト、R スクリプト、SAS スコアリング アクセラレータ モデル) を使用して互換性のあるモデルを作成または変換したら、ModelOps グラフィカル ユーザー インターフェイスまたは ModelOps コード SDK を使用してモデル レジストリにインポートできます。
ModelOps方法論で重点を置くべき点を理解する
このチュートリアルでは、関連するノートブックと ModelOps グラフィカル ユーザー インターフェイスを使用して、このプロセスをエンドツーエンドで説明します。
このガイドの手順
- プロジェクトと接続を作成する (ModelOps)
- 環境設定(Notebook)
- データセットの作成 (ModelOps)
- モデルをトレーニングして PMML (Notebook) にエクスポートする
- BYOM 関数を使用して PMML を Vantage にインポートする (Notebook)
- ModelOps グラフィカル ユーザー インターフェイス (ModelOps) を使用して PMML を Vantage にインポートします。
- 自動化されたライフサイクル - 評価、承認、デプロイ (ModelOps) する
- モニタリング (ModelOps) のデフォルトおよびカスタム アラート ルール
- カスタム評価メトリックとグラフ (Notebook)
1. プロジェクトを作成する
ModelOps にログインし、プロジェクト画面に移動します。
画面の右上にある [プロジェクトの作成] ボタンをクリックします。ModelOps で、このパスのクローンされたデモ コードを使用します: /app/built-in/demo-models を Git リポジトリとして使用します。ここでは、デモ モデルのパブリック Git: https://github.com/Teradata/modelops-demo-models.git のブランチ "tmo" を Git リポジトリ インスタンスにクローンすることをお勧めします。
プロジェクト作成シート パネル内に、次の値を含めます。
-
名前: 「BYOM クイックスタート」
-
説明: 「BYOM クイックスタート」
-
グループ: DEMO
-
パス: /app/built-in/demo-models
-
信頼証明: 信頼証明なし
-
ブランチ: tmo
「GIT 接続のテスト」ボタンをクリックします。テストが成功したら、「保存して続行」をクリックします。
パーソナル接続を作成する
このガイドでは、サービス接続の作成をスキップします。[保存して続行] をクリックし、[次へ] をクリックして個人接続を作成します。
プロジェクト作成シート パネルの個人接続内に、次の値を含めます。
-
名前: クイックスタート パーソナル
-
説明: クイックスタート パーソナル接続
-
ホスト: ClearScape-url
-
データベース: "demo_user"
-
VAL データベース名: "VAL"
-
BYOM データベース名: "MLDB"
-
ログインメカニズム: "TDNEGO"
-
ユーザー名: demo_user
-
パスワード: あなたのパスワード
[テスト接続] ボタンをクリックして、Vantage 接続をテストします。
「保存」をクリックします。
新しいプロジェクトが作成されると、プロジェクト パネルは次のように表示されます。
接続ヘルスチェックパネル
プロジェクトをクリックしてプロジェクトに入り、左側のメニューの設定に入ります。接続から詳細を表示を使用します。
次に、ヘルスチェック パネルが表示され、この接続ユーザ ーに対して SQLE、BYOM、および VAL 関連権限が有効になっているかどうかが表示されます。ここでエラーが発生した場合は、DBA に連絡して特定の権限を適用してください。必要な特定の GRANT コマンドについては、クイックスタートの添付ファイルに含まれるオンボーディング bteq スクリプトを確認してください。
2. 環境のセットアップ (Notebook)
このクイックスタートに添付されているノートブックに従って、環境のセットアップとデータベース レベルでのチェックを実行します。
3. データセットの作成 (ModelOps)
新しく作成したプロジェクトをクリックし、左側のメニューにある「データセット」ボタンをクリックします。「データセット テンプレートの作成」をクリックします。
次の値を入力します。
-
名前: dataset
-
説明: dataset
-
フィーチャカタログ: Vantage
-
データベース: your-db
-
テーブル: aoa_statistics_metadata
[次へ] をクリックして、機能クエリーを入力します。このクエリーは機能テーブルを識別するために使用されます。統計を検証し、データをプレビューすることもできます。
エンティティとターゲットに進み、クエリーを含めます。このクエリーは、同じエンティティに基づく機能と結合し、トレーニング、評価、スコアリング データセットの行をフィルタ処理するために使用されます。
このクエリーからターゲット変数としてHasDiabetesを選択し、統計を検証する必要があります。
予測に進み、データベース、テーブル、クエリーの詳細を追加します。このクエリーは、このモデルがバッチとしてデプロイされるときに、本番環境でモデルを実行するための入力として使用されます (注: BYOM モデルは、ModelOps バージョン 7 でのみバッチとしてデプロイできます)。
-
データベース: your-db
-
テーブル: pima_patient_predictions
-
クエ リー:
トレーニングデータセットを作成する
データセットの作成をクリックし、名前と説明を入力してトレーニングを選択し、次へをクリックします。
このクエリーでは、データセットの行の 80% をフィルタリングして取得したいので、 MOD 5 <> 0
を使用してこれを取得します。
クエリーを確認し、「作成」をクリックします。
評価データセットを作成する
データセットの作成をクリックし、名前と説明を入力して評価を選択し、次へをクリックします。
このクエリーでは、データセットの行の 20% をフィルタリングして取得したいので、 MOD 5 = 0を使用してこれを取得します。
クエリーを確認し、「作成」をクリックします。
トレーニングと評価の両方のデータセットはこのように表示されます
4. モデルをトレーニングして PMML (Notebook) にエクスポートする
このクイックスタートに添付されているノートブックに従って、モデルのトレーニング、変換を実行し、次の手順でモデル pmml ファイルをダウンロードします。
5. BYOM 関数を使用して PMML を Vantage にインポートする (Notebook)
BYOM パッケージの機能を理解して使用するには、このクイックスタートに添付されているノートブックに従ってください。この方法では、モデルは Vantage に公開されますが、ModelOps レジストリには公開されず、ガバナンス、自動化、監視機能は利用できません。
6. ModelOpsグラフィカルユーザーインターフェイス(ModelOps)を使用してPMMLをVantageにインポートする
ModelOpsへのインポート
左側のメニューのモデルに移動し、BYOMモデルの定義をクリックします。
例として次の値をフィールドに入力します。
-
名前: byom
-
説明: byom
-
フォーマット: PMML
モデルを保存してバージョンをインポートするをクリックします
トレーニング ツールから追跡するための外部 ID のフィールドに入力し、model.pmml ファイルをアップロードします - 注: 名前は必ず model.pmml にする必要があります。
-
外部ID: 001
-
モデルファイル: model.pmml
デフォルトの自動評価と監視を有効にする
この画面では、監視機能を有効にするオプションをマークしたままにします。
このモデルpmmlのトレーニングに使用したトレーニングデータセットを選択する必要があります。このデータセットは以前に作成したので、
次に、[検証] を押します。
BYOM 予測関数は JSON に基づいて出力を生成しますが、これは BYOM モデルごとに異なります。予測のターゲット/出力である特定のフィールドを 知る必要があります。これを評価ロジックで使用し、モデル メトリック (精度、精密度など) を生成するには、JSON 出力ファイルに CAST 式が必要です。
このCAST式の検証と実装を支援するために、生成リンクを追加しました。生成ボタンをクリックしてヘルパー画面に移動し、式を取得します。
次に、予測のターゲット/出力変数を選択します。このデモの場合は、predicted_HasDiabetes です。
「保存」をクリックすると、ヘルパーが式をコピーします。
これは CAST 式です。ダイアログで [保存] をクリックします。 CAST(CAST(json_report AS JSON).JSONExtractValue('$.predicted_HasDiabetes') AS INT)
これで、キャスト式を検証し、「保存」をクリックできます。
MODEL IMPORT の新しいジョブと COMPUTE STATISTICS の別のジョブが数分間実行されます。
7. 自動化されたライフサイクル - 評価、承認、デプロイ (ModelOps) する
ModelOpsでモデルバージョンを評価する
ジョブが完了すると、次の画像のように、この byom モデルのモデル バージョン カタログで新しいモデル バージョンが利用可能になります。モデル バージョンをクリックして、ライフサイクル内に入ります。
モデルはインポート段階にあります。これでモデルを評価できます。EVALUATE をクリックして、自動化されたデフォルトの評価ジョブを実行します。
評価データセットを選択し、「モデルの評価」をクリックします。