このチュートリアルは、ラーニング・パス「Getting started with Watson OpenScale」を構成するコンテンツです。
レベル | トピック | タイプ |
---|---|---|
101 | AI に信頼感を植え付ける | 記事 |
102 | IBM Watson OpenScale and AI Fairness 360: Two new AI analysis tools that work great together | ブログ |
103 | IBM Watson OpenScale の導入 | チュートリアル |
201 | Watson OpenScale でモデルをモニタリングする | パターン |
301 | Using OpenScale with any model, anywhere | シリーズ |
はじめに
このチュートリアルでは、IBM® Watson™ OpenScale を利用して人工知能 (AI) モデルの公平性と精度をモニタリングする方法を説明します。Watson OpenScale は公平性の問題を軽減するために、自動的に バイアス排除 したモデル・エンドポイントを生成します。さらに、モデルの予測結果に影響を与えた要素を理解するのに役立つ 説明可能性 の概観を提供します。チュートリアルの手順を進める中で、これらの機能を実際に確かめることができます。また、Watson OpenScale が ドリフト検出 をどのように使用するかについても学びます。ドリフト検出により、実行時のデータがトレーニング・データと矛盾している場合や精度の低下につながりそうなデータが増えている場合に、その状況を把握できます。
このチュートリアルに従うには、IBM Cloud Pak for Data または IBM Cloud を使用してください (無料トライアルを使用できます)。サンプル・モデルをすばやく開始できるよう、このチュートリアルでは自動セットアップを使用します。
公平性の使用ケース
このチュートリアルで使用するモデルは信用リスク予測子です。融資申請データが含まれるデータセットを使用して、「リスクあり」または「リスクなし」を予測します。データには機密性があるとみなされる 2 つの属性 sex
(性別) と age
が含まれています。Watson OpenScale を利用してこのモデルを実行すると、信用リスク予測子に潜む性的バイアスを検出、説明、修正できます。
自動セットアップ
自動セットアップに従うと、バックグラウンドで自動的にタスクが実行されてセットアップを完了できます。自動セットアップ・プロセスは、最小限のユーザー操作で完了するように設計されていて、自動的に次の決定が行われます。
- 複数の IBM Watson Machine Learning インスタンスがセットアップされている場合、インストール・プロセスで API 呼び出しを実行してインスタンスをリストアップし、結果のリストの先頭にある Watson Machine Learning インスタンスを選択します。
- 新しいライト・バージョンの Watson Machine Learning インスタンスを作成する場合、Watson OpenScale インストーラーはユーザーが所有している IBM Cloud アカウントのデフォルト・リソース・グループを使用します。
自動セットアップはガイド付きツアーで終了します。「Next (次へ)」をクリックしてシナリオを進めながら、Watson OpenScale の主要な機能を確認できます。ツアーを終了した後は (いつでも終了できます)、自分で UI を調べることができます。信用リスク・モデルは自動的にデプロイされるため、UI を使ってこのモデルを探索できます。このチュートリアルでは信用リスク・モデルを使用して、Watson OpenScale の機能を調べられるようになっています。
所要時間
このチュートリアルの所要時間は約 45 分です。
手順
このチュートリアルでは、以下のタスクを行う方法を学びます。
- Watson OpenScale サービスをプロビジョニングする
- ガイド付きツアーに参加する
- モデルの公平性を調べる
- バイアス排除済みモデルを使用する
- 予測結果に影響を与えた要素を説明する
- モデルの精度をモニタリングする
- 精度のドリフト検出を行う
Watson OpenScale サービスをプロビジョニングする
IBM Cloud Pak for Data 内でプロビジョニングする場合
- IBM Cloud Pak for Data インスタンスにサインインします。
- 「Add-ons (アドオン)」(
) をクリックします。
- 「Watson OpenScale」をクリックします。
- 「Open (開く)」をクリックします。
- 「Next (次へ)」をクリックして自動セットアップを開始します。
- ローカルにインストールした Watson Machine Learning,インスタンスとリモート・インスタンスのどちらを使用するかを選択します。
- ローカル・インスタンスを使用するために、「Use Watson Machine Learning instance on the local environment (ローカル環境上で Watson Machine Learning を使用)」チェックボックスをオンにしてから「Next (次へ)」をクリックします。
- Db2 データベースのホスト名/IP アドレス、ポート、ユーザー名、パスワードを入力します。このデモ用のデータベース名を作成してから「Prepare (準備)」をクリックします。
- 「Start tour (ツアーを開始)」をクリックして Watson OpenScale ダッシュボードの機能を見て回ります。
IBM Cloud 上でプロビジョニングする場合
- IBM Cloud アカウントをまだお持ちでない場合、ここで無料のトライアル・アカウントに登録します。
- カタログから Watson OpenScale インスタンスを作成します。
- 「Lite (ライト)」(無料) プランを選択し、「Service name (サービス名)」に値を入力してから「Create (作成)」をクリックします。
- 「Launch Application (アプリケーションを起動)」をクリックして Watson OpenScale を起動します。
- 「Auto setup (自動セットアップ)」をクリックします。これで、サンプル・データを使用して Watson OpenScale インスタンスが自動的にセットアップされます。
- 「Start tour (ツアーを開始)」をクリックして Watson OpenScale ダッシュボードの機能を見て回ります。
ガイド付きツアーに参加する
自動セットアップの終了時に、「Start tour (ツアーを開始)」をクリックすると、OpenScale ユーザー・インターフェースについて紹介するガイド付きツアーが始まります。各機能を説明するポップアップが表示されたら、その説明を読み、「Next (次へ)」をクリックして短いデモを進めていきます。このガイド付きツアーを終えた後は、このチュートリアルの残りの部分で自由に OpenScale を探索できます。
ツアー終了後
自動セットアップを完了してツアーを終了した後は、ダッシュボードに独自のモデル・デプロイメントを追加するのでも、チュートリアルのデプロイメントの探索に移るのでもかまいません。
注: ダッシュボードに独自のモデルを追加するには、「Add to dashboard (ダッシュボードに追加)」をクリックします。
このチュートリアルでは以降、自動セットアップでデプロイされた信用リスク・モデルを使用して UI を調べていきます。
モデルの公平性を調べる
「Insights (洞察)」 タブでは、デプロイメント・モニタリングの大まかな内容を把握できます。このダッシュボードにはすべてのデプロイメントの要約と、デプロイメントごとのタイルが表示されます。以下の図に示すように、自動セットアップにより、ドイツの信用貸付データに基づく信用リスク・モデルのデプロイメントが構成されています。
個々のデプロイメントに関するデータとして、一連のチャートが表示されます。これらのチャートは、公平性、1 分あたりの平均申請数、数日、数週間、数か月にわたる精度などの指標を追跡するものです。
- 「Model Monitors (モデル・モニター)」タブを選択します。
- ドイツ信用リスク・モデルのタイルを選択して、このデプロイメントに関する詳細を表示します。
- 左のサイドバーを使用して、「Fairness (公平性)」の指標を選択します。以下の例では、「Sex (性別)」指標を選択しています。
- バイアス・アラート標識が示されます。
マウスのポインターをチャートの上に重ねて、時間単位の統計情報を表示します。
チャートをクリックします。
最初のビューでは「Payload + Perturbed」(ペイロード + 摂動) データセットが使用されています。このデータセットはモデルに送信された実際の申請データと Watson OpenScale によって生成された摂動データを使用して、特定の特徴の値に対してアラートを起動した場合の効果をテストします。
融資申請が通ったのは、「female」グループではわずか 76% だったのに対し (皆さんのデータは異なる場合があります)、「male」グループでは 80% となっています。
推奨モデルに注目してください。Watson OpenScale はすでに、より公平なモデルを作成しています!
上のほうにある「Debiased (バイアス排除済み)」ラジオ・ボタンをクリックして、バイアス排除されたモデルのパフォーマンスを確認します。
バイアス排除済みモデルを使用する
「View Debiased endpoint (バイアス排除済みエンドポイントを表示)」をクリックします。Watson OpenScale により、このバイアス排除済みモデル用にスコアリング・エンドポイントが用意されています。アプリでこのバイアス排除済みエンドポイントをテストしたり本番環境で使用したりできるよう、サンプル・コード・スニペットが提供されています。
予測結果に影響を与えた要素を説明する
バイアスに関する理解を深めて上手く修正するためには、バイアスを生じさせることになった個々のトランザクションのいくつかを調べる必要があります。
- 「View transactions (トランザクションを表示)」をクリックして、バイアスの原因となった個々のトランザクションを表示します。
- ラジオ・ボタンを使用して「Biased transactions (バイアスのあるトランザクション)」を選択します。
デプロイメントがバイアスのある形で動作したトランザクションのリストが表示されます。いずれかのトランザクション ID に対応する「Explain (説明)」をクリックします。「Explainability (説明可能性)」タブに、そのトランザクションの詳細が表示されます。
「Explainability (説明可能性)」タブには、この予測結果に影響を与えた要素が示されます。
予測結果に影響を与えた要素: GermanCreditRiskModel は 51.03% の信頼度で「リスクなし」を予測しています。この予測結果を決定する上でとりわけ重要だった特徴は、OthersOnLoan (11.63%)、EmploymentDuration (9.92%)、Sex (4.77%) の 3 つです。
チャートには、「Risk (リスクあり)」または「No Risk (リスクなし)」を示す特徴も示されています。この例で焦点となるのは、「No Risk (リスクなし)」の予測に最も影響した要素です。
モデルの精度をモニタリングする
モデルの予測パフォーマンスを判断するには、品質モニタリングを使用します。品質モニタリングが有効にされていると、デフォルトで 1 時間に 1 回、一連の指標が生成されます。これらの指標をオンデマンドで生成するには、「Check quality now (今すぐ品質をチェック)」をクリックします。
Watson OpenScale ダッシュボードで、一定期間にわたるすべての指標の値を確認できます。それには左のサイドバーで、「Fairness (公平性)」ではなく「Quality (品質)」の指標を選択します。
以下の表に、選択可能な項目を記載します。
指標 | 説明 |
---|---|
Area under ROC (ROC 曲線下面積) | 再現率および誤検出率曲線の下の面積。 |
Area under PR (PR 曲線下面積) | 精度再現率曲線の下の面積。 |
Accuracy (正解率) | 予測のうち、正しい予測が示す割合。 |
True positive rate (TPR) (真陽性率) | ポジティブ・クラスの予測のうち、正しい予測が占める割合。 |
False positive rate (FPR) (誤検出率) | ポジティブ・クラスの予測のうち、誤った予測が占める割合。 |
Recall (再現率) | ポジティブ・クラスで正しい予測が占める割合。 |
Precision (適合率) | ポジティブ・クラスの予測のうち、正しい予測が占める割合。 |
F1-Measure (F 値) | 適合率と再現率の調和平均。 |
Logarithmic loss (対数損失) | 対数ターゲット・クラスの確率 (信頼度) の平均。「対数尤度」とも呼ばれます。 |
精度のドリフト検出を行う
最初に高品質のトレーニング・データセットを使って公平で精度の高いモデルを作成したとしても、時が経つにつれ、そのトレーニング・データは実際の決定にそぐわない標本になってくる場合があります。モデルをより関連性のあるものに更新するよう警告するために、Watson OpenScale はドリフト検出を行います。
Watson OpenScale は精度にドリフトがある場合、またはデータの整合性にドリフトがある場合はそれを検出し、警告を出します。
- データ整合性のドリフトは、実行時のデータがトレーニング・データと矛盾していることを意味します。
- 精度のドリフトは、トレーニング中に正しく評価されなかったトランザクションと同様のトランザクションが増えていることを意味します。
ドリフトの原因となるトランザクション
ドリフトを生じさせることになったトランザクションを確認するには、経時的なドリフトを示しているチャートをクリックします。
Watson OpenScale がすべてのトランザクションを分析し、ドリフトの原因となっているトランザクションを検出します。続いて、検出したトランザクションを、ドリフトの原因となっている各特徴の類似性に基づいてグループ化します。
さらに Watson OpenScale はグループごとに、精度のドリフトに大きく寄与している重要な特徴を推定し、それらの特徴の影響を「大」、「中」、「小」に分類します。
ドリフトを修正する
Watson OpenScale によってドリフトが検出されたら、その問題を解決する新しいバージョンのモデルを作成する必要があります。こうしたモデルを作成する出発点としてふさわしいのは、ドリフトの理由として示されているデータ・ポイントです。ドリフトのあるトランザクションに手作業でラベルを付けてから予測モデルに新しいデータを導入し、それらのトランザクションを使ってモデルを再トレーニングします。
まとめ
このチュートリアルでは、モデルの公平性、精度、ドリフトの問題を検出して修正するために役立つ、Watson OpenScale 内の機能のいくつかを紹介しました。このチュートリアルは、ラーニング・パス「IBM Watson OpenScale 入門」を構成するコンテンツです。引き続きこのラーニング・パスで Watson OpenScale について学ぶには、次のステップ「Watson OpenScale でモデルをモニタリングする」に進んでください。