IBM i の横にDriverless AI」と題して、H2O Driverless AIの導入および稼働検証を実施しました。

概要

IBM Power Systems汎用モデル(S914:4core)のNone GPUモデルで「IBM i の横にDriverless AI」と題して、H2O Driverless AI(以下Driverless AI)の導入および稼働検証を実施しました。

背景・課題

IBM Power Systems 汎用モデル(None GPU)でも以前からDriverless AIを使用して、数値データや文字データから洞察(需要予測、不正検知など)をすることができましたが、それに加えて画像認識による画像分類ができるようになりました。(2020年7月に発表)
最初にIBM Power Systems汎用モデルのS914にIBM i ホスト-クライアント区画があり、追加でLinuxクライアント区画(RHEL7.6)環境を作成してDriverless AIを導入するのか?
続いて、Driverless AI導入後、どのように画像認識(画像分類)を行うのか?
上記について実際に検証確認いたしました。

製品概要

Driverless AI

数値データ・文字データから需要予測や不正検知のモデルを全自動で高精度に導出し、現場でポータブルに予測や検知を実行できます。

Driverless AI(1)
Driverless AI(2)

※Driverless AIの画像認識(画像分類)について
IBM Power Systems汎用モデルで利用する場合、「画像ベクトライザー」の手法です。

画像認識(分類)には2つの手法があります

メリットとしては、GPU非搭載でも利用可能なところです。

画像認識(分類)の2つの手法比較

構成イメージ

Driverless AI環境
使用したIBM Power Systemsの仕様は以下の通り
モデル:S914(9009-41A:4core)、CPU:1core、MEM:12GB、OS:RHEL7.6(IBM i ホスト-Linuxクライアント)環境
Driverless AI:V1.9.0.6
画像認証で使ったサンプルデータ:
・bird.zip(モデルデータとして、鳩、カラス、カモメなど16種323枚の鳥画像)
・TEST_Bird.zip(予測用データとして、鳩、カモメの2種4枚の鳥画像)

検証内容

  • Driverless AIの導入検証(Linux環境の認証完了してることが前提です)
    S914のIBM i 区画の横にLinux区画を作成して認証処理まで完了します。
    そのLinux環境にDriverless AIの導入します。以下のURLを参照して実施。
    https://dai-doc-jp.au-syd.mybluemix.net/install/ibm-docker.html#install-on-ibm-with-cpusl
    ① yum installコマンドより、Dockerを導入
    ② systemctl startコマンドより、Dockerを開始
    ③ systemctl enableコマンドより、再起動しても自動でDockerが起動済にできる設定
    ④ docker loadコマンドより、Driverless AIを導入
    ⑤ docker runコマンドより、Driverless AIの起動
    ⑥ http://IPアドレスまたはホスト名:12345/にアクセスしてログイン画面が表示確認
  • Driverless AIの画像認証(画像分類)検証
    ① Driverless AIにログイン
    ② 「データセット」の「データの追加」-「ファイルをアップロードする」より、bird.zipのモデルデータと、TEST_Bird.zipの予測用データを取り込む
    ③ 取込み後の確認をbird.zipをクリックして「詳細」-「生データ」にて画像を確認
    ④ 確認後、再度bird.zipをクリックして「EXPERIMENT」をを選択し、「ターゲット列を選択」で“label”選択して「EXPERIMENTの開始」を押下
    ⑤ 完了後、上部メニューから「Experiment」を選択し、作成されたbird.zipをクリックしてモデルデータ分析結果が表示する。
    ⑥ 「他のデータセットで予測」をクリックし、「TEST_Bird.zip」を選択して「完了」ボタンを押下することで画像分類予測を実施する。
    ⑦ 分析が完了して「開く」を押下し、「予測結果のダウンロード」をクリックするとCSVファイルに出力され、ベクトル数値の割合で分類されます。

検証結果

  • DriverlessAIの導入に関しては、「検証内容」の記載の通りで問題無く導入ができました。
  • データセット画面
データセット画面
  • 画像データ確認画面

bird.zip(モデルデータサンプル)

画像データ確認画面 bird.zip(モデルデータサンプル)

TEST_Bird.zip(予測用データサンプル)
上2つは鳩、下2つはカモメです。

画像データ確認画面 TEST_Bird.zip(予測用データサンプル) 
  • EXPERIMENT指定画面(データセット名:bird.zip、ターゲット列名:label)
EXPERIMENT指定画面(データセット名:bird.zip、ターゲット列名:label)
  • EXPERIMENT処理がモデルデータ完了後の画面
    ※因みに完了までに2:46:45(約3時間)で処理が完了しました。
EXPERIMENT処理がモデルデータ完了後の画面
  • 「他のデータセットで予測」処理よりTEST_Bird.zipで分析中(画面右横)
    ※約1分で結果が出ました。
「他のデータセットで予測」処理よりTEST_Bird.zipで分析中(画面右横)
  • 処理後、CSVファイルの内容(ベクトル数値から確率(9割以上)で鳥の種類を分類)
処理後 CSVファイルの内容

※割合設定を9割にして、上2つが「鳩」、下2つが「カモメ」という結果で分類。

検索
割合設定

実際はNoneGPU環境では処理上、以下のような画面上に数値表現する機能はありません。
※以下は画像と数値をマージ加工したものです。

画像と数値をマージ加工したもの

所感

IBM Power Systems 汎用モデル(S914:None GPU)で検証しましたがモデルデータができた後の予測分析もストレスなく分析結果が得られました。
S914の4coreモデルは、最初から4core分がアクティベーションされています。
IBM i が1coreで利用している場合、3core分余ったリソースでLinux区画を構築してDriverless AIを利用することで需要予測や不正検知や画像分類といった付加価値が付けられるのではないでしょうか?
是非、IBM i の横からAIを始めてみませんか?

資料ダウンロード