È possibile configurare valutazioni di monitoraggio dello stato di salute del modello per comprendere il comportamento e le prestazioni del modello. È possibile utilizzare le metriche di integrità del modello per determinare l'efficienza con cui la distribuzione del modello elabora le transazioni.
Quando le valutazioni dello stato di salute del modello sono abilitate, nel data mart viene creato un set di dati sullo stato di salute del modello. Il set di dati sullo stato di salute del modello memorizza i dettagli delle richieste di punteggio utilizzate per calcolare le metriche sullo stato di salute del modello.
Per configurare le valutazioni del monitor di integrità del modello, è possibile impostare i valori di soglia per ogni metrica come mostrato nel seguente esempio:
Le valutazioni dello stato di salute del modello non sono supportate per le distribuzioni di pre-produzione.
Metriche di integrità del modello supportate
Sono supportate le seguenti categorie di metriche per la valutazione della salute del modello. Ogni categoria contiene metriche che forniscono dettagli sulle prestazioni del modello:
Dimensione payload
Viene calcolata la dimensione totale, media, minima, massima e mediana del payload dei record di transazione che l'implementazione del modello elabora attraverso lo scoring delle richieste, in kilobyte (KB). Le metriche delle dimensioni del carico utile per i modelli di immagine non sono supportate.
Record
Il numero totale, medio, minimo, massimo e mediano di record di transazione elaborati nelle richieste di scoring viene calcolato durante le valutazioni dello stato di salute del modello.
Richieste di calcolo del punteggio
Viene calcolato il numero di richieste di punteggio che la distribuzione del modello riceve durante le valutazioni dello stato di salute del modello.
Velocità di trasmissione e latenza
La latenza viene calcolata tenendo conto del tempo necessario per elaborare le richieste di punteggio e i record delle transazioni per millisecondo (ms). La velocità di trasmissione viene calcolata tenendo traccia del numero di richieste di calcolo del punteggio e dei record di transazione elaborati al secondo.
Per calcolare il throughput e la latenza, il valore response_time
delle richieste di scoring viene utilizzato per tracciare il tempo che l'implementazione del modello impiega per elaborare le richieste di scoring.
Per le distribuzioni watsonx.ai Runtime, il valore 'response_time
viene rilevato automaticamente quando si configurano le valutazioni.
Per le implementazioni esterne e personalizzate, è necessario specificare il valore 'response_time
quando si inviano le richieste di scoring per calcolare il throughput e la latenza, come mostrato nel seguente esempio tratto dall'SDKPython:
from ibm_watson_openscale.supporting_classes.payload_record import PayloadRecord
client.data_sets.store_records(
data_set_id=payload_data_set_id,
request_body=[
PayloadRecord(
scoring_id=<uuid>,
request=openscale_input,
response=openscale_output,
response_time=<response_time>,
user_id=<user_id>)
]
)
Le seguenti metriche sono calcolate per misurare il thoughput e la latenza durante le valutazioni:
- Latenza API: tempo impiegato (in ms) per elaborare una richiesta di calcolo del punteggio dalla distribuzione del modello.
- Velocità di trasmissione API: numero di richieste di calcolo del punteggio elaborate dalla distribuzione del modello al secondo
- Latenza record: tempo impiegato (in ms) per elaborare un record in base alla distribuzione del modello
- Velocità di trasmissione dei record: numero di record elaborati dalla distribuzione del modello al secondo
Vengono calcolati il throughput e la latenza medi, massimi, mediani e minimi per lo scoring delle richieste e dei record delle transazioni.
Utenti
Viene calcolato il numero di utenti che inviano richieste di punteggio alle distribuzioni del modello.
Per calcolare il numero di utenti, si usa il user_id
delle richieste di punteggio per identificare gli utenti che inviano le richieste di punteggio che il modello riceve.
Per le distribuzioni watsonx.ai Runtime, il valore 'user_id
viene rilevato automaticamente quando si configurano le valutazioni.
Per le distribuzioni esterne e personalizzate, è necessario specificare il valore 'user_id
quando si inviano le richieste di scoring per calcolare il numero di utenti, come mostrato nel seguente esempio tratto dall'SDKPython:
from ibm_watson_openscale.supporting_classes.payload_record import PayloadRecord
client.data_sets.store_records(
data_set_id=payload_data_set_id,
request_body=[
PayloadRecord(
scoring_id=<uuid>,
request=openscale_input,
response=openscale_output,
response_time=<response_time>,
user_id=<user_id>). --> value to be supplied by user
]
)
Quando si visualizzano i risultati della metrica Utenti, utilizzare la vista in tempo reale per vedere il numero totale di utenti e la vista aggregata per vedere il numero medio di utenti. Per ulteriori informazioni, consultare Revisione dei risultati di integrità del modello.