Conceitos do kit de ferramentas de cartão modelo

Cartão Modelo

Os Cartões de Modelo são documentos de aprendizado de máquina que fornecem contexto e transparência ao desenvolvimento e desempenho de um modelo. Eles podem ser usados ​​para compartilhar metadados e métricas de modelos com pesquisadores, desenvolvedores, repórteres e muito mais.

Alguns casos de uso de cartões modelo incluem:

  • Facilitando a troca de informações entre construtores de modelos e desenvolvedores de produtos.
  • Informar os usuários de modelos de ML para tomar decisões mais bem informadas sobre como usá-los (ou não usá-los).
  • Fornecer informações modelo necessárias para uma supervisão e responsabilização públicas eficazes.

Esquema

O esquema do cartão modelo é um proto que descreve os campos disponíveis de um cartão modelo. Uma interface JSON também está disponível. Esses objetos podem ter interface com outros sistemas para armazenamento, análise ou visualização.

Hoje, o esquema do Model Card é estritamente aplicado. No Model Card Toolkit 2.0, essa restrição de esquema será suspensa.

Gráficos

O Model Card Toolkit gera automaticamente gráficos para conjuntos de dados TFX e resultados de avaliação. Os gráficos também podem ser criados manualmente usando uma ferramenta como Matplotlib e gravados em um ModelCard - consulte API Model Card para obter detalhes.

No esquema Model Card, os gráficos são armazenados no campo Graphic.image e são codificados como strings codificadas em base64 . O Model Card Toolkit pode ajudar na geração de imagens base64 .

Kit de ferramentas de cartão modelo

O Model Card Toolkit permite gerar documentos Model Card , bem como objetos Proto e JSON , com uma interface Python simplificada.

API de cartão modelo

O Model Card Toolkit inclui uma API Model Card que consiste em uma classe Python . As atualizações feitas em um objeto Model Card Python são gravadas em um objeto proto Model Card.

Gráficos

A função model_card_toolkit.utils.graphics.figure_to_base64str() pode ser usada para converter gráficos, como figuras Matplotlib, em strings base64.

Salvando e Carregando Cartões de Modelo

Se você terminou de anotar seu cartão modelo e gostaria de serializá-lo no formato JSON ou protobuf, use o método 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 desejar restaurar e atualizar um cartão modelo salvo, use a função 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'))

Documentos de cartão modelo

Por padrão, o documento do cartão modelo gerado é um arquivo HTML baseado em default_template.html.jinja . No entanto, você também pode fornecer seu próprio modelo Jinja personalizado. Esses arquivos de modelo podem ser de qualquer formato baseado em texto (HTML, Markdown, LaTeX, etc.). Um modelo Markdown é fornecido como exemplo.

Integração TFX e MLMD

O Model Card Toolkit se integra às ferramentas TensorFlow Extended e ML Metadata . Um armazenamento de metadados pode ser usado durante a inicialização do Model Card Toolkit para preencher previamente muitos campos do cartão modelo e gerar gráficos de treinamento e avaliação.

Artefatos usados ​​pelo MCT:

Execuções usadas pelo MCT:

  • Trainer : usado para preencher o nome e a versão do modelo

O componente ModelCardGenerator foi movido para a biblioteca TFX Addons e não está mais empacotado no Model Card Toolkit da versão 2.0.0. Antes de poder usar o componente, você precisará instalar o pacote tfx-addons :

pip install tfx-addons[model_card_generator]

Consulte o guia ModelCardGenerator e execute o caderno de estudo de caso para saber mais sobre o componente.