0 / 0
資料の 英語版 に戻る
マルチソース SPSS Modeler フローの展開
最終更新: 2024年12月18日
マルチソース SPSS Modeler フローの展開

モデルにデータを提供するために複数の入力ストリームを使用する SPSS Modeler フローのオンライン配置を作成できます。

プロセスの概要

複数の入力ストリームを使用して SPSS Modeler フローを作成すると、モデルのオンライン展開を作成できます。

次の図は、2つの入力ストリームを使用する SPSS Modelerのフローを示しています。 フローはデータを処理し、機械学習モデルを作成する。 このモデルを保存して、オンライン配備を作成することができます。 モデルをデプロイした後、アプリケーションでスコアリングのためにエンドポイントを使用することができます。

複数の入力ソースによる SPSS Modeler フロー

マルチソース SPSS Modeler フローを展開するためのタスク

ユーザーインターフェースまたは watsonx.ai REST APIから、マルチソース SPSS Modeler フローを作成および展開できます。

ユーザーインターフェースからのモデルの作成と展開

以下の手順に従って、ユーザーインターフェイスからマルチソース SPSS Modeler フローを作成し、展開します:

  1. SPSS Modeler フローを作成します: SPSS Modeler フローを作成することで、プロジェクトにマルチソースモデルを作成できます。
  2. モデル アセットのプロモート : モデルを作成したら、モデルのアセットをプロジェクトからデプロイメント スペースにプロモートします。
  3. モデルをデプロイします:採点用のエンドポイントを使用するためのオンラインデプロイメントを作成します。
  4. 配備されたモデルをテストする:配備されたモデルに対してスコアをつける。

REST API からのモデルの作成とデプロイ

以下の手順に従って、 watsonx.ai REST API からマルチソース SPSS Modeler フローを作成し、デプロイしてください:

  1. モデルを作成する :スキーマを提供することで、マルチソースモデルを作成することができます。
  2. モデルのコンテンツをアップロードします:モデルを作成したら、 watsonx.ai Runtime のリポジトリアセットにモデルのコンテンツをアップロードする必要があります。
  3. モデルをデプロイします:採点用のエンドポイントを使用するためのオンラインデプロイメントを作成します。
  4. 配備されたモデルをテストする:配備されたモデルに対してスコアをつける。

ユーザーインターフェースからのマルチソースモデルの作成と展開

SPSS Modelerでマルチソースモデルを作成し、ユーザーインターフェースからモデルを展開するには、以下の手順に従ってください。

タスク 1: SPSS Modeler でマルチソースモデルを作成する

SPSS Modeler フローを作成することで、マルチソースモデルを作成できます。 詳細については、 SPSS Modeler フローの作成を参照してください。

タスク2:モデル資産の促進

モードを展開するには、 SPSS Modelerを使用して作成したモデル資産を展開スペースに昇格させる必要があります。 詳細は、「 アセットを配置スペースにプロモ ートする 」を参照してください。

タスク3:マルチソースモデルの展開

SPSS Modeler で複数の入力ソースを使用して作成された機械学習モデルのオンライン配置を作成するには、次の手順に従います:

前提条件

AIサービスをデプロイするためのタスク認証情報を設定する必要があります。 詳細については、 タスク資格情報の管理を参照のこと。

  1. デプロイメント スペースから[ アセット] タブに移動します。

  2. 機械学習モデルについて、 メニューアイコンをクリックし、 デプロイを選択する。

    スクリーンショットは、機械学習モデルのデプロイを示している

  3. 展開のタイプとして Online を選択します。

    スクリーンショットは、モデルのオンラインデプロイメントを作成する様子を示しています

  4. 配置の名前を入力し、オプションでサービング名、説明、タグを入力します。

  5. 「作成」 をクリックします。

タスク4:展開されたモデルのテスト

テキストまたはJSON形式で入力を提供することで、デプロイされたモデルを採点することができます。

配備したモデルを採点するには、以下の手順に従ってください:

  1. 配置スペースまたはプロジェクトで、[ 配置] タブを開き、配置名をクリックします。
  2. テスト] タブをクリックして、プロンプトのテキストを入力し、配置された資産からの応答を取得します。
  3. テストデータをテキストまたはJSON形式で入力し、出力を生成する。

