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:
- Exemplos e Estatísticas de Exemplo : usados para traçar gráficos de contagem de fatias para cada conjunto de dados ( TFDV ).
- Model e ModelEvaluation : usados para traçar métricas de avaliação fatiadas do TFMA .
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.