0 / 0
Torna alla versione inglese della documentazione
Creare valutazioni e metriche personalizzate
Ultimo aggiornamento: 22 nov 2024
Creare valutazioni e metriche personalizzate

Per creare valutazioni personalizzate, selezionare una serie di metriche personalizzate per tracciare quantitativamente la distribuzione del modello e l'applicazione aziendale. È possibile definire queste metriche personalizzate e utilizzarle insieme alle metriche generate da altri tipi di valutazioni.

È possibile utilizzare uno dei seguenti metodi per gestire le valutazioni e le metriche personalizzate:

Gestione delle metriche personalizzate con Python SDK

Per gestire le metriche personalizzate con l'SDK Python , devi eseguire queste attività:

  1. Registrare il monitor personalizzato con la definizione delle metriche.
  2. Abilita monitoraggio personalizzato.
  3. Memorizza valori di metrica.

La seguente esercitazione avanzata mostra come eseguire questa operazione:

È possibile disabilitare e abilitare di nuovo il monitoraggio personalizzato in qualsiasi momento. È possibile rimuovere il monitor personalizzato se non è più necessario.

Per ulteriori informazioni, vedi la documentazione dell'SDKPython.

Passo 1: Registrare il monitor personalizzato con la definizione di metrica.

Prima di poter iniziare utilizzando le metriche personalizzate, è necessario registrare il monitor personalizzato, che è il processore che traccia le metriche. È anche necessario definire le metriche stesse.

  1. Utilizzare il metodo get_definition(monitor_name) per importare gli oggetti Metric e Tag .
  2. Utilizzare il metodo metrics per definire le metriche, che richiedono valori name, thresholdse type .
  3. Utilizzare il metodo tags per definire i metadati.

Il seguente codice proviene dal notebook di esempio di lavoro che è stato precedentemente menzionato:

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

Per controllare come stai facendo, esegui il comando client.data_mart.monitors.list() per vedere se il tuo monitor e le tue metriche appena creati sono configurati correttamente.

È anche possibile richiamare l'ID monitor eseguendo il seguente comando:

custom_monitor_id = custom_monitor_details.metadata.id
 
print(custom_monitor_id)

Per una vista più dettagliata, eseguire il seguente comando:

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

Passo 2: Abilitare il monitor personalizzato.

Successivamente, è necessario abilitare il monitor personalizzato per la sottoscrizione. Ciò attiva il monitor e imposta le soglie.

  1. Utilizzare il metodo target per importare l'oggetto Threshold .
  2. Utilizzare il metodo thresholds per impostare il valore della metrica lower_limit . Fornire il valore metric_id come uno dei parametri. Se non ti ricordi, puoi sempre utilizzare il comando custom_monitor_details per ottenere i dettagli come mostrato nell'esempio precedente.

Il seguente codice proviene dal notebook di esempio di lavoro che è stato precedentemente menzionato:

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

Per verificare i dettagli di configurazione, utilizzare il comando subscription.monitoring.get_details(monitor_uid=monitor_uid).

Passo 3: Memorizzare i valori di metrica.

È necessario memorizzare o salvare le metriche personalizzate nella regione in cui esiste l'istanza del servizio.

  1. Utilizzare il metodo metrics per impostare quali metriche memorizzare.
  2. Utilizzare il metodo subscription.monitoring.store_metrics per eseguire il commit delle metriche.

Il seguente codice proviene dal notebook di esempio di lavoro che è stato precedentemente menzionato:

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)

Per elencare tutti i monitor personalizzati, eseguire il seguente comando:

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

Gestione delle metriche personalizzate con watsonx.governance

Passo 1: aggiungi gruppi di metrica

  1. Sulla scheda Configura , fare clic su Aggiungi gruppo di metriche.
  2. Se si desidera configurare un gruppo di metriche manualmente, fare clic su Configura nuovo gruppo.
    a. Specificare un nome e una descrizione per il gruppo di metriche.
    La lunghezza del nome specificato deve essere inferiore o uguale a 48 caratteri.
    b. Fare clic sull'icona Modifica nel riquadro Parametri di immissione e specificare i dettagli per i parametri di immissione.
    Il nome parametro specificato deve corrispondere al nome parametro specificato nell'API della metrica.
    c. Se il parametro è richiesto per configurare il monitoraggio personalizzato, selezionare la check box Parametro obbligatorio .
    g. Fare clic su Aggiungi.
    Dopo aver aggiunto parametri di input, fare clic su Avanti.
    e. Selezionare i tipi di modello supportati dalla valutazione e fare clic su Avanti.
    f. Se non si desidera specificare una pianificazione di valutazione, fare clic su Salva.
    es. Se si desidera specificare una pianificazione di valutazione, fare clic sull'interruttore.
    È necessario specificare l'intervallo per la pianificazione della valutazione e fare clic su Salva. h. Fare clic su Aggiungi metrica e specificare i dettagli della metrica.
    Fare clic su Salva.
  3. Se vuoi configurare un gruppo di metriche utilizzando un file JSON, fai clic su Importa da file.
    Carica un file JSON e fai clic su Importa.

Passo 2: aggiungi endpoint di metrica

  1. Nella sezione Endpoint metrica , fare clic su Aggiungi endpoint metrica.
  2. Specificare un nome e una descrizione per l'endpoint di metrica.
  3. Fare clic su Modifica nel riquadro Connessione e specificare i dettagli della connessione.
    Fare clic su Avanti.
  4. Selezionare i gruppi di metriche che si desidera associare all'endpoint di metrica e fare clic su Salva.

Fase 3: configurare i monitor personalizzati

  1. Nella pagina Dashboard insight , selezionare Configura monitor in un riquadro di distribuzione del modello.
  2. Nella sezione Valutazioni , seleziona il nome del gruppo di metriche che hai aggiunto.
  3. Seleziona l'icona Edit nel riquadro Metric endpoint .
  4. Selezionare un endpoint di metrica e fare clic su Avanti.
    Se non si desidera utilizzare un endpoint di metrica, selezionare Nessuno.
  5. Utilizzare le opzioni per specificare le metriche che si desidera utilizzare per valutare il modello e fornire valori di soglia.
    Fare clic su Avanti.
  6. Specificare i valori per i parametri di input. Se hai selezionato JSON come tipo di dati per il gruppo di metriche, aggiungi i dati JSON.
    Fare clic su Avanti.

Ora è possibile valutare i modelli con un monitor personalizzato.

Accesso e visualizzazione di metriche personalizzate

Per accedere e visualizzare metriche personalizzate, puoi utilizzare l'interfaccia programmatica. La seguente esercitazione avanzata mostra come eseguire questa operazione:

La visualizzazione delle metriche personalizzate viene visualizzata nella dashboard Insights.

Ulteriori informazioni

Revisione dei risultati di valutazione

Argomento principale Configurazione delle valutazioni del modello

Ricerca e risposta AI generativa
Queste risposte sono generate da un modello di lingua di grandi dimensioni in watsonx.ai basato sul contenuto della documentazione del prodotto. Ulteriori informazioni