0 / 0
Zurück zur englischen Version der Dokumentation
Erstellung benutzerdefinierter Auswertungen und Metriken
Letzte Aktualisierung: 21. Nov. 2024
Erstellung benutzerdefinierter Auswertungen und Metriken

Um angepasste Bewertungen zu erstellen, wählen Sie eine Gruppe angepasster Metriken aus, um Ihre Modellbereitstellung und Geschäftsanwendung quantitativ zu verfolgen. Sie können diese benutzerdefinierten Metriken definieren und sie zusammen mit Metriken verwenden, die von anderen Arten von Auswertungen generiert werden.

Sie können eine der folgenden Methoden verwenden, um angepasste Auswertungen und Metriken zu verwalten:

Angepasste Metriken mit dem Python SDK verwalten

Zur Verwaltung angepasster Metriken mit dem Python SDK müssen Sie die folgenden Tasks ausführen:

  1. Registrieren Sie die angepasste Überwachung mit der Metrikdefinition.
  2. Aktivieren Sie die angepasste Überwachung.
  3. Speichern Sie die Metrikwerte.

In dem folgenden Lernprogramm für Fortgeschrittene wird die Vorgehensweise veranschaulicht:

Sie können die angepasste Überwachung jederzeit inaktivieren und wieder aktivieren. Wenn Sie die angepasste Überwachung nicht mehr benötigen, können Sie sie entfernen.

Weitere Informationen finden Sie in der Dokumentation zum Python-SDK.

Schritt 1: Registrieren Sie die angepasste Überwachung mit der Metrikdefinition.

Bevor Sie mit der Verwendung angepasster Metriken beginnen können, müssen Sie die angepasste Überwachung registrieren. Dies ist der Prozessor, der die Metriken verfolgt. Außerdem müssen Sie die Metriken selbst definieren.

  1. Verwenden Sie die Methode get_definition(monitor_name), um die Objekte Metric und Tag zu importieren.
  2. Verwenden Sie die Methode metrics, um die Metriken zu definieren, für die Werte für name, thresholds und type erforderlich sind.
  3. Verwenden Sie die Methode tags, um Metadaten zu definieren.

Der folgende Code stammt aus dem oben angeführten funktionierenden Beispielnotebook:

def get_definition(monitor_name):
    monitor_definitions = wos_client.monitor_definitions.list().result.monitor_definitions
   
    for definition in monitor_definitions:
        if monitor_name == definition.entity.name:
            return definition
   
    return None
 
 
monitor_name = 'my model performance'
metrics = [MonitorMetricRequest(name='sensitivity',
                                thresholds=[MetricThreshold(type=MetricThresholdTypes.LOWER_LIMIT, default=0.8)]),
          MonitorMetricRequest(name='specificity',
                                thresholds=[MetricThreshold(type=MetricThresholdTypes.LOWER_LIMIT, default=0.75)])]
tags = [MonitorTagRequest(name='region', description='customer geographical region')]
 
existing_definition = get_definition(monitor_name)
 
if existing_definition is None:
    custom_monitor_details = wos_client.monitor_definitions.add(name=monitor_name, metrics=metrics, tags=tags, background_mode=False).result
else:
    custom_monitor_details = existing_definition

Führen Sie den Befehl client.data_mart.monitors.list() aus, um zu überprüfen, ob die neu erstellte Überwachung und die neu erstellten Metriken ordnungsgemäß konfiguriert sind.

Durch die Ausführung des folgenden Befehls können Sie auch die Überwachungs-ID abrufen:

custom_monitor_id = custom_monitor_details.metadata.id
 
print(custom_monitor_id)

Durch die Ausführung des folgenden Befehls können Sie weitere Details abrufen:

custom_monitor_details = wos_client.monitor_definitions.get(monitor_definition_id=custom_monitor_id).result
print('Monitor definition details:', custom_monitor_details)

Schritt 2: Aktivieren Sie die angepasste Überwachung.

Als Nächstes müssen Sie die angepasste Überwachung für das Abonnement aktivieren. Dadurch wird die Überwachung aktiviert und die Schwellenwerte werden festgelegt.

  1. Verwenden Sie die Methode target, um das Objekt Threshold zu importieren.
  2. Verwenden Sie die Methode thresholds, um den Metrikwert für lower_limit festzulegen. Geben Sie den Wert metric_id als einen der Parameter an. Wenn Sie den Wert nicht kennen, können Sie jederzeit durch Ausführen des Befehls custom_monitor_details die Details abrufen, wie im vorherigen Beispiel gezeigt.

Der folgende Code stammt aus dem oben angeführten funktionierenden Beispielnotebook:

target = Target(
        target_type=TargetTypes.SUBSCRIPTION,
        target_id=subscription_id
    )
 
thresholds = [MetricThresholdOverride(metric_id='sensitivity', type = MetricThresholdTypes.LOWER_LIMIT, value=0.9)]
 
custom_monitor_instance_details = wos_client.monitor_instances.create(
            data_mart_id=data_mart_id,
            background_mode=False,
            monitor_definition_id=custom_monitor_id,
            target=target
).result

Um die Konfigurationsdetails zu überprüfen, verwenden Sie den Befehl subscription.monitoring.get_details(monitor_uid=monitor_uid).

Schritt 3: Speichern Sie die Metrikwerte.

Sie müssen Ihre benutzerdefinierten Metriken in der Region speichern, in der Ihre Dienstinstanz existiert.

  1. Verwenden Sie die Methode metrics, um festzulegen, welche Metriken Sie speichern.
  2. Verwenden Sie die Methode subscription.monitoring.store_metrics, um die Metriken festzuschreiben.

