Migliora la governance dei tuoi modelli di machine learning con Amazon SageMaker PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Migliora la governance dei tuoi modelli di machine learning con Amazon SageMaker

Poiché le aziende stanno adottando sempre più il machine learning (ML) per le loro applicazioni aziendali tradizionali, una parte maggiore delle loro decisioni aziendali è influenzata dai modelli ML. Di conseguenza, avere un controllo degli accessi semplificato e una maggiore trasparenza in tutti i tuoi modelli ML rende più facile verificare che i tuoi modelli stiano funzionando bene e agire quando non lo sono.

In questo post, esploriamo come le aziende possono migliorare la visibilità dei loro modelli con dashboard centralizzati e una documentazione dettagliata dei loro modelli utilizzando due nuove funzionalità: SageMaker Model Cards e SageMaker Model Dashboard. Entrambe queste funzionalità sono disponibili senza costi aggiuntivi per i clienti SageMaker.

Panoramica del modello di governance

La governance del modello è un framework che offre visibilità sistematica sullo sviluppo, la convalida e l'utilizzo del modello. La governance del modello è applicabile a tutto il flusso di lavoro ML end-to-end, a partire dall'identificazione del caso d'uso ML fino al monitoraggio continuo di un modello distribuito tramite avvisi, report e dashboard. Un framework di governance del modello ben implementato dovrebbe ridurre al minimo il numero di interfacce necessarie per visualizzare, tracciare e gestire le attività del ciclo di vita per semplificare il monitoraggio del ciclo di vita ML su larga scala.

Oggi, le organizzazioni investono competenze tecniche significative nella creazione di strumenti per automatizzare gran parte del loro flusso di lavoro di governance e verificabilità. Ad esempio, i costruttori di modelli devono registrare in modo proattivo le specifiche del modello come l'uso previsto per un modello, la valutazione del rischio e i criteri di prestazione rispetto ai quali un modello dovrebbe essere misurato. Inoltre, devono anche registrare le osservazioni sul comportamento del modello e documentare il motivo per cui hanno preso determinate decisioni chiave come la funzione obiettivo rispetto alla quale hanno ottimizzato il modello.

È comune per le aziende utilizzare strumenti come Excel o e-mail per acquisire e condividere tali informazioni sul modello da utilizzare nelle approvazioni per l'utilizzo in produzione. Ma con l'aumentare della portata dello sviluppo ML, le informazioni possono essere facilmente perse o smarrite e tenere traccia di questi dettagli diventa rapidamente impossibile. Inoltre, dopo che questi modelli sono stati distribuiti, puoi unire i dati provenienti da varie fonti per ottenere visibilità end-to-end su tutti i tuoi modelli, endpoint, cronologia di monitoraggio e derivazione. Senza tale visualizzazione, puoi facilmente perdere traccia dei tuoi modelli e potresti non essere consapevole di quando è necessario agire su di essi. Questo problema è intensificato nei settori altamente regolamentati perché sei soggetto a normative che richiedono di mantenere tali misure in atto.

Man mano che il volume dei modelli inizia a crescere, la gestione degli strumenti personalizzati può diventare una sfida e offre alle organizzazioni meno tempo per concentrarsi sulle esigenze aziendali fondamentali. Nelle sezioni seguenti, esploreremo in che modo le schede modello SageMaker e il dashboard modello SageMaker possono aiutarti a scalare le tue attività di governance.

Schede modello SageMaker

Le schede modello consentono di standardizzare il modo in cui i modelli vengono documentati, ottenendo così visibilità nel ciclo di vita di un modello, dalla progettazione, costruzione, formazione e valutazione. Le schede modello sono destinate a essere un'unica fonte di verità per i metadati aziendali e tecnici sul modello che possono essere utilizzati in modo affidabile per scopi di controllo e documentazione. Forniscono una scheda informativa del modello che è importante per la governance del modello.

