È 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.
Le valutazioni dello stato di salute del modello sono abilitate per impostazione predefinita per le valutazioni dei modelli di apprendimento automatico in produzione e per tutti i tipi di implementazione di risorse di intelligenza artificiale generativa. Quando sono abilitate le valutazioni di integrità del modello, viene creato un dataset di integrità del modello nel data mart per il servizio utilizzato. Il dataset di integrità del modello memorizza dettagli sulle richieste di calcolo del punteggio utilizzate per calcolare le metriche di integrità 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 per le distribuzioni di pre-produzione e in batch non sono supportate per le distribuzioni di modelli di apprendimento automatico.
Metriche di integrità del modello supportate
Sono supportate le seguenti categorie di metriche per la valutazione della salute del modello. Ciascuna categoria contiene metriche che forniscono dettagli sulle prestazioni del modello.
Le valutazioni del monitor di integrità del modello supportano la seguente metrica:
Richieste di calcolo del punteggio
Le valutazioni del monitor di integrità del modello calcolano il numero di richieste di calcolo del punteggio che la distribuzione del modello riceve.
- Modelli supportati: apprendimento automatico e LLM
Record
Le valutazioni del monitor di stato del modello calcolano il numero totale, medio, minimo, massimoe mediano di record di transazione elaborati tra le richieste di calcolo del punteggio.
- Modelli supportati: apprendimento automatico e LLM
Velocità di trasmissione e latenza
Le valutazioni del monitor di integrità del modello calcolano la latenza tenendo traccia del tempo impiegato per elaborare richieste di calcolo del punteggio e record di transazione al 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 la velocità effettiva e la latenza, il valore response_time
dalle richieste di calcolo del punteggio viene utilizzato per tracciare il tempo impiegato dalla distribuzione del modello per elaborare le richieste di calcolo del punteggio.
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 vengono calcolate per misurare la capacità di valutazione 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
La velocità di trasmissione media, massima, mediana e minima e la latenza per le richieste di calcolo del punteggio e i record di transazione vengono calcolati durante la valutazione del monitor di stato del modello.
- Modelli supportati: apprendimento automatico e LLM
Dimensione payload
La dimensione payload totale, media, minima, massimae mediana dei record di transazione che la distribuzione del modello elabora nelle richieste di calcolo del punteggio in kilobyte (KB) viene calcolata durante le valutazioni del monitor di integrità del modello. Le metriche della dimensione del payload per modelli di immagine non sono supportate. Le metriche della dimensione del payload vengono calcolate solo per i modelli tradizionali.
- Modelli supportati: apprendimento automatico
Utenti
Le valutazioni del monitor di integrità del modello calcolano il numero di utenti che inviano richieste di calcolo del punteggio alle distribuzioni del modello.
Per calcolare il numero di utenti, il user_id
dalle richieste di calcolo del punteggio viene utilizzato per identificare gli utenti che inviano le richieste di calcolo del punteggio ricevute dal modello.
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 esamina un riepilogo di valutazione per la metrica Utenti , è possibile utilizzare la vista in tempo reale per visualizzare il numero totale di utenti e le viste aggregate per visualizzare il numero medio di utenti.
- Modelli supportati: apprendimento automatico e LLM
Conteggi token
Se si utilizza Watsonx.governance, le valutazioni del monitor di integrità del modello calcolano il numero di token elaborati nelle richieste di calcolo del punteggio per la distribuzione del modello. Questa categoria di metriche è supportata solo per i modelli di base.
Watsonx.governance calcola le seguenti metriche per misurare il numero di token durante le valutazioni:
Conteggio token di input: calcola il conteggio dei token di input totale, medio, minimo, massimoe mediano tra più richieste di calcolo del punteggio durante le valutazioni
Conteggio token di output: calcola il conteggio dei token di output totale, medio, minimo, massimoe mediano tra le richieste di calcolo del punteggio durante le valutazioni
Modelli supportati: LLM
Per calcolare le metriche di conteggio dei token personalizzate, è necessario specificare i campi generated_token_count
e input_token_count
quando si inviano richieste di scoring con l'SDKPython per calcolare le metriche di conteggio dei token in ingresso e in uscita, come mostrato nell'esempio seguente:
request = {
"fields": [
"comment"
],
"values": [
[
"Customer service was friendly and helpful."
]
]
}
response = {
"fields": [
"generated_text",
"generated_token_count",
"input_token_count",
"stop_reason",
"scoring_id",
"response_time"
],
"values": [
[
"1",
2,
73,
"eos_token",
"MRM_7610fb52-b11d-4e20-b1fe-f2b971cae4af-50",
3558
],
[
"0",
3,
62,
"eos_token",
"MRM_7610fb52-b11d-4e20-b1fe-f2b971cae4af-51",
3778
]
]
}
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=request,
response=response,
response_time=<response_time>,
user_id=<user_id>). --> value to be supplied by user
]
)