Linee guida per lo sviluppo di soluzioni ML predittive e di alta qualità

Last reviewed 2024-07-08 UTC

Questo documento contiene alcune linee guida per aiutarti a valutare, garantire e controllare la qualità nella creazione di soluzioni di machine learning predittivo (ML). Offre di machine learning per ogni fase del processo, dallo sviluppo dei modelli ML il deployment dei sistemi di addestramento e dei sistemi di distribuzione in produzione. Il documento amplia le informazioni discusse Guida alle MLOps per professionisti evidenziando e sintetizzando gli aspetti qualitativi in ogni processo del il ciclo di vita MLOps.

Questo documento è rivolto a chiunque si occupi di creazione, deployment e il funzionamento di soluzioni di ML. Nel documento si presuppone che tu abbia familiarità con MLOps in generale. Non presuppone che tu abbia conoscenza di ML specifici completamente gestita.

Panoramica della qualità delle soluzioni di machine learning

Nel software engineering, molti standard, processi, strumenti e pratiche hanno è stato sviluppato per garantire qualità del software. L'obiettivo è garantire che il software funzioni come previsto in produzione e che soddisfi requisiti funzionali e non funzionali. Queste pratiche tratta argomenti come il software test, software verifica e convalida, e software registrazione e il monitoraggio. Nella DevOps queste pratiche sono in genere integrate e automatizzate CI/CD i processi di machine learning.

MLOps è un insieme di processi e funzionalità standardizzati per la creazione, il deployment i sistemi ML in modo rapido e affidabile. Come per altre soluzioni software, il machine learning le soluzioni software richiedono l'integrazione di queste qualità software e applicarle durante tutto il ciclo di vita delle MLOps. Applicando questi pratiche, è fondamentale garantire l'affidabilità e la prevedibilità dei modelli, e che i modelli siano conformi alle tue esigenze.

Tuttavia, le attività di creazione, deployment e gestione dei sistemi ML ulteriori sfide che richiedono determinate pratiche di qualità che potrebbero non essere in relazione ad altri sistemi software. Oltre alle caratteristiche della maggior parte degli altri sistemi software, i sistemi di ML hanno le seguenti caratteristiche:

  • Sistemi basati sui dati. La qualità dei modelli addestrati e dei loro delle previsioni dipende dalla validità dei dati utilizzati per l'addestramento che viene inviato per le richieste di previsione. Qualsiasi sistema software dipende validi dati, ma i sistemi di ML inducono la logica del processo decisionale dati automaticamente, quindi sono particolarmente dipendenti dalla qualità i dati.

  • Doppio sistema di addestramento e distribuzione. I carichi di lavoro ML sono in genere costituiti da due di produzione distinti ma correlati: il sistema di addestramento di pubblicazione. Una pipeline di addestramento continuo produce di cui viene eseguito il deployment per fornire previsioni. Ogni sistema richiede un insieme diverso di pratiche di qualità che bilanciano efficacia e efficienza al fine di produrre e mantenere un modello a prestazioni elevate e produzione. Inoltre, le incongruenze tra questi due sistemi di errori e un rendimento predittivo scarso.

  • Sostenibilità. Spesso i modelli si deteriorano dopo il deployment perché i modelli non si adattano ai cambiamenti dell'ambiente che rappresentano, come i cambiamenti stagionali nel comportamento di acquisto. La personalizzati possono anche non adattarsi ai cambiamenti nei dati, ad esempio i nuovi e località. Di conseguenza, tenere traccia dell'efficacia del modello la produzione è un'ulteriore sfida per i sistemi ML.

  • Sistemi decisionali automatizzati. A differenza di altri sistemi software, in cui azioni vengono accuratamente codificate manualmente in base a una serie di requisiti e regole aziendali, I modelli di ML apprendono le regole dai dati per prendere una decisione. Pregiudizi impliciti nei dati possono portare i modelli a produrre risultati ingiusti.