Le schede modello consentono agli utenti di creare e archiviare decisioni come il motivo per cui è stata scelta una funzione obiettivo per l'ottimizzazione e dettagli come l'utilizzo previsto e la valutazione del rischio. È inoltre possibile allegare e rivedere i risultati della valutazione e annotare le osservazioni per riferimento futuro.

Per i modelli addestrati su SageMaker, le schede modello possono rilevare e compilare automaticamente dettagli come il lavoro di addestramento, i set di dati di addestramento, gli artefatti del modello e l'ambiente di inferenza, accelerando così il processo di creazione delle schede. Con SageMaker Python SDK, puoi aggiornare senza problemi la scheda del modello con le metriche di valutazione.

Le schede modello forniscono ai gestori del rischio modello, ai data scientist e agli ingegneri ML la possibilità di eseguire le seguenti attività:

  • Documentare i requisiti del modello come la valutazione del rischio, l'uso previsto, le limitazioni e le prestazioni previste
  • Compila automaticamente le schede modello per i modelli addestrati da SageMaker
  • Porta le tue informazioni (BYOI) per i modelli non SageMaker
  • Carica e condividi i risultati della valutazione del modello e dei dati
  • Definisci e acquisisci informazioni personalizzate
  • Cattura lo stato della carta del modello (bozza, in attesa di revisione o approvato per la produzione)
  • Accedi all'hub della scheda Modello dal Console di gestione AWS
  • Crea, modifica, visualizza, esporta, clona ed elimina le schede modello
  • Attiva i flussi di lavoro utilizzando Amazon EventBridge integrazione per gli eventi di modifica dello stato della scheda del modello

Crea schede modello SageMaker utilizzando la console

Puoi facilmente creare schede modello utilizzando la console SageMaker. Qui puoi vedere tutte le schede Modello esistenti e crearne di nuove se necessario.

Quando si crea una scheda modello, è possibile documentare le informazioni critiche del modello, ad esempio chi ha creato il modello, perché è stato sviluppato, come si sta comportando per le valutazioni indipendenti e qualsiasi osservazione che deve essere considerata prima di utilizzare il modello per un'applicazione aziendale.

Per creare una scheda modello sulla console, completare i seguenti passaggi:

  1. Inserisci i dettagli della panoramica del modello.
  2. Inserisci i dettagli di addestramento (popolati automaticamente se il modello è stato addestrato su SageMaker).
  3. Carica i risultati della valutazione.
  4. Aggiungi ulteriori dettagli come raccomandazioni e considerazioni etiche.

Dopo aver creato la scheda Modello, puoi scegliere una versione per visualizzarla.

Migliora la governance dei tuoi modelli di machine learning con Amazon SageMaker PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Lo screenshot seguente mostra i dettagli della nostra scheda Modello.

Migliora la governance dei tuoi modelli di machine learning con Amazon SageMaker PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Puoi anche esportare la scheda del modello da condividere come PDF.

Migliora la governance dei tuoi modelli di machine learning con Amazon SageMaker PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Crea ed esplora SageMaker Model Cards tramite SageMaker Python SDK

L'interazione con le schede Modello non è limitata alla console. Puoi anche utilizzare SageMaker Python SDK per creare ed esplorare le schede modello. SageMaker Python SDK consente a data scientist e ingegneri ML di interagire facilmente con i componenti SageMaker. I seguenti frammenti di codice illustrano il processo per creare una scheda modello utilizzando la funzionalità SageMaker Python SDK appena aggiunta.

Assicurati di avere installato l'ultima versione di SageMaker Python SDK:

$ pip install --upgrade "sagemaker>=2"

Dopo aver addestrato e distribuito un modello utilizzando SageMaker, puoi utilizzare le informazioni del modello SageMaker e il processo di addestramento per inserire automaticamente le informazioni nella scheda Modello.

