🧾

異常検知(MLP)-Windows-

 

前提条件

学習 API を利用するには以下の条件を満たしている必要があります。
 
  • Business プランを契約した上でモデル API サービス 無制限オプションに加入している
 
モデル API サービス 無制限オプションの詳細については以下参照してください。
📓Node-AI モデルAPIサービスの概要2025/3/4 18:452025/5/3 17:41
 

事前準備

学習 API を利用するには、以下の条件を満たしている必要があります。
 
  • 実験管理に学習 API に利用したい異常検知用ツリーの実行時のパラメータが表示されている事
 
実験管理に該当のツリーの結果を保存するためには以下の手順を踏む必要があります。
 
  • キャンバス上で異常検知用のツリーを用意してある事
  • ツリーに異常度可視化が含まれている事
  • ツリー全体を実行済みである事
 
実験管理については以下のドキュメントをご覧ください。
📗実験管理2024/8/5 14:022024/9/5 16:36
 

手順

Node-AI 上での準備

学習 API を利用するためには以下の二つを Node-AI 上で準備する必要があります。
 
  • API を利用するための API キー (JWT)
  • 学習エンドポイント用 API ID (UUID)
 
Node-AI の API タブ に進んでいただき、「API を追加」ボタンを押してください。
 
 
次のようなモーダルが表示されるので、種別で「学習」を選択し、利用したいモデルを選んでください。
 
 
すると作成済みの API 一覧が表示されるので、作成した API の行を選択すると右のようなパネルが表示されます。このパネルで API キーAPI ID が取得を取得してください。この2つの値が学習 API を利用するのに必要な値となっています。
 
 

学習 API の利用手順

WEB API を用いたモデルの学習の流れは以下の通りです。
 
  1. 学習の実行
  1. 学習状態の取得と学習完了まで待機
  1. 学習完了時に作成される推論用エンドポイントを実行
 
本ドキュメントにおいては、一般的に想定される一連の学習 API の利用の流れを解説します。そのため各エンドポイントのレスポンスの型や意味については、API 一覧のドキュメントにてご確認ください。
📓API 一覧2025/5/3 15:382025/5/3 17:16
 
 
手順1: 学習の実行
学習を実行するためには、/v1/anomalyDetection/mlp/training/input/csv/{ApiId} に対して HTTP リクエストを POST で送信する必要があります。サーバに対しては以下の情報を JSON 形式で送信します。
 
  • 学習完了時に作成される推論 API の名前・概要
    • inferenceApiName
    • inferenceApiDescription
  • モデルの学習に用いる学習用データ (csv) を base64 化したもの
    • trainingDataset
  • モデルの学習に用いるパラメータ
    • trainingConfigs
 
 
手順2: 学習状態の取得と学習完了まで待機
手順1でモデルの学習を モデル API サービスに対して要求しましたが、モデルの学習には一般的に時間がかかります。そのため モデル API サービスでは学習実行のための HTTP リクエストが送信された際、学習が完了したら HTTP のレスポンスが返ってくるのではなく、学習がスケジューリングされた段階でレスポンスが返ってきます。つまり学習が終わるまで、定期的に学習状況を確認する必要があります。学習がスケジューリングされた段階で学習ジョブが作成され、その id (学習ジョブ id) が払い出されます。学習ジョブについては以下ページを参照してください。
📓Node-AI モデルAPIサービス利用の流れ2025/5/3 15:392025/5/3 17:42
 
学習の状況 (学習ジョブのステータス) は /v1/training/jobs/{TrainingJobId} に対して HTTP リクエストを GET で送信する事で取得できます。なお {TrainingJobId} については手順1で利用した API のレスポンス に含まれているので、そちらをご利用ください。
 
 
手順3: 学習完了時に作成される推論用エンドポイントを実行
学習が正常に完了した時 (学習ジョブの status が completed になった時)、その学習によって再学習された新しいモデルが作成されます。この新しいモデルで推論(異常検知)するための推論 API 用の id として InferenceApiId が払い出されます。この InferenceApiId を用いて /v1/anomalyDetection/mlp/inference/input/csv/{InferenceApiId} に対して HTTP リクエストを POST で送信する事で新しいモデルを用いた推論が可能です。 なお /v1/anomalyDetection/mlp/inference/input/csv/{InferenceApiId} を自分で組み立てるのではなく、手順2で得られた最後のレスポンスの JSON 内の inferenceApiUri.input.csv というメンバに含まれている URI を利用していただく事も可能です。
以下の PowerShell コード内では $trainingJob.inferenceApiUri.input.csv という形でレスポンスに含まれる URI を利用してます。
 
 

完全な example コード

上記の手順を1つのスクリプトとしてまとめたものが以下のコードです。
example.ps1 などのファイル名で保存し、PowerShell で実行する事ができます。