Quando un modello ML di cui è stato eseguito il deployment produce previsioni errate, la scarsa qualità dell'ML può essere il risultato di una vasta gamma di problemi. Alcuni di questi problemi possono derivare i tipici bug presenti in qualsiasi programma. Ma i problemi specifici dell'ML possono anche includere disallineamenti e anomalie nei dati, oltre all'assenza di un modello appropriato le procedure di valutazione e convalida nell'ambito del processo di addestramento. Un altro il potenziale problema è che il formato dei dati non è coerente nell'interfaccia integrata del modello e l'API di pubblicazione. Inoltre, le prestazioni del modello peggiorano nel tempo anche senza questi problemi e potrebbe funzionare in modalità silenziosa se non è monitorati. Pertanto, dovresti includere diversi tipi di test e il monitoraggio dei modelli e dei sistemi di ML durante lo sviluppo, durante il deployment in produzione.

Linee guida sulla qualità per lo sviluppo del modello

Quando sviluppi un modello ML durante la fase di sperimentazione, hai due set di metriche target che puoi usare per valutare rendimento:

  • Metriche di ottimizzazione del modello. Questa metrica riflette dell'efficacia predittiva. La metrica include accuratezza e misura f nelle attività di classificazione, errore percentuale assoluto medio nelle attività di regressione e previsione, guadagno cumulativo scontato nel classificare le attività perplessità e BLEU e i punteggi più alti nei modelli linguistici. Maggiore è il valore di questa metrica, migliore del modello per una determinata attività. In alcuni casi d'uso, per garantire l'equità, è importante ottenere un'efficacia predittiva simile su sezioni diverse ad esempio in base a diversi dati demografici dei clienti.
  • Metriche soddisfacenti del modello. Questa metrica riflette una strategia vincolo che il modello deve soddisfare, come la latenza della previsione. Tu Impostare una soglia di latenza su un determinato valore, ad esempio 200 millisecondi. I modelli che non soddisfano la soglia non vengono accettati. Un altro esempio di una metrica soddisfacente è la dimensione del modello, importante quando vuoi eseguire il deployment del modello su hardware a basso consumo, come dai dispositivi incorporati.

Durante la sperimentazione, sviluppi, addestri, valuti il tuo modello ed esegui il debug per migliorarne l'efficacia rispetto alle metriche di ottimizzazione, senza che violano le soglie soddisfacenti delle metriche.

Linee guida per la sperimentazione

  • Hanno soglie predefinite e fisse per l'ottimizzazione delle metriche e per metriche soddisfacenti.
  • Implementa una routine di valutazione semplificata che prenda un modello e i dati e produce un insieme di metriche di valutazione. Implementa la routine in modo che funzioni a prescindere dal tipo di modello (ad esempio, alberi decisionali o neurali artificiali) o il framework del modello (ad esempio, TensorFlow o Scikit-learn).
  • Assicurati di avere un modello di riferimento con cui eseguire il confronto. Questo valore basale può essere costituita da un'euristica hardcoded o mediante un semplice modello prevede la media o il valore target della modalità. Utilizza il modello di riferimento per controllare le prestazioni del modello ML. Se il modello ML non è migliore rispetto al modello di base, c'è un problema fondamentale nel modello ML.
  • Monitora ogni esperimento condotto per aiutarti a riproducibilità e miglioramento incrementale. Per ogni esperimento, memorizza valori degli iperparametri, selezione delle caratteristiche e seed casuali.

Linee guida per la qualità dei dati

  • Affronta eventuali classi sbilanciate all'inizio degli esperimenti scegliendo la metrica di valutazione giusta. Inoltre, applicare tecniche come l'aumento di ponderazione le istanze delle classi di minoranza o il sottocampionamento delle istanze delle classi maggiori.
  • Assicurati di comprendere l'origine dati in questione ed esegui le pertinente pre-elaborazione dei dati e feature engineering per preparare il set di dati di addestramento. Questo tipo di processo deve essere ripetibili e automatizzabili.
  • Assicurati di avere un indirizzo suddivisione dei dati di test (holdout) per la valutazione finale del modello. La suddivisione del test non deve durante l'addestramento, né per l'ottimizzazione degli iperparametri.
  • Assicurati che i segmenti di addestramento, convalida e test siano uguali rappresentativo dei dati di input. Il campionamento di questo segmento di test dipende la natura dei dati e dell'attività ML in questione. Ad esempio, stratificati la suddivisione è rilevante per le attività di classificazione, mentre la cronologia la suddivisione è rilevante per le attività delle serie temporali.
  • Assicurati che le suddivisioni di convalida e test siano pre-elaborate separatamente dalla suddivisione dei dati di addestramento. Se le suddivisioni vengono pre-elaborate in un mischia, porta a fuga di dati. Ad esempio, quando utilizzi le statistiche per trasformare i dati per la normalizzazione o per creare in bucket le caratteristiche numeriche, calcola le statistiche e applicarli per normalizzare le suddivisioni della convalida e del test.
  • Genera uno schema del set di dati che includa i tipi di dati e alcuni proprietà statistiche delle caratteristiche. Puoi usare questo schema per trovare dati anomali o non validi durante la sperimentazione e l'addestramento.
  • Assicurati che i dati di addestramento siano correttamente shuffling in batch, ma soddisfa anche i requisiti di addestramento del modello. Ad esempio, questa attività può essere applicato a distribuzioni positive e negative di istanze.
  • Disporre di un set di dati di convalida separato per l'ottimizzazione e il modello degli iperparametri selezione. Puoi anche usare il set di dati di convalida l'interruzione. Altrimenti, puoi lasciare che il modello venga addestrato per l'intera durata un determinato insieme di iterazioni massime. Tuttavia, salva solo una nuova istantanea se le sue prestazioni sul set di dati di convalida migliorano rispetto snapshot precedente.