REST APIを使用したマルチソース SPSS Modeler フローの作成と展開

以下の手順に従って、 SPSS Modeler でマルチソースモデルを作成し、 watsonx.ai REST API からモデルを配置してください。

タスク 1: SPSS Modeler によるマルチソースモデルの作成

SPSS Modelerを使用すると、複数の入力ソースを持つモデルを作成できます。

JSON形式のモデルスキーマの要件

JSON形式の複数入力モデル・スキーマを作成する場合、スキーマは以下の要件を満たす必要があります:

入力JSONオブジェクトの主な要件
コンポーネント 説明
構造 各オブジェクトは idfieldsvalues を含んでいなければならない。
ID 文字列でなければなりません。
フィールド 文字列の配列でなければならない。
配列の配列でなければならない。
バリュー・アイテム values 内の各項目は配列でなければならない。

次のコードは、スキーマを持つモデルを作成する方法を示しています:

curl -H "Authorization: Bearer <TOKEN>" \
-H "content-type: application/json" \
--request POST '<HOSTURL>/ml/v4/models?version=2020-06-12' \
--data-raw '{
     "name": "spss-multi-source-user-input-table-output",
     "space_id": "<SPACE ID>",
     "description": "This is my first resource.",
     "software_spec": {
      "id": "687eddc9-028a-4117-b9dd-e57b36f1efa5",
      "name": "spss-modeler_18.2"
    },
    "type": "spss-modeler_18.2",
    "schemas": {
      "input": [{
        "fields": [{
          "metadata": {   

          },
          "name": "customerID",
          "nullable": true,
          "type": "string"
        }, {
          "metadata": {   
          },
          "name": "gender",
          "nullable": true,
          "type": "string"
        }, {
          "metadata": {   
          },
          "name": "SeniorCitizen",
          "nullable": true,
          "type": "integer"
        }, {
          "metadata": {   
          },
          "name": "Partner",
          "nullable": true,
          "type": "string"
        }, {
          "metadata": {   
          },
          "name": "Dependents",
          "nullable": true,
          "type": "string"
        }, {
          "metadata": {   
          },
          "name": "tenure",
          "nullable": true,
          "type": "string"
        }, {
          "metadata": {   
          },
          "name": "PhoneService",
          "nullable": true,
          "type": "string"
        }, {
          "metadata": {   
          },
          "name": "MultipleLines",
          "nullable": true,
          "type": "string"
        }, {
          "metadata": {   
          },
          "name": "InternetService",
          "nullable": true,
          "type": "string"
        }, {
          "metadata": {   
          },
          "name": "OnlineSecurity",
          "nullable": true,
          "type": "string"
        }, {
          "metadata": {   
          },
          "name": "OnlineBackup",
          "nullable": true,
          "type": "string"
        }, {
          "metadata": {   
          },
          "name": "DeviceProtection",
          "nullable": true,
          "type": "string"
        }, {
          "metadata": {   
          },
          "name": "TechSupport",
          "nullable": true,
          "type": "string"
        }, {
          "metadata": {   
          },
          "name": "StreamingTV",
          "nullable": true,
          "type": "string"
        }, {
          "metadata": {   
          },
          "name": "StreamingMovies",
          "nullable": true,
          "type": "string"
        }, {
          "metadata": {   
          },
          "name": "Contract",
          "nullable": true,
          "type": "string"
        }, {
          "metadata": {   
          },
          "name": "PaperlessBilling",
          "nullable": true,
          "type": "string"
        }, {
          "metadata": {   
          },
          "name": "PaymentMethod",
          "nullable": true,
          "type": "string"
        }],
        "id": "id5B2XR2L3LS6",
        "name": "uinode1",
        "type": "struct"
      }, {
        "fields": [{
          "metadata": {   
          },
          "name": "MonthlyCharges",
          "nullable": true,
          "type": "double"
        }, {
          "metadata": {   
          },
          "name": "TotalCharges",
          "nullable": true,
          "type": "double"
        }, {
          "metadata": {   
          },
          "name": "Churn",
          "nullable": true,
          "type": "string"
        }, {
          "metadata": {   
          },
          "name": "SampleWeight",
          "nullable": true,
          "type": "double"
        }],
        "id": "id3YXBN73TTS",
        "name": "uinode2",
        "type": "struct"
      }],
      "output": [{
        "fields": [{
          "metadata": {   
          },
          "name": "Churn",
          "nullable": true,
          "type": "string"
        }, {
          "metadata": {   
          },
          "name": "customerID",
          "nullable": true,
          "type": "string"
        }, {
          "metadata": {   
          },
          "name": "Predicted Churn",
          "nullable": true,
          "type": "string"
        }, {
          "metadata": {   
          },
          "name": "Probability of Churn",
          "nullable": true,
          "type": "double"
        }],
        "id": "id6BPTTYFV44A",
        "name": "Output data",
        "type": "struct"
      }]
    }
}'

