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
- Verwaltung benutzerdefinierter Metriken mit watsonx.governance
Angepasste Metriken mit dem Python SDK verwalten
Zur Verwaltung angepasster Metriken mit dem Python SDK müssen Sie die folgenden Tasks ausführen:
- Registrieren Sie die angepasste Überwachung mit der Metrikdefinition.
- Aktivieren Sie die angepasste Überwachung.
- Speichern Sie die Metrikwerte.
Im folgenden Lernprogramm für Fortgeschrittene wird die Ausführung dieser Task erläutert:
Die angepasste Überwachung kann jederzeit inaktiviert oder aktiviert werden. Sie können die angepasste Überwachung löschen, wenn sie nicht mehr benötigt wird.
Weitere Informationen finden Sie in der Dokumentation zum Python-SDK.
Schritt 1: Angepasste Überwachung mit Metrikdefinition registrieren
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 an sich definieren.
- Verwenden Sie die Methode
, um die Objekteget_definition(monitor_name)
undMetric
zu importieren.Tag
- Verwenden Sie die Methode
, um die Metriken zu definieren, für die Werte fürmetrics
,name
undthresholds
erforderlich sind.type
- Verwenden Sie die Methode
, um Metadaten zu definieren.tags
Der folgende Code stammt aus dem zuvor erwähnten, funktionsfähigen 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
aus, um zu überprüfen, ob die neu erstellte Überwachung und die neu erstellten Metriken ordnungsgemäß konfiguriert sind.client.data_mart.monitors.list()
Sie können die Überwachungs-ID auch mit dem folgenden Befehl abrufen:
custom_monitor_id = custom_monitor_details.metadata.id
print(custom_monitor_id)
Führen Sie den folgenden Befehl aus, um ausführlichere Informationen abzurufen:
custom_monitor_details = wos_client.monitor_definitions.get(monitor_definition_id=custom_monitor_id).result
print('Monitor definition details:', custom_monitor_details)
Schritt 2: Angepasste Überwachung aktivieren
Als Nächstes müssen Sie die angepasste Überwachung für das Abonnement aktivieren. Dabei werden die Überwachung aktiviert und die Schwellenwerte festgelegt.
- Verwenden Sie die Methode
, um das Objekttarget
zu importieren.Threshold
- Verwenden Sie die Methode
, um den Metrikwert fürthresholds
festzulegen. Geben Sie den Wertlower_limit
als einen der Parameter an. Wenn Sie den Wert nicht kennen, können Sie jederzeit durch Ausführen des Befehlsmetric_id
die Details abrufen, wie im vorherigen Beispiel gezeigt.custom_monitor_details
Der folgende Code stammt aus dem zuvor erwähnten, funktionsfähigen 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
Verwenden Sie zum Überprüfen Ihrer Konfigurationsdetails den Befehl
.subscription.monitoring.get_details(monitor_uid=monitor_uid)
Schritt 3: Metrikwerte speichern
Sie müssen Ihre benutzerdefinierten Metriken in der Region speichern, in der Ihre Dienstinstanz existiert.
- Verwenden Sie die Methode
, um festzulegen, welche Metriken gespeichert werden sollen.metrics
- Verwenden Sie die Methode
, um die Metriken festzuschreiben.subscription.monitoring.store_metrics
Der folgende Code stammt aus dem zuvor erwähnten, funktionsfähigen 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 Überwachungen 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
- Klicken Sie auf der Registerkarte Konfigurieren auf Metrikgruppe hinzufügen.
- 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. - 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
- Klicken Sie im Abschnitt Metrikendpunkte auf Metrikendpunkt hinzufügen.
- Geben Sie einen Namen und eine Beschreibung für den Metrikendpunkt an.
- Klicken Sie auf das Symbol Bearbeiten auf der Kachel Verbindung und geben Sie die Verbindungsdetails an.
Klicken Sie auf Weiter. - Wählen Sie die Metrikgruppen aus, die Sie dem Metrikendpunkt zuordnen möchten und klicken Sie auf Speichern.
Schritt 3: Angepasste Überwachungen konfigurieren
- Wählen Sie auf der Seite Insights Dashboard die Option Überwachungen konfigurieren auf einer Modellbereitstellungskachel aus.
- Wählen Sie im Abschnitt Bewertungen den Namen der Metrikgruppe aus, die Sie hinzugefügt haben.
- Wählen Sie das Symbol Bearbeiten auf der Kachel Metrikendpunkt aus.
- Wählen Sie einen Metrikendpunkt aus und klicken Sie auf Next.
Wenn Sie keinen Metrikendpunkt verwenden wollen, wählen Sie Keineaus. - 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. - 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.
Angepasste Metriken aufrufen und visualisieren
Für den Zugriff auf und die Visualisierung angepasster Metriken können Sie die programmgesteuerte Schnittstelle verwenden. Im folgenden Lernprogramm für Fortgeschrittene wird die Ausführung dieser Task erläutert:
Arbeiten mit IBM watsonx.ai Runtime
Weitere Informationen finden Sie in der Dokumentation zum Python-SDK.
Die Visualisierung Ihrer benutzerdefinierten Metriken erscheint auf dem Insights-Dashboard.
Weitere Informationen
Bewertungsergebnisse überprüfen
Übergeordnetes Thema: Modellevaluierungen konfigurieren