Erläuterungen abrufen

In diesem Leitfaden wird beschrieben, wie Sie Erläuterungen von einer Model-Ressource in Vertex AI abrufen. Es gibt zwei Möglichkeiten, Erläuterungen zu erhalten:

  • Online-Erläuterungen: Synchrone Anfragen an die Vertex AI API, ähnlich wie Onlinevorhersagen, die Vorhersagen mit Featureattributionen zurückgeben.

  • Batcherläuterungen: Asynchrone Anfragen an die Vertex AI API, die Vorhersagen mit Featureattributionen zurückgeben. Batcherläuterungen sind ein optionaler Teil von Batchvorhersageanfragen.

Hinweis

Bevor Sie Erläuterungen abrufen, müssen Sie Folgendes tun:

  1. Dieser Schritt unterscheidet sich, je nachdem, welche Art von maschinellem Lernmodell Sie verwenden:

  2. Wenn Sie Onlineerläuterungen erhalten möchten, stellen Sie die im vorherigen Schritt erstellte Datei Model in einer Endpoint-Ressource bereit.

Online-Erläuterungen abrufen

Wenn Sie Onlineerläuterungen erhalten möchten, folgen Sie größtenteils den gleichen Schritten wie bei Onlinevorhersagen. Statt eine projects.locations.endpoints.predict-Anfrage an die Vertex AI API zu senden, senden Sie jedoch eine projects.locations.endpoints.explain-Anfrage.

Die folgenden Leitfäden enthalten ausführliche Anleitungen zum Vorbereiten und Senden von Onlineerläuterungsanfragen:

Batch-Erklärungen abrufen

Setzen Sie das Feld generateExplanation beim Erstellen eines Batchvorhersagejobs auf true, um Batcherläuterungen zu erhalten.

Eine ausführliche Anleitung zum Vorbereiten und Erstellen von Batchvorhersagejobs finden Sie unter Batchvorhersagen abrufen.

Erläuterungen lokal in Notebooks abrufen

In Notebooks können Sie Erläuterungen für Ihr benutzerdefiniertes Modell generieren, indem Sie Explainable AI im lokalen Kernel oder in der Laufzeit Ihres Notebooks ausführen, ohne das Modell in Vertex AI bereitzustellen, um Erläuterungen zu erhalten. Mit lokalen Erläuterungen können Sie verschiedene Explainable AI-Einstellungen testen, ohne Ihre Vertex AI-Modellbereitstellung für jede Änderung anzupassen. Dies macht es einfacher und schneller, die Auswirkungen der Verwendung verschiedener Baselines zu bewerten, verschiedene Visualisierungseinstellungen für Ihre Erläuterungen auszuprobieren oder die Anzahl der für Ihren Algorithmus verwendeten Schritte oder Pfade anzupassen.

Lokale Erläuterungen sind nur in Notebooks verfügbar. Daher funktioniert dieses Feature nicht in Jupyter-Notebooks, die außerhalb einer Notebooks-Instanz ausgeführt werden.

So generieren Sie Erläuterungen in einer Notebooks-Instanz lokal:

  • Notebooks-Instanz erstellen
  • Starten Sie die JupyterLab-Umgebung von Ihrer Notebooks-Instanz und erstellen oder importieren Sie dann ein Notebook.
  • Speichern Sie das Modellartefakt in der lokalen Umgebung Ihres Notebooks oder in einem Cloud Storage-Bucket.
  • Generieren und speichern Sie Metadaten, um Ihr Modell zu beschreiben und Ihre Erläuterungsanfrage zu konfigurieren.

Explainable AI SDK in Notebooks verwenden

Das Explainable AI SDK ist in Notebooks-Instanzen vorinstalliert. In Ihrem Notebook können Sie das Explainable AI SDK verwenden, um Ihr Modellartefakt zu speichern und Metadaten zu den Ein- und Ausgaben Ihres Modells für die Erläuterungsanfrage automatisch zu identifizieren. Sie können auch andere Parameter angeben, um Ihre Erläuterungsanfrage zu konfigurieren, und dann die Erläuterungsergebnisse visualisieren.

Sie können Modelle und Metadaten entweder in der lokalen Umgebung Ihres Notebooks oder in einem Cloud Storage-Bucket speichern. Wenn Sie TensorFlow verwenden, können Sie die Methode save_model_with_metadata() verwenden, um die Ein- und Ausgaben Ihres Modells abzuleiten und diese Erläuterungsmetadaten in Ihrem Modell zu speichern.

Laden Sie als Nächstes das Modell mit load_model_from_local_path() in das Explainable AI SDK. Bei Bedarf können Sie die Konfiguration für den spezifischen Vertex Explainable AI-Algorithmus anpassen. Sie können beispielsweise die Anzahl der Pfade, die für Sampled Shapley verwendet werden, oder die Anzahl der Schritte, die für integrierte Gradienten oder XRAI verwendet werden sollen, ändern.

Rufen Sie abschließend explain() mit Dateninstanzen auf und visualisieren Sie die Feature-Attributionen.

Mit dem folgenden Beispielcode können Sie lokale Erläuterungen für ein TensorFlow 2-Modell in einer Notebooks-Instanz abrufen:

# This sample code only works within a Notebooks instance.
import explainable_ai_sdk
from explainable_ai_sdk.metadata.tf.v2 import SavedModelMetadataBuilder

metadata_and_model_builder = SavedModelMetadataBuilder('LOCAL_PATH_TO_MODEL')
metadata_and_model_builder.save_model_with_metadata('LOCAL_PATH_TO_SAVED_MODEL_ARTIFACT')

# Load the model and adjust the configuration for Explainable AI parameters
num_paths = 20
model_artifact_with_metadata = explainable_ai_sdk.load_model_from_local_path(
    'LOCAL_PATH_TO_SAVED_MODEL_ARTIFACT',
    explainable_ai_sdk.SampledShapleyConfig(num_paths))

# Explainable AI supports generating explanations for multiple predictions
instances = [{feature_a: 10, feature_2: 100,...}, ... ]
explanations = model_artifact_with_metadata.explain(instances)
explanations[0].visualize_attributions()

Hier finden Sie weitere Informationen zum Explainable AI SDK, einschließlich verschiedener Konfigurationen und Parameter. Weitere Informationen zu Notebooks.

Nächste Schritte