模型卡片 (Model Card)
模型卡片是机器学习文档,旨在为模型的开发和性能提供背景信息和透明度。它们可用于与研究人员、开发人员、记者等人共享模型元数据和指标。
模型卡片的部分使用场景包括:
- 促进模型构建者与产品开发人员之间的信息交流。
- 告知机器学习模型的使用者,以便他们就如何使用(或不使用)模型做出更明智的决定。
- 提供有效的公众监督和问责所需的模型信息。
Schema
模型卡片 schema 是一个 proto 文件,用于描述模型卡片中可用的字段。此外还提供了一个 JSON 接口。这些对象可以与其它系统对接,用于存储、分析或可视化。
目前,模型卡片 schema 是强制执行的。在 Model Card Toolkit 2.0 中,此 schema 限制将被取消。
图形学
Model Card Toolkit 可以自动为 TFX 数据集和评估结果生成图形。图形也可以使用 Matplotlib 等工具手动创建,并写入 ModelCard 中 —— 详情请参阅 Model Card API。
在模型卡片 schema 中,图形存储在 Graphic.image 字段中,并被编码为 base64 编码字符串。Model Card Toolkit 可以帮助生成 base64 图像。
模型卡片工具包 (Model Card Toolkit)
Model Card Toolkit 允许您通过精简的 Python 接口生成 模型卡片文档,以及 Proto 和 JSON 对象。
Model Card API
Model Card Toolkit 包含一个由 Python 类组成的 Model Card API。对模型卡片 Python 对象所做的更新会被写入模型卡片 proto 对象。
图形学
model_card_toolkit.utils.graphics.figure_to_base64str() 函数可用于将 Matplotlib 图形等图像转换为 base64 字符串。
保存和加载模型卡片
如果您已完成模型卡片的注释,并希望以 JSON 或 protobuf 格式序列化它,请使用 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')
如果您想恢复并更新已保存的模型卡片,请使用 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'))
模型卡片文档
默认情况下,生成的模型卡片文档是基于 default_template.html.jinja 的 HTML 文件。不过,您也可以提供自己的自定义 Jinja 模板。这些模板文件可以是任何基于文本的格式(HTML、Markdown、LaTeX 等)。我们提供了一个 Markdown 模板作为示例。
TFX 和 MLMD 集成
Model Card Toolkit 与 TensorFlow Extended 和 ML Metadata 工具集成。在初始化 Model Card Toolkit 时,可以使用元数据存储 (Metadata Store) 来预填充许多模型卡片字段,并生成训练和评估图表。
MCT 使用的 Artifacts(工件)
- Examples(示例) 和 ExampleStatistics(示例统计):用于绘制每个数据集的切片计数图(TFDV)。
- Model(模型) 和 ModelEvaluation(模型评估):用于绘制 TFMA 切片评估指标。
MCT 使用的 Executions(执行)
- Trainer(训练器):用于填充模型名称和版本。
ModelCardGenerator 组件已移至 TFX Addons 库,从 2.0.0 版本开始不再打包在 Model Card Toolkit 中。在使用该组件之前,您需要安装 tfx-addons 包。
pip install tfx-addons[model_card_generator]
请参阅 ModelCardGenerator 指南并运行案例研究笔记本,以了解有关该组件的更多信息。