Linee guida per la qualità del modello

  • Assicurati che i tuoi modelli non abbiano problemi fondamentali che gli impedisci di apprendere qualsiasi relazione tra gli input e come output. Puoi raggiungere questo obiettivo addestrando il modello con esempi. Se il modello non raggiunge una precisione elevata per questi esempi, potrebbe esserci un bug nell'implementazione del modello o nella routine di addestramento.
  • Quando addestri le reti neurali, monitora i valori NaN nel tuo e per la percentuale di pesi con zero valori durante la durante l'addestramento del modello. Questi valori NaN o zero possono essere indicazioni di calcoli aritmetici errati o la scomparsa o l'esplosione dei gradienti. Visualizzare le variazioni nella distribuzione dei valori di peso nel tempo può aiutarti rilevare variazioni interne delle covariate che rallentano l'addestramento. Puoi applicare la normalizzazione batch mitigare questa riduzione della velocità.
  • Confronta le prestazioni del modello sui dati di addestramento e sui dati di test per capire se si verifica l'overfitting o l'underfitting del modello. Se vedi uno di questi problemi, apportare i miglioramenti pertinenti. Ad esempio, se se c'è l'underfitting, potresti aumentare la capacità di apprendimento del modello. Se si è verificato l'overfitting, puoi applicare la regolarizzazione.
  • Analizza le istanze classificate in modo errato, in particolare quelle con un l'affidabilità della previsione e le classi più confuse nell'architettura multiclasse matrice di confusione. Questi errori possono essere indicativi di esempi di addestramento etichettati in modo errato. La gli errori possono anche identificare un'opportunità per la pre-elaborazione dei dati, come rimuovendo i valori anomali o creando nuove caratteristiche che contribuiranno a discriminare tra queste classi.
  • Analizzare i punteggi di importanza delle caratteristiche ed eliminare le caratteristiche che non aggiungono un miglioramento sufficiente alla qualità del modello. Modelli parsimoniosi sono da preferire a quelli complessi.

Linee guida sulla qualità per il deployment della pipeline di addestramento

Quando implementi la pipeline di addestramento del modello e del modello, devi creare una di test in una routine CI/CD. Questi test vengono eseguiti automaticamente esegui il push di nuove modifiche al codice o vengono eseguite prima del deployment della pipeline di per l'ambiente di destinazione.

Linee guida

  • Esegui il test unitario della funzionalità di feature engineering.
  • Esegui un test unitario della codifica degli input per il modello.
  • Moduli (personalizzati) implementati dall'utente per i test delle unità in modo indipendente, ad esempio la convoluzione del grafico personalizzato e il pooling di test unitari o strati di attenzione personalizzati.
  • Esegui il test dell'unità per qualsiasi funzione di perdita o valutazione personalizzata.
  • Esegui un test unitario delle forme e dei tipi di output del modello rispetto agli input previsti.
  • Verifica che la funzione fit del modello funzioni senza errori con un paio di piccoli batch di dati. I test devono garantire che diminuisce e il tempo di esecuzione della fase di addestramento previsto. Esegui questi controlli perché le modifiche al codice del modello possono introdurre che rallentano il processo di addestramento.
  • Esegui un test unitario della funzionalità di salvataggio e caricamento del modello.
  • Testa l'unità delle interfacce di pubblicazione dei modelli esportate rispetto a input non elaborati e rispetto agli output previsti.
  • Testa i componenti dei passaggi della pipeline con input fittizi e con artefatti di output.
  • Esegui il deployment della pipeline in un ambiente di test ed esegui l'integrazione della pipeline end-to-end. Per questa procedura, utilizza alcuni dati di test per assicurarti che il flusso di lavoro venga eseguito correttamente e che produce gli artefatti previsti.
  • Utilizza le funzionalità di deployment shadow quando esegui il deployment di una nuova versione della pipeline di addestramento completamente gestito di Google Cloud. Un deployment shadow ti aiuta ad assicurare che i nuovi deployment la versione della pipeline viene eseguita sui dati in tempo reale in parallelo alla versione della pipeline.

