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 è rigorosamente applicato. 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 tua 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 saperne di più sul componente.