元気しとーと? 博多に住んどうUiPathプリシェールス @ManabuTechばい。
(お元気でしょうか? 博多に在住しておりますUiPathプリセールス ManabuTech です)
今回は、Pythonの知識が無くてもAIを業務に適用できるAI Centerを利用した方法を解説します。
今回の予測業務に使用するデータの解説は、AIを業務で利用するポイントと合わせてこちらで解説しています。
AI Centerとは?
AI Centerは業務を知らないAIエンジニアとAIを知らない業務担当者を結びつけるためのツールです。すぐに使えるAIモデルが用意されており、AI Centerで作成したAIモデルはRPA(UiPath Studio)からAIの知識が無くても簡単に呼び出すことができます。AI Centerを用いることでAIモデルの管理と再学習が可能になります。
AIモデルの作成方法
AI Centerを使用するには、AI Unitライセンスが必要です。
UiPath Studioから呼び出すには、MLスキルを作成する必要があります。
MLはMachineLearning(機械学習)の略です。
AI Center側の操作として、大きく分けて6つのステップがあります。
- AI Centerサービスの有効化
- AI Centerプロジェクトの作成
- MLパッケージ作成
- データセット登録
- パイプライン実行
- MLスキル作成
1. AI Centerのサービス有効化
Automation Cloudの管理画面からテナントのAI Centerサービスを有効化します。
2. AI Centerのプロジェクト作成
Automation Cloudの有効化したAI Centerからプロジェクトを作成します。
3. MLパッケージ作成
MLパッケージはAIモデルです。
UiPathが開発したものですぐに使えるものが用意されています。
カスタムモデルとして自作したAIモデルをアップロードすることもできます。
今回はOpen-Source Packagesの中にあるTablar Data、回帰を行うためのTPOTAutoMLRegressionを使用します。
TPOTAutoMLとは、複数のAIモデルに対してトレーニングして精度の高いモデルを自動的に採用してくれるものです。
4. データセットの登録
ボストンの住宅価格が管理されたCSVファイルを登録します。
約500件のデータは、トレーニング用、検証用、テスト用の3つに分けます。
この2つをAI Centerにアップロードします。
・boston_training.csv(300件)
・boston_validate.csv(100件)
フォルダをアップロードからCSVファイルをアップロードします。
5. パイプラインでトレーニング
パイプラインからトレーニングすることができます。
TPOTAutoMLではターゲットとなる目標変数の列名を指定する必要があります。
環境変数で変数名「target_column」に「MEDV」を設定します。
先ほどのパッケージとバージョンを指定します。
入力データセットと評価データセットには、アップロードしたデータセットを指定します。
トレーニング用と検証用のデータを分けておくとどれくらいの精度が出るかスコアが出ます。
この精度は、トレーニングのデータ数が足りているかの1つの指標になります。
ログを見ると、GradientBoostingRegressionが一番精度が高いモデルとして採用された様です。
2023-08-XX XX:51:50,131 - uipath_core.trainer_run:write:11 - INFO:
2023-08-XX XX:51:50,548 - uipath_core.trainer_run:write:11 - INFO:
2023-08-XX XX:51:50,548 - uipath_core.trainer_run:write:11 - INFO: Best pipeline:
2023-08-XX XX:51:50,548 - uipath_core.trainer_run:write:11 - INFO:
2023-08-XX XX:51:50,548 - uipath_core.trainer_run:write:11 - INFO: GradientBoostingRegressor(RidgeCV(input_matrix), alpha=0.95, learning_rate=0.1, loss=huber, max_depth=4, max_features=0.4, min_samples_leaf=2, min_samples_split=19, n_estimators=100, subsample=0.8)
2023-08-XX XX:51:51,350 - uipath_core.training_plugin:train_model:134 - INFO: Model trained successfully with response None
2023-08-XX XX:51:51,351 - uipath_core.training_plugin:save_model:157 - INFO: Start model save...
6. MLスキル化
UiPath StudioでAIモデルを使えるようにMLスキル化します。
パイプラインでトレーニングが完了したパッケージバージョンを指定します。
20分程度でMLスキルが「利用可能」ステータスになります。
APIキーとURLは後で使用します。
AIモデルの呼び出し方法
ここからUiPath Studio側でAI Centerで作成した処理を呼び出してExcelに格納する方法を解説していきます。
3つのステップが必要です。
- MLスキルの入力変換
- MLスキル呼び出し
- MLスキルの出力変換
1. MLスキルの入力変換
今回使用するTPOTAutoMLRegressionモデルは入力がjson形式です。
このため、CSVファイルをjson形式に変換してやる必要があります。
この処理はTPOTAutoMLRegressionを使用するワークフローで流用できますので、一度作っておきましょう。
CSVファイルを読み込んで、CSV各列の値をDictionary型の変数にキーと値を設定します。
Newtonsoft.Json.JsonConvert.SerializeObject関数でjson形式の変数に変換して格納します。
dictというDictionary型の変数を作成して初期化します。
CSVデータで繰り返しDictionary型の変数に保存します。
2. MLスキルの呼び出し
3. MLスキルの出力変換
AI Centerのレスポンスには括弧があるため、Replace関数で取り除いています。
最後に
今回はAI Centerを使用してAIで予測する方法を解説しました。
UiPathで公開されているTPOTAutoMLモデルを利用することで、Pythonの知識が無くてもAIを使うことができました。
AIはモデルのチューニングなど必要なイメージですが、TPOTAutoMLであれば、複数のAIモデルで検証して一番良いモデルを選ぶため、精度もPythonで作ったよりも高くなりました。
トレーニングデータも業務で使用したCSVファイルを再度データセットに格納してパイプラインを実行することで再度、Pythonの知識無くトレーニングを行うことができます。
今回は簡単なデモのため、前段階のデータ処理を行っていませんが、CSVファイルの前段階で外れ値を除外したりすることによって、さらに精度を高めていくことができます。
AI Centerの無料トライアル
AI Centerを試してみたいという方は、無料トライアルがも可能です。
60日間と期間が決まっていますが無料でAI Centerの試用が可能ですので、興味のある方はこちらから申し込んでみてください。