説明を取得する

このガイドでは、Vertex AI の Model リソースから説明を取得する方法について説明します。次の 2 つの方法で説明を取得できます。

  • オンライン説明: Vertex AI API への同期リクエスト。特徴アトリビューションを含む推論を返すオンライン推論と似ています。

  • バッチ説明: 特徴アトリビューションを含む予測を返す Vertex AI API への非同期リクエスト。バッチ説明は、バッチ推論リクエストのオプション部分です。

始める前に

説明を取得する前に、次のことを行う必要があります。

  1. この手順は、使用する ML モデルのタイプによって異なります。

  2. オンライン説明を取得するには、前の手順で作成した ModelEndpoint リソースにデプロイします

オンライン説明を取得する

オンライン説明を取得するには、オンライン推論を取得する場合とほぼ同様の手順を行います。ただし、Vertex AI API に projects.locations.endpoints.predict リクエストを送信する代わりに projects.locations.endpoints.explain リクエストを送信します。

次のガイドでは、オンライン説明リクエストの準備と送信の詳しい手順を説明します。

バッチ説明を取得する

特徴ベースのバッチ説明のみがサポートされています。サンプルベースのバッチ説明は取得できません

バッチ説明を取得するには、バッチ推論ジョブの作成時に generateExplanation フィールドtrue に設定します。

バッチ予測ジョブの準備と作成の詳細な手順については、バッチ推論の取得をご覧ください。

同時説明を取得する

Explainable AI は同時説明をサポートしています。同時説明では、説明メソッドごとにモデルを個別にデプロイすることなく、デプロイされた同じモデル エンドポイントから特徴ベースの説明とサンプルベースの説明の両方をリクエストできます。

同時説明を取得するには、モデルをアップロードして、サンプルベースの説明または特徴ベースの説明を構成します。その後、通常どおりモデルをデプロイします。

モデルをデプロイした後は、通常どおり、構成された説明をリクエストできます。また、concurrent_explanation_spec_override を指定することで、同時説明をリクエストできます。

同時説明を使用する場合は、次の点に注意してください。

  • 同時説明は、v1beta1 API バージョンでのみ使用できます。Vertex Python SDK を使用している場合、同時説明を使用するには preview モデルを使用する必要があります。
  • 特徴ベースの説明を使用してデプロイした後に、サンプルベースの説明をリクエストすることはできません。サンプルベースの説明と特徴ベースの説明の両方が必要な場合は、サンプルベースの説明を使用してモデルをデプロイし、同時説明フィールドを使用して特徴ベースの説明をリクエストします。
  • 同時説明では、バッチ説明はサポートされていません。この機能を使用する唯一の方法はオンライン説明です。

トラブルシューティング

このセクションでは、説明の取得中に問題が発生した場合に役立つトラブルシューティングの手順について説明します。

エラー: リスト インデックスが範囲外です

説明をリクエストしたときに次のエラー メッセージが表示された場合:

"error": "Explainability failed with exception: listindex out of range"

オブジェクトの配列を想定しているフィールドに空の配列を渡していないことを確認します。たとえば、field1 がオブジェクトの配列を受け入れる場合、次のリクエスト本文はエラーになる可能性があります。

{
  "instances": [
    {
      "field1": [],
    }
  ]
}

代わりに、配列が空でないようにします。次に例を示します。

{
  "instances": [
    {
      "field1": [
        {}
      ],
    }
  ]
}

次のステップ