Concetti del kit di strumenti per schede modello

Scheda modello

Le schede modello sono documenti di apprendimento automatico che forniscono contesto e trasparenza sullo sviluppo e sulle prestazioni di un modello. Possono essere utilizzati per condividere metadati e metriche del modello con ricercatori, sviluppatori, giornalisti e altro ancora.

Alcuni casi d'uso delle schede modello includono:

  • Facilitare lo scambio di informazioni tra costruttori di modelli e sviluppatori di prodotti.
  • Informare gli utenti dei modelli ML per prendere decisioni più informate su come usarli (o come non usarli).
  • Fornire informazioni modello necessarie per un efficace controllo e responsabilità pubblica.

Schema

Lo schema della scheda modello è un prototipo che descrive i campi disponibili di una scheda modello. È disponibile anche un'interfaccia JSON . Questi oggetti possono essere interfacciati con altri sistemi per l'archiviazione, l'analisi o la visualizzazione.

Oggi lo schema della Model Card viene applicato rigorosamente. In Model Card Toolkit 2.0, questa restrizione dello schema verrà eliminata.

Grafica

Model Card Toolkit genera automaticamente grafici per set di dati TFX e risultati di valutazione. La grafica può anche essere creata manualmente utilizzando uno strumento come Matplotlib e scritta su una ModelCard: vedere API Model Card per i dettagli.

Nello schema della scheda modello, la grafica viene archiviata nel campo Graphic.image e codificata come stringhe con codifica base64 . Il Model Card Toolkit può aiutare a generare immagini base64 .

Kit di strumenti per schede modello

Il Model Card Toolkit ti consente di generare documenti Model Card , nonché oggetti Proto e JSON , con un'interfaccia Python semplificata.

API della scheda modello

Il Model Card Toolkit include un'API Model Card composta da una classe Python . Gli aggiornamenti apportati a un oggetto Python Model Card vengono scritti in un oggetto proto Model Card.

Grafica

La funzione model_card_toolkit.utils.graphics.figure_to_base64str() può essere utilizzata per convertire elementi grafici, ad esempio figure Matplotlib, in stringhe base64.

Salvataggio e caricamento delle schede modello

Se hai finito di annotare la scheda modello e desideri serializzarla in formato JSON o protobuf, utilizza il metodo ModelCard.save() .


import model_card_toolkit as mct

model_card = mct.ModelCard()
model_card.model_details.name = 'Fine-tuned MobileNetV2 Model for Cats vs. Dogs'
model_card.save('model_cards/cats_vs_dogs.json')

Se desideri ripristinare e aggiornare una scheda modello salvata, utilizza la funzione model_card_toolkit.model_card.load_model_card() .


import model_card_toolkit as mct

model_card = mct.load_model_card('model_cards/cats_vs_dogs.json')
model_card.model_details.licenses.append(mct.License(identifier='Apache-2.0'))

Documenti della scheda modello

Per impostazione predefinita, il documento della scheda modello generato è un file HTML basato su default_template.html.jinja . Tuttavia, puoi anche fornire il tuo modello Jinja personalizzato. Questi file di modelli possono essere qualsiasi formato basato su testo (HTML, Markdown, LaTeX, ecc.). Come esempio viene fornito un modello Markdown .

Integrazione TFX e MLMD

Il Model Card Toolkit si integra con gli strumenti TensorFlow Extended e ML Metadata . È possibile utilizzare un archivio metadati durante l'inizializzazione del Model Card Toolkit per precompilare molti campi della scheda modello e generare grafici di addestramento e valutazione.

Artefatti utilizzati da MCT:

Esecuzioni utilizzate da MCT:

  • Trainer : utilizzato per popolare il nome e la versione del modello

Il componente ModelCardGenerator è stato spostato nella libreria TFX Addons e non è più incluso nel Model Card Toolkit dalla versione 2.0.0. Prima di poter utilizzare il componente, dovrai installare il pacchetto tfx-addons :

pip install tfx-addons[model_card_generator]

Consulta la guida ModelCardGenerator ed esegui il notebook del case study per ulteriori informazioni sul componente.