皆さんこんにちは!これまであまり知られて来なかったブラウザ版のSPSS Modeler Flow をシリーズでご紹介したいと思います。
IBM Cloudで始めるブラウザ版SPSS Modeler Flow ⑤ では、SPSS ModelerのモデルをWatson Machine Learningにデプロイしてオンラインで呼び出す方法をご紹介します。
シリーズ①サンプルプロジェクトを使ってみる
シリーズ②ファイルからデータを読み込んでみよう
シリーズ③データベースからデータを読み込んでみよう
シリーズ④SPSS Modelerで作成したストリームをIBM CloudのSPSS Modeler Flowに取り込む
シリーズ5回目のこの記事では、以下の流れでご説明します。
SPSS Modelerのモデルをオンラインで呼び出そう
- ユーザー入力ノードの追加
- スコアリング・ブランチとしてモデルを保存
- モデルのプロモート
- モデルのデプロイ
- デプロイしたモデルを実行してみる
1. ユーザー入力ノードの追加
オンラインでのスコアリングのために、csvファイルではない方法で入力データをモデルに与える設定をします。ユーザー入力ノードを使うと入力フィールドを設定することができるので、初めに、既存のフローに「ユーザー入力ノード」を追加します。
IBM Cloudのwatsonxにログインし、watsonxのトップページで左上の 四本線のメニューアイコンから「プロジェクト」>「すべてのプロジェクト」 をクリックします。

シリーズ①サンプルプロジェクトを使ってみるで作成したプロジェクト「SPSS Modeler Project」を開きます。

シリーズ④SPSS Modelerで作成したストリームをIBM CloudのSPSS Modeler Flowに取り込むで作成したフロー(Qiita_cars)を開きます。「インポート」をクリックし、「ユーザー入力」をダブルクリックすると「ユーザー入力」ノードが画面に追加されます。

「ユーザー入力」ノードの上にマウスのカーソルを当てると矢印が表示されるので、マウスでクリックしたまま、モデルナゲット「生産国」に接続します。

「出力」をクリックして「表」をダブルクリックし、モデルナゲット「生産国」から「表」ノードに接続します。

「ユーザー入力」ノードをダブルクリックし、右側に開いた画面にある「値の追加」をクリックします。

以下の内容でフィールドを定義し、任意の値を設定してください。
| フィールド名 | ストレージ | 値 |
|---|---|---|
| 燃費 | 実数 | 19 |
| エンジン | 整数 | 70 |
| 馬力 | 整数 | 97 |
| 車体重量 | 整数 | 2330 |
| 加速性 | 実数 | 13.5 |
| 年式 | 整数 | 72 |
「データの生成」では「すべての組み合わせ」を選択し保存します。

2. スコアリング・ブランチとしてモデルを保存
「スコアリング・ブランチ」を選択し、「表」を選択します。お好きな名前を入力し、保存します。

3. モデルのプロモート
プロモートはモデルをデプロイする前の準備段階です。以下の手順でモデルをプロモートします。
保存したモデルがあることを確認します。右側にある三つの点のアイコンをクリックして、「スペースへのプロモート」を選択します。

先ほど作成したスペース名が指定されていることを確認し、チェックボックスにチェックをし、「プロモート」をクリックします。

4. モデルのデプロイ
デプロイとは、モデルをサービスとして実行可能な状態にすることです。以下オンラインで都度モデルを呼び出しする方法でモデルをデプロイします。この方法をとることにより、APIで他のサービスからモデルを実行することができます。
以下の画面が表示されますので、「スペース設定に移動」をクリックします。

「watsonx.aiランタイム・サービスを選択します」をクリックし、既存のWatson Machine Learningを選択します。ない場合は、作成してください。

「保存」→「デプロイメント・スペース」の順にクリックします。

「資産」をクリックし、保存したモデルの右側にある三つの点のアイコンをクリックして、「デプロイ」を選択します。

「オンライン」を選択し、お好きな名前を入力します。「作成」をクリックします。

5. デプロイしたモデルを実行してみる
デプロイしたモデルを他システムから呼び出すためのAPI、テストするための機能があります。

モデルを「テスト」で実行します。「テスト」タブをクリックし、燃費、エンジン、馬力等、フィールドに値を入れて「予測」をクリックしてください。

「テスト」タブではこのようにフィールド入力欄が用意されているので、簡単にモデルのオンライン実行をテストできます。
なお、オンラインでデプロイした場合は、呼び出していなくてもモデルがいつでも稼働できるように待機していますので、CUHを消費します。
次回はModeler Flowをジョブで実行する方法を説明します。









