モデルカードツールキットの概念

モデルカード

モデル カードは、モデルの開発とパフォーマンスに対するコンテキストと透明性を提供する機械学習ドキュメントです。これらを使用して、モデルのメタデータとメトリクスを研究者、開発者、レポーターなどと共有できます。

モデル カードの使用例には次のようなものがあります。

  • モデル構築者と製品開発者間の情報交換を促進します。
  • ML モデルの使用方法 (または使用しない方法) について、より適切な情報に基づいた意思決定ができ​​るよう、ML モデルのユーザーに通知します。
  • 効果的な国民の監視と説明責任に必要なモデル情報を提供します。

スキーマ

モデル カード スキーマは、モデル カードの使用可能なフィールドを記述するプロトタイプです。 JSON インターフェースも利用できます。これらのオブジェクトは、保存、分析、または視覚化のために他のシステムと接続できます。

現在、モデル カード スキーマは厳密に施行されています。 Model Card Toolkit 2.0 では、このスキーマの制限が解除されます。

グラフィックス

Model Card Toolkit は、TFX データセットと評価結果のグラフィックを自動的に生成します。 Matplotlib などのツールを使用してグラフィックスを手動で作成し、ModelCard に書き込むこともできます。詳細については、「Model Card API」を参照してください。

モデル カード スキーマでは、グラフィックスはGraphic.imageフィールドに保存され、 base64 でエンコードされた文字列としてエンコードされます。 Model Card Toolkit は、base64 イメージの生成に役立ちます。

モデルカードツールキット

Model Card Toolkit を使用すると、合理化された Python インターフェイスを使用して、 Model Card ドキュメントだけでなく、 Proto オブジェクトや JSON オブジェクトも生成できます。

モデルカードAPI

モデル カード ツールキットには、 Python クラスで構成されるモデル カード API が含まれています。 Model Card Python オブジェクトに対して行われた更新は、Model Card 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ツールと統合されています。メタデータ ストアは、モデル カード ツールキットの初期化中に使用して、多くのモデル カード フィールドを事前に設定し、トレーニングおよび評価プロットを生成できます。

MCT によって使用されるアーティファクト:

MCT によって使用される実行:

  • Trainer : モデル名とバージョンを入力するために使用されます

ModelCardGeneratorコンポーネントはTFX Addonsライブラリに移動され、バージョン 2.0.0 以降 Model Card Toolkit にはパッケージ化されなくなりました。コンポーネントを使用する前に、 tfx-addonsパッケージをインストールする必要があります。

pip install tfx-addons[model_card_generator]

このコンポーネントの詳細については、 ModelCardGenerator ガイドを参照し、ケース スタディ ノートブックを実行してください。