Der folgende Code stammt aus dem oben angeführten funktionierenden Beispielnotebook:

from datetime import datetime, timezone, timedelta
from ibm_watson_openscale.base_classes.watson_open_scale_v2 import MonitorMeasurementRequest
custom_monitoring_run_id = "11122223333111abc"
measurement_request = [MonitorMeasurementRequest(timestamp=datetime.now(timezone.utc),
                                                 metrics=[{"specificity": 0.78, "sensitivity": 0.67, "region": "us-south"}], run_id=custom_monitoring_run_id)]
print(measurement_request[0])
 
published_measurement_response = wos_client.monitor_instances.measurements.add(
    monitor_instance_id=custom_monitor_instance_id,
    monitor_measurement_request=measurement_request).result
published_measurement_id = published_measurement_response[0]["measurement_id"]
print(published_measurement_response)

Führen Sie den folgenden Befehl aus, um alle angepassten Monitore aufzulisten:

published_measurement = wos_client.monitor_instances.measurements.get(monitor_instance_id=custom_monitor_instance_id, measurement_id=published_measurement_id).result
print(published_measurement)

Verwaltung benutzerdefinierter Metriken mit watsonx.governance

Schritt 1: Metrikgruppen hinzufügen

  1. Klicken Sie auf der Registerkarte Konfigurieren auf Metrikgruppe hinzufügen.
  2. Wenn Sie eine Metrikgruppe manuell konfigurieren wollen, klicken Sie auf Neue Gruppe konfigurieren.
    a. Geben Sie einen Namen und eine Beschreibung für die Metrikgruppe an.
    Die Länge des angegebenen Namens muss kleiner-gleich 48 Zeichen sein.
    b. Klicken Sie auf das Symbol Bearbeiten auf der Kachel Eingabeparameter und geben Sie die Details für Ihre Eingabeparameter an.
    Der von Ihnen angegebene Parametername muss mit dem in der Metrik-API angegebenen Parameternamen übereinstimmen.
    c. Wenn der Parameter für die Konfiguration des angepassten Monitors erforderlich ist, aktivieren Sie das Kontrollkästchen Erforderlicher Parameter .
    d. Klicken Sie auf Hinzufügen.
    Klicken Sie nach dem Hinzufügen der Eingabeparameter auf Weiter.
    e. Wählen Sie die Modelltypen aus, die Ihre Bewertung unterstützt, und klicken Sie auf Next.
    f. Wenn Sie keinen Auswertungszeitplan angeben möchten, klicken Sie auf Speichern.
    g. Wenn Sie einen Auswertungszeitplan angeben möchten, klicken Sie auf die Umschaltfläche.
    Sie müssen das Intervall für den Auswertungszeitplan angeben und auf Speichernklicken. h. Klicken Sie auf Metrik hinzufügen und geben Sie die Metrikdetails an.
    Klicken Sie auf Speichern.
  3. Wenn Sie eine Metrikgruppe mithilfe einer JSON-Datei konfigurieren wollen, klicken Sie auf Aus Datei importieren.
    Laden Sie eine JSON-Datei hoch und klicken Sie auf Import.

Schritt 2: Metrikendpunkte hinzufügen

  1. Klicken Sie im Abschnitt Metrikendpunkte auf Metrikendpunkt hinzufügen.
  2. Geben Sie einen Namen und eine Beschreibung für den Metrikendpunkt an.
  3. Klicken Sie auf das Symbol Bearbeiten auf der Kachel Verbindung und geben Sie die Verbindungsdetails an.
    Klicken Sie auf Weiter.
  4. Wählen Sie die Metrikgruppen aus, die Sie dem Metrikendpunkt zuordnen möchten und klicken Sie auf Speichern.

Schritt 3: Angepasste Überwachungen konfigurieren

  1. Wählen Sie auf der Seite Insights Dashboard die Option Überwachungen konfigurieren auf einer Modellbereitstellungskachel aus.
  2. Wählen Sie im Abschnitt Bewertungen den Namen der Metrikgruppe aus, die Sie hinzugefügt haben.
  3. Wählen Sie das Symbol Bearbeiten auf der Kachel Metrikendpunkt aus.
  4. Wählen Sie einen Metrikendpunkt aus und klicken Sie auf Next.
    Wenn Sie keinen Metrikendpunkt verwenden wollen, wählen Sie Keineaus.
  5. Verwenden Sie die Umschaltungen, um die Metriken anzugeben, die Sie zum Auswerten des Modells und zum Bereitstellen von Schwellenwerten verwenden wollen.
    Klicken Sie auf Weiter.
  6. Geben Sie Werte für die Eingabeparameter an. Wenn Sie JSON als Datentyp für die Metrikgruppe ausgewählt haben, fügen Sie die JSON-Daten hinzu.
    Klicken Sie auf Weiter.

Sie können Modelle jetzt mit einem angepassten Monitor auswerten.

Auf angepasste Metriken zugreifen und diese visualisieren

Für den Zugriff auf und die Visualisierung angepasster Metriken können Sie die programmgesteuerte Schnittstelle verwenden. In dem folgenden Lernprogramm für Fortgeschrittene wird die Vorgehensweise veranschaulicht:

Die Visualisierung Ihrer benutzerdefinierten Metriken erscheint auf dem Insights-Dashboard.

Weitere Informationen

Bewertungsergebnisse überprüfen

Übergeordnetes Thema: Modellevaluierungen konfigurieren

Generative KI-Suche und -Antwort
Diese Antworten werden von einem großen Sprachmodell in watsonx.ai basierend auf dem Inhalt der Produktdokumentation generiert. Weitere Informationen