Linee guida sulla qualità per la formazione continua

Il processo di addestramento continuo consiste nell'orchestrare e nell'automatizzare dell'esecuzione delle pipeline di addestramento. I flussi di lavoro di addestramento tipici includono passaggi importazione e suddivisione dei dati, trasformazione dei dati, addestramento del modello, modello la valutazione e la registrazione del modello. Alcune pipeline di addestramento sono costituite in flussi di lavoro complessi. Altre attività possono includere l'esecuzione di modelli con supervisione che usa dati non etichettati o costruisce un vicino più prossimo approssimativo per gli incorporamenti. L'input principale di qualsiasi pipeline di addestramento è la e l'output principale è un nuovo modello candidato in cui eseguire il deployment e produzione.

La pipeline di addestramento viene eseguita automaticamente in produzione, in base a pianificazione (ad esempio giornaliera o settimanale) o in base a un attivatore (ad esempio, quando sono disponibili nuovi dati etichettati). Di conseguenza, devi aggiungere passaggi per il controllo qualità al flusso di lavoro di addestramento, in particolare le fasi di convalida dei dati passaggi di convalida del modello. Questi passaggi convalidano gli input e gli output del pipeline di dati.

Aggiungi il passaggio di convalida dei dati dopo quello di importazione dei dati nell'addestramento. nel tuo flusso di lavoro. Il passaggio di convalida dei dati profila i nuovi dati di addestramento importati nella pipeline. Durante la profilazione, la pipeline utilizza un oggetto creato durante il processo di sviluppo ML, per rilevare anomalie. A seconda del caso d'uso, puoi ignorare o rimuovere solo alcuni elementi i record del set di dati. Tuttavia, altri problemi relativi ai dati appena importati potrebbero interrompe l'esecuzione della pipeline di addestramento, devi identificare e risolvere questi problemi.

Linee guida per la convalida dei dati

  • Verifica che le caratteristiche dei dati di addestramento estratti siano complete e che corrispondano allo schema previsto, ovvero non mancano e nessuna funzionalità aggiunta. Verifica inoltre che le caratteristiche corrispondano come i bilanciatori del carico e i volumi di archiviazione.
  • convalida i tipi di dati e le forme delle caratteristiche nel set di dati importati nella pipeline di addestramento.
  • Verifica che i formati di particolari caratteristiche (ad esempio, date, orari, URL, codici postali e indirizzi IP) corrispondono alle espressioni regolari previste. Verifica inoltre che le caratteristiche rientrino in intervalli validi.
  • Convalida la frazione massima dei valori mancanti per ogni caratteristica. R un'ampia parte dei valori mancanti in una particolare caratteristica può influire durante l'addestramento del modello. I valori mancanti di solito indicano un'origine delle caratteristiche inaffidabile.
  • Convalida i domini delle caratteristiche di input. Ad esempio, controlla se sono modifiche in un vocabolario di caratteristiche categoriche o modifiche nell'intervallo di caratteristiche numeriche e regola di conseguenza la pre-elaborazione dei dati. Come in un altro esempio, gli intervalli per le caratteristiche numeriche potrebbero cambiare se il sistema a monte che compila le caratteristiche utilizza diverse unità di misurare. Ad esempio, il sistema upstream potrebbe cambiare valuta da dollari a yen o potrebbe modificare le distanze da chilometri a metri.
  • Verifica che le distribuzioni di ogni caratteristica corrispondano alle aspettative. Ad esempio, potresti verificare che il valore più comune di una caratteristica per tipo di pagamento è cash e che rappresenta il 50% del totale e i relativi valori. Tuttavia, questo test può non riuscire se c'è una modifica nella risposta tipo di pagamento a credit_card. Una modifica esterna come questa potrebbe richiedere modifiche nel modello.