タスク2:モデルのコンテンツをアップロードする

watsonx.ai Runtime でリポジトリアセットを作成するには、モデルのコンテンツをアップロードする必要があります。

次のコードは、モデルコンテンツをアップロードしてモデルアセットを作成する方法を示しています:

curl -vk -X PUT "<HOSTURL>/ml/v4/models/<MODELID OBTAINED FROM STEP1 RESPONSE>/content?version=2020-08-08&content_format=native&space_id=<SPACEID>" -H "Authorization: Bearer    <TOKEN>" --data-binary @/PATH/WHERE/ZIP/IS/AVAILABLE/exsistingmultipleuserinputtableoutput.zip

タスク3:モデルの展開

/ml/v4/deployments エンドポイントを使用して、 SPSS Modeler Flow で作成した複数入力モデルのオンライン配置を作成できます。

前提条件

既存の IBM Cloud API キーを持っているか、新しい API キーを生成する必要があります。

以下のコードサンプルは、 watsonx.ai REST API を使ってオンラインの多入力モデルを作成する方法を示しています:

curl --request POST \
  --url '<HOST>/ml/v4/deployments?version=2023-03-10' \
  --header 'Authorization: Bearer <TOKEN>' \
  --header 'Content-Type: application/json' \
  --data '{
	"asset": {
		"id": "<MODEL ID FROM FIRST STEP>"
	},
	"description": "Multi Source Online Deployment",
	"name": "spss_multi_source_online_deployment",
	"space_id": "<SPACE ID>",
	"online": {
	  "parameters": {
		"serving_name": "spssmultisource"
	  }
	}
}'

タスク4:展開されたモデルのテスト

モデルのスキーマにマッチするJSON形式の入力データを入力することで、デプロイされたモデルに対してスコアをつけることができます。

以下のコードサンプルは、JSON形式の入力データを渡し、REST APIを使用してデプロイされたモデルに対してスコアを付ける方法を示しています:

curl -H "Authorization: Bearer <TOKEN>" \
-H "content-type: application/json" \
--request POST '<HOST>/ml/v4/deployments/<DEPLOYMENT_ID RECEIVED FROM STEP 3>/predictions?version=2020-06-12' \
--data-raw '{
     "input_data": [
    {
      "id": "uinode1",
      "fields": ["customerID","gender","SeniorCitizen","Partner","Dependents","tenure","PhoneService","MultipleLines","InternetService","OnlineSecurity","OnlineBackup","DeviceProtection","TechSupport","StreamingTV","StreamingMovies","Contract","PaperlessBilling","PaymentMethod"],
       "values":[["3638-WEABW","Female",0,"Yes","No","58","Yes","Yes","DSL","No","Yes","No","Yes","No","No","Two year","Yes","Credit card (automatic)"]]
    },
    {
      "id": "uinode2",
      "fields": ["MonthlyCharges","TotalCharges","Churn","SampleWeight"],
      "values":[[59.9,3505.1,"No",2.768]]
    }
  ]
}'

出力

{"predictions": {"fields":["Churn","customerID","Predicted Churn","Probability of Churn"],"values":[["No","3638-WEABW","No",0.0526309571556145]]} ]}