Utilizzando SageMaker Python SDK e passando il nome del modello SageMaker, possiamo raccogliere automaticamente le informazioni di base sul modello. Informazioni come l'ARN del modello SageMaker, l'ambiente di formazione e l'output del modello Servizio di archiviazione semplice Amazon (Amazon S3) la posizione viene popolata automaticamente. Possiamo aggiungere altri fatti del modello, come la descrizione, il tipo di problema, il tipo di algoritmo, il creatore del modello e il proprietario. Vedere il seguente codice:

model_overview = ModelOverview.from_name(
    model_name=model_name,
    sagemaker_session=sagemaker_session,
    model_description="This is a simple binary classification model used for Model Card demo",
    problem_type="Binary Classification",
    algorithm_type="Logistic Regression",
    model_creator="DEMO-ModelCard",
    model_owner="DEMO-ModelCard",
)
print(model_overview.model_id) # Provides us with the SageMaker Model ARN
print(model_overview.inference_environment.container_image) # Provides us with the SageMaker inference container URI
print(model_overview.model_artifact) # Provides us with the S3 location of the model artifacts

Possiamo anche raccogliere automaticamente informazioni di formazione di base come l'ARN del lavoro di formazione, l'ambiente di formazione e le metriche di formazione. È possibile aggiungere ulteriori dettagli sull'allenamento, come la funzione dell'obiettivo dell'allenamento e le osservazioni. Vedere il seguente codice:

objective_function = ObjectiveFunction(
    function=Function(
        function=ObjectiveFunctionEnum.MINIMIZE,
        facet=FacetEnum.LOSS,
    ),
    notes="This is a example objective function.",
)
training_details = TrainingDetails.from_model_overview(
    model_overview=model_overview,
    sagemaker_session=sagemaker_session,
    objective_function=objective_function,
    training_observations="Additional training observations could be put here."
)

print(training_details.training_job_details.training_arn) # Provides us with the SageMaker Model ARN
print(training_details.training_job_details.training_environment.container_image) # Provides us with the SageMaker training container URI
print([{"name": i.name, "value": i.value} for i in training_details.training_job_details.training_metrics]) # Provides us with the SageMaker Training Job metrics

Se disponiamo di metriche di valutazione disponibili, possiamo aggiungerle anche alla scheda Modello:

my_metric_group = MetricGroup(
    name="binary classification metrics",
    metric_data=[Metric(name="accuracy", type=MetricTypeEnum.NUMBER, value=0.5)]
)
evaluation_details = [
    EvaluationJob(
        name="Example evaluation job",
        evaluation_observation="Evaluation observations.",
        datasets=["s3://path/to/evaluation/data"],
        metric_groups=[my_metric_group],
    )
]

Possiamo anche aggiungere ulteriori informazioni sul modello che possono aiutare con la governance del modello:

intended_uses = IntendedUses(
    purpose_of_model="Test Model Card.",
    intended_uses="Not used except this test.",
    factors_affecting_model_efficiency="No.",
    risk_rating=RiskRatingEnum.LOW,
    explanations_for_risk_rating="Just an example.",
)
additional_information = AdditionalInformation(
    ethical_considerations="You model ethical consideration.",
    caveats_and_recommendations="Your model's caveats and recommendations.",
    custom_details={"custom details1": "details value"},
)

Dopo aver fornito tutti i dettagli richiesti, possiamo creare la scheda Modello utilizzando la configurazione precedente:

model_card_name = "sample-notebook-model-card"
my_card = ModelCard(
    name=model_card_name,
    status=ModelCardStatusEnum.DRAFT,
    model_overview=model_overview,
    training_details=training_details,
    intended_uses=intended_uses,
    evaluation_details=evaluation_details,
    additional_information=additional_information,
    sagemaker_session=sagemaker_session,
)
my_card.create()

SageMaker SDK offre anche la possibilità di aggiornare, caricare, elencare, esportare ed eliminare una scheda modello.

Per saperne di più sulle schede Modello, fare riferimento al guida per sviluppatori e seguire questo notebook di esempio per iniziare.

Pannello di controllo del modello SageMaker