Devi aggiungere un passaggio di convalida del modello prima di quello di registrazione per assicurarti che solo i modelli che superano i criteri di convalida vengano registrati per la produzione e deployment continuo.

Linee guida per la convalida del modello

  • Per la valutazione finale del modello, utilizza un segmento di test separato che non abbia utilizzato per l'addestramento del modello o per l'ottimizzazione degli iperparametri.
  • Assegna un punteggio al modello candidato sulla base della suddivisione dei dati di test, calcola pertinenti e verifica che il modello candidato superi soglie di qualità predefinite.
  • Assicurati che la suddivisione dei dati di test sia rappresentativa dei dati come il tutto per tenere conto dei vari modelli di dati. Per i dati delle serie temporali, assicurati che il segmento di test contiene dati più recenti di quelli di addestramento.
  • Testa la qualità del modello su sezioni di dati importanti come gli utenti per paese film per genere. Testando i dati segmentati, eviterai il problema del i problemi di rendimento dettagliati vengono mascherati da una metrica di riepilogo globale.
  • Valutare il modello attuale (campione) sulla base della suddivisione dati di test e lo confronta con il modello candidato (challenger) e la pipeline di addestramento prodotta.
  • Convalida il modello rispetto agli indicatori di equità per rilevare pregiudizi: ad esempio, i pregiudizi impliciti potrebbero essere indotti da una diversità insufficiente nei dati di addestramento. Gli indicatori di equità possono rivelare una causa principale dei problemi da risolvere prima di eseguire il deployment del modello in produzione.

Durante l'addestramento continuo, è possibile convalidare il modello rispetto all'ottimizzazione e metriche soddisfacenti. In alternativa, puoi convalidare il modello solo in base alle metriche di ottimizzazione e rinviare la convalida rispetto ai fino alla fase di deployment del modello. Se prevedi di eseguire il deployment di varianti lo stesso modello a diversi ambienti di gestione o carichi di lavoro, può essere adatto a rinviare la convalida rispetto alla metrica soddisfacente. Pubblicazione diversa per ambienti o carichi di lavoro (ad esempio ambienti cloud o on-device ambienti in tempo reale o di recupero dati in batch) potrebbero richiedere soglie soddisfacenti delle metriche diverse. Se in più ambienti, la pipeline di addestramento continuo potrebbe addestra due o più modelli, ognuno dei quali è ottimizzato per il proprio target dell'ambiente di deployment. Per ulteriori informazioni e un esempio, vedi Doppi deployment su Vertex AI.

Man mano che inserisci più pipeline di addestramento continuo con flussi di lavoro complessi in in produzione, devi monitorare i metadati e gli artefatti eseguiti dalla pipeline produrre. Il monitoraggio di queste informazioni ti consente di rintracciare ed eseguire il debug di qualsiasi problema che potrebbero emergere in produzione. Il monitoraggio delle informazioni aiuta anche a riprodurre degli output delle pipeline in modo da poterne migliorare l'implementazione successive iterazioni di sviluppo ML.

Linee guida per il monitoraggio di metadati e artefatti ML

  • Tieni traccia della derivazione del codice sorgente, delle pipeline di cui è stato eseguito il deployment, dei componenti del le pipeline, le esecuzioni delle pipeline, il set di dati in uso e gli artefatti prodotti.
  • Monitora gli iperparametri e le configurazioni delle esecuzioni della pipeline.
  • Tieni traccia degli input chiave e degli artefatti di output dei passaggi della pipeline, come statistiche del set di dati, eventuali anomalie del set di dati, dati trasformati e schemi, punti di controllo e risultati della valutazione del modello.
  • Monitora i passaggi condizionali della pipeline eseguiti in risposta alle condizioni, e garantire l'osservabilità aggiungendo meccanismi di alterazione nei casi chiave non vengono eseguiti o se non funzionano.

Linee guida sulla qualità per il deployment del modello

Supponi di avere un modello addestrato convalidato da un e che il modello sia approvato da un team di governance punto di vista (come descritto più avanti governance del modello ). Il modello è archiviato nel registro dei modelli ed è pronto per il deployment alla produzione. A questo punto, devi implementare una serie di test per verificare che il modello sia idoneo per la pubblicazione nel suo ambiente di destinazione. Devi inoltre automatizzare questi test in una routine CI/CD di modello.

