Watson OpenScaleの全体像


はじめに

MLOps(機械学習/AIモデルを継続的に運用していく仕組み) を実現するサービスの一つとして、IBM Cloud 上でWatson OpenScaleというサービスがあります。
Watson OpenScale は、モデルやデータのモニタリング機能を提供しています。
Watson Studio でモデルを作成し、Watson Machine Learning にデプロイしたモデルを Watson OpenScale でモニタリングすることができます。
Watson OpenScale の一つ一つの機能や使い方などは様々な資料で説明されていますが、全体がつかみにくいので、この記事ではWatson OpenScaleの全体像について解説していきたいと思います。


Watson OpenScaleとは

全体像の解説に入る前に、Watson OpenScaleの主要な機能について振り返りたいと思います。
主要な機能は、以下の4つです。

  • 正確性(Accuracy)
    • 本番ランタイムでの性能劣化の検知します。
  • 公平性(Fairness)
    • 本番ランタイムでの公平さの問題(バイアス)の検知します。
  • ドリフト(Drift)
    • 学習時とデータやモデルの傾向に違いがないかチェックします。
      • モデル・ドリフト:実行時のモデルの正確度の低下を推定します。
      • データ・ドリフト:訓練時のデータの特性と比較した、実行時のデータの整合性の低下を推定します。
  • 説明性(Explainability)
    • AIの予測・判定結果の根拠・道筋の提示します。
    • トランザクション単位の入力項目別寄与度を調べることが可能です。

Watson OpenScaleについての説明は、こちらの記事がわかりやすくまとまっていますので、ご参照ください。


Watson OpenScale の全体像

各コンポーネントとの関連を1枚の絵で表現すると以下のようになります。


Watson OpenScale の重要なデータ

Watson OpenScale はモニタリングで使用するデータを格納するためのDBを保持していて、このDBを「データマート」と呼びます。
このデータマートに保持されるデータのうち、重要なデータが2つあります。ペイロード・データとフィードバック・データです。

  • ペイロード・データ(Payload Data)
    • 入力データと推論結果をセットとするデータ。(未来の予測データ)
    • 公正性、ドリフト、説明性のモニタリングに使用します。
    • ペイロード・データをデータマートに取り込む機能のことをペイロード・ロギング(Payload Logging)と言います。
  • フィードバック・データ(Feedback Data)
    • 正解ラベル付きのデータ。(過去の実績データ)
    • 正確性のモニタリングに使用します。
    • フィードバック・データをデータマートに取り込む機能のことをフィードバック・ロギング(Feedback Logging)と言います。

もう一つ重要なデータとして、トレーニング・データがあります。

  • モデル学習時のトレーニング・データ(Training Data)
    • 「モデルを作った時のトレーニング・データ」もモニター定義の際に必要です。保管先は、ICOS または Db2 のみサポートしています。
    • トレーニング・データはモニター定義の際に設定し、データマートには統計情報とメタデータが保管されます。
    • 主にデータ・ドリフトのモニタリングに使用します。

モニタリングの流れ

Watson OpenScale 利用の流れとしては、以下の通りです。

事前準備

  1. Watson Studio でモデルを作成して、プロモートします。
  2. Watson Machine Learning でモデルをデプロイして公開します。
  3. Watson OpenScale で上記でデプロイしたモデルをモニタリングするように構成します。

本番自動運用

  1. アプリケーションからデプロイされたモデルに対して API Callして「推論」を行います。
  2. Watson Machine Learning からアプリケーションにモデルの予測結果を返します。
  3. 同時に、Watson OpenScale のデータマートにペイロード・データを自動的に取り込みます。

本番随時運用

  1. Watson OpenScale にフィードバック・データを取り込みます。

参考リンク

MLOpsでのモデルやデータのモニタリング要件を考える
https://qiita.com/ttsuzuku/items/7d871598b20e6dad4a9f
Watson OpenScaleを触る前に知っておきたかったこと(技術Tipsなど)
https://qiita.com/ishida330/items/2c9b049966a988850b06