Il dashboard Modello è un archivio centralizzato di tutti i modelli che sono stati creati nell'account. I modelli vengono generalmente creati mediante addestramento su SageMaker oppure puoi portare i tuoi modelli addestrati altrove per l'hosting su SageMaker.

Il dashboard del modello fornisce un'unica interfaccia per gli amministratori IT, i responsabili del rischio di modello o i leader aziendali per visualizzare tutti i modelli distribuiti e le loro prestazioni. Puoi visualizzare i tuoi endpoint, i processi di trasformazione in batch e i processi di monitoraggio per ottenere informazioni dettagliate sulle prestazioni del modello. Le organizzazioni possono approfondire per identificare quali modelli hanno monitor mancanti o inattivi e aggiungerli utilizzando le API SageMaker per garantire che tutti i modelli vengano controllati per la deriva dei dati, la deriva del modello, la deriva del bias e la deriva dell'attribuzione delle caratteristiche.

Lo screenshot seguente mostra un esempio del dashboard Modello.

Migliora la governance dei tuoi modelli di machine learning con Amazon SageMaker PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Il dashboard Modello fornisce una panoramica di tutti i tuoi modelli, qual è la loro valutazione del rischio e come questi modelli si comportano in produzione. Lo fa estraendo informazioni da SageMaker. Le informazioni sul monitoraggio delle prestazioni vengono acquisite tramite Monitor modello Amazon SageMakere puoi anche visualizzare le informazioni sui modelli richiamati per le previsioni in batch tramite i processi di trasformazione in batch di SageMaker. Vengono acquisite informazioni sulla derivazione come il modo in cui il modello è stato addestrato, i dati utilizzati e altro ancora e vengono estratte anche le informazioni dalle schede Modello.

Model Monitor monitora la qualità dei modelli SageMaker utilizzati in produzione per l'inferenza batch o gli endpoint in tempo reale. Puoi configurare il monitoraggio continuo o pianificato tramite le API di SageMaker e modificare le impostazioni degli avvisi tramite la dashboard del modello. Puoi impostare avvisi che ti avvisano quando ci sono deviazioni nella qualità del modello. Il rilevamento tempestivo e proattivo di queste deviazioni consente di intraprendere azioni correttive, come il riaddestramento dei modelli, il controllo dei sistemi a monte o la risoluzione dei problemi di qualità senza dover monitorare manualmente i modelli o creare strumenti aggiuntivi. La dashboard del modello offre una rapida panoramica di quali modelli vengono monitorati e del loro rendimento. Per ulteriori informazioni su Model Monitor, visitare Monitorare i modelli per la qualità dei dati, la distorsione e la spiegabilità del modello.

Quando scegli un modello nella dashboard Modello, puoi ottenere informazioni più approfondite sul modello, come la scheda Modello (se esistente), la derivazione del modello, i dettagli sull'endpoint in cui è stato distribuito il modello e il programma di monitoraggio per il modello.

Migliora la governance dei tuoi modelli di machine learning con Amazon SageMaker PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Questa vista ti consente di creare una scheda modello, se necessario. La pianificazione del monitoraggio può essere attivata, disattivata o modificata anche tramite il dashboard del modello.

Per i modelli che non dispongono di una pianificazione del monitoraggio, puoi configurarlo abilitando Model Monitor per l'endpoint in cui è stato distribuito il modello. Attraverso i dettagli e lo stato dell'avviso, riceverai una notifica dei modelli che mostrano la deviazione dei dati, la deviazione del modello, la deviazione del bias o la deviazione delle caratteristiche, a seconda dei monitor impostati.

Diamo un'occhiata a un flusso di lavoro di esempio su come impostare il monitoraggio del modello. Le fasi fondamentali di questo processo sono:

  1. Acquisisci i dati inviati all'endpoint (o al processo di trasformazione batch).
  2. Stabilire una linea di base (per ciascuno dei tipi di monitoraggio).
  3. Crea una pianificazione Model Monitor per confrontare le previsioni in tempo reale rispetto alla linea di base per segnalare violazioni e attivare avvisi.