Linee guida

  • Verifica che l'artefatto del modello possa essere caricato e richiamato correttamente con le sue dipendenze runtime. Puoi eseguire questa verifica tramite la gestione temporanea il modello in una versione con sandbox dell'ambiente di pubblicazione. Questo la verifica ti aiuta ad assicurarti che le operazioni e i file binari utilizzati dal modello sono presenti nell'ambiente.
  • Convalida le metriche soddisfacenti del modello (se presenti) in un ambiente di gestione temporanea, come dimensioni e latenza del modello.
  • Testare le interfacce di pubblicazione degli artefatti modello in un ambiente di gestione temporanea rispetto agli input non elaborati e agli output previsti.
  • Testa l'artefatto del modello in un ambiente di gestione temporanea per un insieme e casi limite delle richieste di previsione. Ad esempio, unit-test per un in cui tutte le funzionalità sono impostate su None.
  • Esegui il test di fumo dell'API di servizio dei modelli dopo che ne è stato eseguito il deployment nell'account nell'ambiente di destinazione. Per eseguire questo test, invia una singola istanza o di istanze al servizio del modello e convalidare la risposta del servizio.
  • Eseguire un test canary della versione del modello di cui è stato appena eseguito il deployment su un piccolo stream di live per la gestione dei dati. Questo test assicura che il nuovo servizio del modello non e generare errori prima che il modello venga esposto a un numero elevato di utenti.
  • Esegui il test in un ambiente di gestione temporanea di cui puoi eseguire il rollback a una versione della versione del modello in modo rapido e sicuro.
  • Eseguire una sperimentazione online per testare il modello appena addestrato utilizzando una un piccolo sottoinsieme della popolazione che serve. Questo test misura il rendimento il nuovo modello rispetto a quello attuale. Dopo aver confrontato i nuovi prestazioni del modello in base a quelle del modello attuale, potresti di rilasciare completamente il nuovo modello per pubblicare tutte le previsioni in tempo reale richieste. Le tecniche di sperimentazione online includono Test A/B e MAB (Multi-Armed Bandit).

Linee guida sulla qualità per la pubblicazione del modello

Le prestazioni predittive dei modelli ML di cui viene eseguito il deployment e che pubblicano di produzione di solito si riduce nel tempo. Questo peggioramento può essere dovuto a incoerenze introdotte tra le funzionalità di pubblicazione e caratteristiche che si aspetta dal modello. Queste incoerenze vengono chiamate disallineamento addestramento/produzione. Ad esempio, un modello di suggerimenti potrebbe aspettarsi un valore di input alfanumerico per una funzionalità, ad esempio un prodotto visualizzato più di recente le API nel tuo codice. Invece, viene passato il nome del prodotto anziché il codice del prodotto durante la pubblicazione, a causa di un aggiornamento dell'applicazione che utilizza il modello completamente gestito di Google Cloud.

Inoltre, il modello può diventare inattivo a causa delle proprietà statistiche la deviazione dei dati di distribuzione nel tempo e i pattern appresi dal non sono più precisi. In entrambi i casi, il modello non può più a lungo forniscono previsioni accurate.

Per evitare questo peggioramento delle prestazioni predittive del modello, devi eseguire il monitoraggio continuo dell'efficacia del modello. Il monitoraggio ti consente verificare regolarmente e in modo proattivo che le prestazioni del modello non compromettano la qualità.

