IBM 機械学習フレームワーク
IBM Watson Machine Learning を使用して、機械学習モデルを評価するときに、ペイロード・ロギング、フィードバック・ロギング、およびパフォーマンスの正確性、ランタイム・バイアス検出、ドリフト検出、説明可能性、および自動バイアス緩和機能の測定を行うことができます。
機械学習モデルの評価には、以下の IBM Watson Machine Learning フレームワークがサポートされています。
表 1. フレームワークのサポート詳細
| フレームワーク | 問題のタイプ | データ・タイプ |
|---|---|---|
| AutoAI1 | 分類 (二項および多項) | 構造化 (データ、テキスト) |
| AutoAI | 回帰分析 | 構造化または非構造化2 (テキストのみ) |
| Apache Spark MLlib | 分類 | 構造化または非構造化2 (テキストのみ) |
| Apache Spark MLLib | 回帰分析 | 構造化または非構造化2 (テキストのみ) |
| Keras と TensorFlow3&4 | 分類 | 非構造化2 (画像、テキスト) |
| Keras と TensorFlow3&4 | 回帰分析 | 非構造化2 (画像、テキスト) |
| Python 関数 | 分類 | 構造化 (データ、テキスト) |
| Python 関数 | 回帰分析 | 構造化 (データ、テキスト) |
| sc ikit-learn5 | 分類 | 構造化 (データ、テキスト) |
| scikit-learn | 回帰分析 | 構造化 (データ、テキスト) |
| X GBoost6 | 分類 | 構造化 (データ、テキスト) |
| XGBoost | 回帰分析 | 構造化 (データ、テキスト) |
1. 「 AutoAI, 」の詳細については、 AutoAI の実装詳細をご覧ください。 トレーニングデータが Cloud Object Storage 形式のモデルについては、Boolean型の公平性属性はサポートされていません。 ただし、トレーニング・データが Db2 の場合、モデル評価はブール型の公平性属性をサポートします。 AutoAI オプションを使用する場合、モデル予測がバイナリー・データ・タイプであると、モデル評価はサポートされません。 このようなモデルは、予測のデータ・タイプがストリング・データ・タイプになるように変更する必要があります。
2非構造化 (画像またはテキスト) データ・タイプでは、公平性指標とドリフト指標はサポートされません。
3Keras のサポートには、公平性のサポートは含まれていません。
4説明性は、モデル/フレームワークが予測確率を出力する場合にサポートされます。
5 ドリフト検出モデルを生成するには、ノートブックで scikit-learn バージョン 1.3.2 を使用する必要があります。
6. XGBoostの二値分類モデルおよび多クラス分類モデルについては、予測確率を、二値分類モデルでは数値として、多クラス分類モデルではクラスごとの確率のリストとして返すようにモデルを更新する必要があります。 XGBoost フレームワークのサポートには、クラス判別問題に関する以下の制限があります。 2 項分類の場合、 binary:logistic の確率として出力を持つ True のロジスティック回帰関数がモデル評価でサポートされます。 複数クラスの分類の場合、各クラスに属する各データ・ポイントの予測確率が含まれる結果を multi:softprob 関数で得ることが、モデル評価でサポートされています。
ネイティブXGBoostモデルにおけるXGBoostサブスクリプションの制限
最新バージョン WML では、 xgboost_0.82 フレームワークは非推奨になりました。 サポートされているフレームワークは であり xgboost_0.90、 Python および 3.7 と組み合わせて使用する必要があります。 XGBoostのバージョン 0.90 および Python 3.7 を有効にして永続化するには、次のコマンドを実行してサブスクリプションにパッチを適用する必要があります:
PATCH /v2/subscriptions/<subscription_id>
たとえば、次のコマンドを実行すると、 URL とサブスクリプションIDの全情報が表示されます:
PATCH https://namespace.apps.server.company.com/openscale/00000000-0000-0000-0000-000000000000/v2/subscriptions/18bbe3f9-c550-44e7-b948-675bafcb1c63
期待通りのペイロードが返されます:
[{
"op": "replace",
"path": "\/asset\/runtime_environment",
"value": "xgboost_0.90"
}]
サブスクリプションのパッチ適用が正常に完了し、スコアリングが実行されると、出力データのスキーマには適切なモデリングロールが設定されます:
{
"metadata": {
"modeling_role": "class_probability"
},
"name": "prediction",
"nullable": true,
"type": "double"
}, {
"metadata": {},
"name": "probability",
"nullable": true,
"type": "double"
}, {
"metadata": {
"modeling_role": "prediction-probability"
},
"name": "prediction_probability",
"nullable": true,
"type": "double"
}, {
"metadata": {
"modeling_role": "prediction"
},
"name": "scoring_prediction",
"nullable": true,
"type": "integer"
}
AutoAI モデルと訓練データ
AutoAI は、データを自動的に準備し、アルゴリズムや推定器を適用し、データとユース・ケースに最適なモデル・パイプラインを作成します。 評価のためにモデルを分析するには、トレーニング・データにアクセスする必要があります。
AutoAI モデル評価の場合、通常のモデルの場合とは異なり、トレーニング・データの場所は検出されないため、トレーニング・データの場所にアクセスするために必要な詳細を明示的に指定する必要があります。
- モニターを手動で設定するオンラインパスでは、トレーニングデータにアクセスできるデータベースの詳細情報を指定する必要があります。
- 訓練データ分布をアップロードするカスタム・ノートブック・パスの場合は、ノートブックを実行して生成した JSON ファイルを使用できます。
詳細については、 「モデルの詳細の提供」 を参照してください。
IBM Watson Machine Learning サービスインスタンスの指定
モデル評価を構成するための最初のステップは、 IBM Watson Machine Learning ・インスタンスを指定することです。 Machine Learning インスタンスは、AIモデルやデプロイメントを保存する場所です。
前提条件
モデル評価のサービス・インスタンスが存在するのと同じアカウントまたはクラスターに IBM Watson Machine Learning インスタンスをプロビジョンしておく必要があります。 IBM Watson Machine Learning インスタンスを他のアカウントまたはクラスターにプロビジョンした場合は、モデル評価のためにペイロード・ロギングを自動的に行うようにそのインスタンスを構成することはできません。
Machine Learning サービスインスタンスを接続する
IBM Watson Machine Learning インスタンス内の AI モデルおよび デプロイメント に接続して、モデル評価を行うことができます。 サービスを接続するには、「 構成
」タブに移動し、機械学習プロバイダーを追加して、「 編集
」アイコンをクリックします。 名前と説明、「実動前」環境タイプと「実動」環境タイプのどちらであるかに加えて、このタイプのサービス・インスタンスに固有の以下の情報を指定する必要があります。
IBM Watson Machine Learning のインスタンスがある場合、そのインスタンスは構成情報とともに検出されます。
別の IBM Cloud Pak for Data ・インスタンス上の IBM Watson Machine Learning に接続するには、 URL 、ユーザー名、および API キーを指定します。
IBM Cloud 上の IBM Watson Machine Learning に接続するには、クラウド・リージョンと API キーを指定します。
IBM Cloud Pak for Data では、 1 つの API キーのみが許可されます。 新しい API キーを生成すると、以前の API キーは自動的に取り消されます。 IBM Cloud Pak for Data で API キーを更新する場合は、 Watson OpenScale でも API キーを更新する必要があります。
制限
別の IBM Cloud Pak for Data ・インスタンス上の IBM Watson Machine Learning に接続する場合、以下の制限が適用されます。
- API キーには、 IBM Watson Machine Learning の デプロイメント・スペース に対する管理者権限が必要です。
- 自動ペイロード・ロギングは使用できません。 Watson OpenScale データ・セット API を使用して、ペイロード・ロギングを送信します。
IBM Cloud の IBM Watson Machine Learning に接続する場合、以下の制限が適用されます。
- API キーには、 IBM Watson Machine Learning の デプロイメント・スペース に対する管理者権限が必要です。
- 自動ペイロード・ロギングは使用できません。 Watson OpenScale データ・セット API を使用して、ペイロード・ロギングを送信します。
- 評価中に、 IBM Cloud の IBM Watson Machine Learning ・モデルの負荷が増加します。