In base agli avvisi, puoi intraprendere azioni come ripristinare l'endpoint a una versione precedente o ripetere il training del modello con nuovi dati. Durante questa operazione, potrebbe essere necessario tracciare il modo in cui il modello è stato addestrato, cosa che può essere eseguita visualizzando il lignaggio del modello.

Migliora la governance dei tuoi modelli di machine learning con Amazon SageMaker PlatoBlockchain Data Intelligence. Ricerca verticale. Ai. Migliora la governance dei tuoi modelli di machine learning con Amazon SageMaker PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Il dashboard del modello offre un ricco set di informazioni riguardanti l'intero ecosistema del modello in un account, oltre alla possibilità di approfondire i dettagli specifici di un modello. Per ulteriori informazioni sulla dashboard del modello, fare riferimento a guida per sviluppatori.

Conclusione

La governance del modello è complessa e spesso comporta molte esigenze personalizzate specifiche di un'organizzazione o di un settore. Ciò potrebbe essere basato sui requisiti normativi che la tua organizzazione deve rispettare, sui tipi di persone presenti nell'organizzazione e sui tipi di modelli utilizzati. Non esiste un approccio unico alla governance ed è importante disporre degli strumenti giusti per mettere in atto un solido processo di governance.

Con gli strumenti di governance ML appositamente creati in SageMaker, le organizzazioni possono implementare i meccanismi giusti per migliorare il controllo e la visibilità sui progetti ML per i loro casi d'uso specifici. Prova le schede Modello e la dashboard Modello e lascia i tuoi commenti con domande e feedback. Per ulteriori informazioni sulle schede modello e sul pannello di controllo modello, fare riferimento a guida per sviluppatori.


Circa gli autori

Migliora la governance dei tuoi modelli di machine learning con Amazon SageMaker PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Kirit Tadaka è un ML Solutions Architect che lavora nel team SageMaker Service SA. Prima di entrare in AWS, Kirit ha lavorato in start-up di intelligenza artificiale, seguite da un po' di consulenza in vari ruoli nella ricerca sull'IA, MLOps e leadership tecnica.

Migliora la governance dei tuoi modelli di machine learning con Amazon SageMaker PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Marc Karp è un ML Architect del team SageMaker Service. Si concentra sull'aiutare i clienti a progettare, distribuire e gestire i carichi di lavoro ML su larga scala. Nel tempo libero ama viaggiare ed esplorare posti nuovi.

Migliora la governance dei tuoi modelli di machine learning con Amazon SageMaker PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Raghu Ramesha è un ML Solutions Architect con il team di Amazon SageMaker Service. Si concentra sull'aiutare i clienti a creare, distribuire e migrare i carichi di lavoro di produzione ML su SageMaker su larga scala. È specializzato in domini di apprendimento automatico, intelligenza artificiale e visione artificiale e ha conseguito un master in informatica presso UT Dallas. Nel tempo libero ama viaggiare e la fotografia.

Migliora la governance dei tuoi modelli di machine learning con Amazon SageMaker PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Ram Vital è un ML Specialist Solutions Architect presso AWS. Ha oltre 20 anni di esperienza nell'architettura e nella costruzione di applicazioni distribuite, ibride e cloud. È appassionato di creazione di soluzioni AI/ML e Big Data sicure e scalabili per aiutare i clienti aziendali con il loro percorso di adozione e ottimizzazione del cloud per migliorare i loro risultati aziendali. Nel tempo libero ama il tennis, la fotografia e i film d'azione.

Migliora la governance dei tuoi modelli di machine learning con Amazon SageMaker PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Sail Saini è un architetto di soluzioni ISV presso Amazon Web Services. Lavora con i team di progettazione e prodotto dei clienti strategici di AWS per aiutarli con soluzioni tecnologiche utilizzando i servizi AWS per AI/ML, container, HPC e IoT. Ha aiutato a creare piattaforme AI/ML per i clienti aziendali.

Timestamp:

Di più da Apprendimento automatico di AWS