Linee guida

  • Registra un campione di payload richiesta-risposta di pubblicazione in un datastore per un'analisi regolare. La richiesta è l'istanza di input e la risposta è la previsione prodotta dal modello per quell'istanza di dati.
  • Implementare un processo automatico che profila la richiesta-risposta memorizzata elaborando statistiche descrittive. Calcola e archivia questi dati statistiche a intervalli regolari.
  • Identifica il disallineamento addestramento/distribuzione causato dallo spostamento e dalla deviazione dei dati Confrontando le statistiche dei dati di distribuzione con le statistiche di base dei dati di addestramento. Inoltre, analizza come cambiano le statistiche dei dati di distribuzione nel tempo.
  • Identificazione deviazione concettuale analizzando come cambiano nel tempo le attribuzioni delle caratteristiche per le previsioni.
  • Identifica le istanze di dati di servizio che sono considerate outlier con rispetto ai dati di addestramento. Per trovare questi valori anomali, utilizza il rilevamento delle novità e monitorare la percentuale di outlier nei dati di pubblicazione cambiamenti nel tempo.
  • Imposta avvisi per quando il modello raggiunge le soglie di disallineamento della chiave le caratteristiche predittive nel set di dati.
  • Se sono disponibili etichette (ovvero, dati di fatto), unisci le etichette vere con le etichette previste delle istanze di gestione per eseguire la valutazione delle prestazioni. Questo approccio è simile al sistema di valutazione che da implementare come test A/B durante la sperimentazione online. Continuo la valutazione può identificare non solo la capacità predittiva del modello in di produzione, ma anche identificare il tipo di richiesta con e con cui ha prestazioni scadenti.
  • Imposta gli obiettivi per le metriche di sistema che ritieni importanti e misura le prestazioni dei modelli in base a questi obiettivi.
  • Monitora l'efficienza del servizio per assicurarti che il modello possa essere pubblicato e produzione su larga scala. Questo monitoraggio ti aiuta anche a prevedere e gestire pianificazione della capacità e ti aiuta a stimare il costo dell'infrastruttura. Monitora le metriche di efficienza, tra cui utilizzo della CPU, utilizzo della GPU, utilizzo della memoria, latenza del servizio, velocità effettiva e la percentuale di errori.

Governance del modello

La governance del modello è una funzione fondamentale delle aziende che fornisce linee guida e processi per aiutare i dipendenti a implementare i principi dell'IA dell'azienda. Questi principi possono includere evitare i modelli che creano o applicano pregiudizi e in grado di giustificare le decisioni prese dall'AI. La funzione di governance del modello fa in modo che c'è un human-in-the-loop. La revisione umana è particolarmente importante per carichi di lavoro sensibili e ad alto impatto (spesso rivolti agli utenti). Carichi di lavoro come Ciò può includere la valutazione del rischio di credito, la classificazione dei candidati a un lavoro, l'approvazione polizze assicurative e la diffusione di informazioni sui social media.

Linee guida

  • Avere un matrice di assegnazione della responsabilità per ogni modello in base all'attività. La matrice dovrebbe considerare team interfunzionali (linee di business, data engineering, data science, ML engineering, conformità e così via) all'interno dell'intera gerarchia dell'organizzazione.
  • Mantenere la documentazione e il reporting del modello nel registro dei modelli, collegati alla versione di un modello, ad esempio utilizzando schede dei modelli. Questi metadati includono informazioni sui dati utilizzati per addestrare del modello, sulle prestazioni del modello e su eventuali limitazioni note.
  • Implementa un processo di revisione per il modello prima di approvarlo il deployment in produzione. In questo tipo di processo, mantieni versioni elenco di controllo del modello, documentazione supplementare ed eventuali informazioni che gli stakeholder potrebbero richiedere.
  • Valutare il modello sulla base di set di dati di benchmark (noti anche come golden (set di dati)), che coprono sia i casi standard che i casi limite. Inoltre, convalidare il modello rispetto agli indicatori di equità per contribuire a rilevare pregiudizi impliciti.
  • Spiegare agli utenti del modello il comportamento predittivo del modello nel suo complesso e su specifiche istanze di input di esempio. Queste informazioni sono utili di aver compreso le funzionalità importanti e i possibili comportamenti indesiderati un modello di machine learning.
  • Analizzare il comportamento predittivo del modello utilizzando strumenti di analisi ipotetici per comprendere l'importanza delle diverse caratteristiche dei dati. Questa analisi può ti aiutano anche a visualizzare il comportamento del modello in più modelli e sottoinsiemi dei dati di input.
  • Testa il modello rispetto attacchi antagonistici per fare in modo che il modello sia resistente allo sfruttamento in produzione.
  • Monitora gli avvisi sul rendimento predittivo dei modelli in produzione, sulle variazioni del set di dati e sulla deviazione. Configura gli avvisi per il modello di notifica le parti interessate.
  • Gestisci la sperimentazione, il lancio e il rollback online dei modelli.

Passaggi successivi

Collaboratori

Autore: Mike Styer | Generative AI Solution Architect

Altro collaboratore: Amanda Brinhosa | Customer Engineer